@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-1{left:.25rem}.right-1{right:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-full{width:100%}.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.break-all{word-break:break-all}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-3{padding:.75rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-\[0\.8rem\]{font-size:.8rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-muted-foreground{color:hsl(var(--muted-foreground))}.opacity-50{opacity:.5}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:opacity-100:hover{opacity:1}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--bg-card-hover: #263449;--bg-input: #0f172a;--bg-navbar: rgba(15, 23, 42, .85);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--accent: #3b82f6;--accent-light: #60a5fa;--accent-dark: #2563eb;--accent-glow: rgba(59, 130, 246, .15);--success: #22c55e;--success-dark: #16a34a;--danger: #ef4444;--danger-dark: #dc2626;--warning: #f59e0b;--warning-dark: #d97706;--border: rgba(148, 163, 184, .12);--border-focus: rgba(59, 130, 246, .5);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}.light-mode{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-input: #ffffff;--bg-navbar: rgba(248, 250, 252, .9);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--accent: #2563eb;--accent-light: #3b82f6;--accent-dark: #1d4ed8;--accent-glow: rgba(37, 99, 235, .08);--border: rgba(71, 85, 105, .15);--border-focus: rgba(37, 99, 235, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(37, 99, 235, .08)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0;display:flex;flex-flow:column;font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#spinner{position:fixed;width:100%;height:100%;background-color:var(--bg-primary);z-index:2147483647;display:flex;justify-content:center;align-items:center}#spinner .spinner-border{width:3rem;height:3rem;border-color:var(--accent);border-right-color:transparent}.navbar{background:var(--bg-navbar)!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border);padding:.6rem 1.5rem;z-index:1000;transition:background var(--transition-normal)}.navbar-brand{font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--text-primary)!important;display:flex;align-items:center;gap:.5rem}.navbar-brand:before{content:"";display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent)}.navbar-nav .nav-link{color:var(--text-secondary)!important;font-weight:500;font-size:.875rem;padding:.5rem 1rem!important;border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative}.navbar-nav .nav-link:hover{color:var(--text-primary)!important;background:#ffffff0d}.navbar-nav .nav-link.active{color:var(--accent-light)!important;background:var(--accent-glow)}.navbar-nav .nav-link.active:after{content:"";position:absolute;bottom:-.6rem;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--accent);border-radius:1px}#navbarNav>a{margin-left:auto;margin-right:0;color:var(--text-muted)!important;font-size:.875rem}#navbarNav>a:hover{color:var(--danger)!important}h1{text-align:center;font-weight:700;font-size:1.5rem;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:1.5rem}h1 span{color:var(--accent-light)}h3{font-weight:600;font-size:1.1rem;color:var(--text-primary)}h5{font-weight:600;color:var(--text-primary)}p{color:var(--text-secondary);line-height:1.6}main{flex-grow:1;background:var(--bg-primary)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{background:#ffffff08;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}.card-body{padding:1.5rem}.btn{font-family:var(--font-family);font-weight:500;font-size:.875rem;padding:.5rem 1.25rem;border-radius:var(--radius-sm);border:none;transition:all var(--transition-fast);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:focus{box-shadow:0 0 0 3px var(--border-focus)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-light),var(--accent));box-shadow:0 4px 16px #3b82f666;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--text-muted)}.btn-danger{background:linear-gradient(135deg,var(--danger),var(--danger-dark));color:#fff;box-shadow:0 2px 8px #ef444440}.btn-danger:hover{box-shadow:0 4px 16px #ef444466;transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,var(--warning),var(--warning-dark));color:var(--text-inverse);box-shadow:0 2px 8px #f59e0b40}.btn-warning:hover{box-shadow:0 4px 16px #f59e0b66;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--success),var(--success-dark));color:#fff;box-shadow:0 2px 8px #22c55e40}.btn-success:hover{box-shadow:0 4px 16px #22c55e66;transform:translateY(-1px)}.btn-outline-primary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline-primary:hover{background:var(--accent-glow);color:var(--accent-light)}.btn-outline-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-outline-danger:hover{background:#ef44441a;color:#f87171}.btn-outline-light{background:transparent;color:var(--accent-light)!important;border:1px solid var(--accent)}.btn-outline-light:hover{background:var(--accent-glow)}.btn-light{background:#ffffff0f;color:var(--text-secondary);border:1px solid var(--border)}.btn-light:hover{background:#ffffff1a;color:var(--text-primary)}.btn-sm{padding:.3rem .75rem;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-control{font-family:var(--font-family);background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:.55rem .85rem;font-size:.875rem;transition:all var(--transition-fast)}.form-control:focus{background:var(--bg-input);border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-control::-moz-placeholder{color:var(--text-muted)}.form-control::placeholder{color:var(--text-muted)}.form-control:-moz-read-only{background:var(--bg-tertiary);opacity:.6}.form-control:read-only{background:var(--bg-tertiary);opacity:.6}select.form-control{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}label,.col-form-label{color:var(--text-secondary);font-weight:500;font-size:.875rem}.form-group{margin-bottom:1rem}.custom-control-label{color:var(--text-secondary);font-size:.875rem}.custom-control-input:checked~.custom-control-label:before{background-color:var(--accent);border-color:var(--accent)}.card-radio{display:inline-flex;margin-right:15px}.card-radio:last-child{margin-right:0}.card-radio-input{position:absolute;opacity:0}.card-radio-label{cursor:pointer;font-weight:500;font-size:.875rem;color:var(--text-secondary);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.5rem 1.25rem;line-height:1.5;transition:all var(--transition-fast);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.card-radio-label:hover{border-color:var(--text-muted);color:var(--text-primary)}.card-radio-input:checked+.card-radio-label{border-color:var(--accent)!important;color:var(--accent-light)!important;background:var(--accent-glow);box-shadow:var(--shadow-glow)!important}.table{color:var(--text-primary);border-collapse:separate;border-spacing:0}.table thead th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:.85rem 1rem}.table tbody td{border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.875rem;vertical-align:middle}.table-hover tbody tr{transition:background var(--transition-fast)}.table-hover tbody tr:hover{background:#ffffff08}.sorting,.sorting-asc,.sorting-desc{padding-right:30px!important;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sorting:before,.sorting:after,.sorting-asc:before,.sorting-asc:after,.sorting-desc:before,.sorting-desc:after{right:.75em;font-family:"Font Awesome 5 free";font-weight:900;font-size:.75rem;position:absolute;bottom:.9em;display:block;opacity:.25}.sorting:before,.sorting-asc:before,.sorting-desc:before{content:""}.sorting:after,.sorting-asc:after,.sorting-desc:after{content:""}.sorting-asc:before,.sorting-desc:after{opacity:1;color:var(--accent)}.modal-backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid var(--border);padding:1.25rem 1.5rem}.modal-header .modal-title{font-weight:600;color:var(--text-primary);font-size:1.1rem}.modal-header .close{color:var(--text-muted);text-shadow:none;opacity:.7;font-size:1.5rem}.modal-header .close:hover{color:var(--text-primary);opacity:1}.modal-body{padding:1.5rem}.modal-body p{color:var(--text-secondary)}.modal .modal-body .form-group{margin-right:0}.modal-footer{border-top:1px solid var(--border);padding:1rem 1.5rem;gap:.5rem}.breadcrumb{background:transparent;padding:0;margin-bottom:1rem;font-size:.875rem}.breadcrumb-item{color:var(--text-muted);font-weight:500}.breadcrumb-item a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb-item a:hover{color:var(--accent-light)}.breadcrumb-item.active{color:var(--text-primary)}.breadcrumb-item+.breadcrumb-item:before{color:var(--text-muted);content:"›"}.alert{border-radius:var(--radius-sm);font-size:.875rem;border:none}.alert-danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.toast{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary)}.toast-header{background:#ffffff08;border-bottom:1px solid var(--border);color:var(--text-primary)}.toast-header strong{color:var(--text-primary)}.toast-header .close{color:var(--text-muted);text-shadow:none}.toast-body{color:var(--text-secondary);font-size:.875rem}.popover{background:var(--bg-secondary)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;padding:8px!important}.popover[x-placement=bottom] [x-arrow]{top:-10px;border-bottom:10px solid var(--bg-secondary);border-right:10px solid transparent;border-left:10px solid transparent}.popover[x-placement=top] [x-arrow]{bottom:-10px;border-top:10px solid var(--bg-secondary);border-right:10px solid transparent;border-left:10px solid transparent}.popover[x-placement=right] [x-arrow]{left:-10px;border-right:10px solid var(--bg-secondary);border-top:10px solid transparent;border-bottom:10px solid transparent}.popover[x-placement=left] [x-arrow]{right:-10px;border-left:10px solid var(--bg-secondary);border-top:10px solid transparent;border-bottom:10px solid transparent}.page-link{background:var(--bg-secondary);border-color:var(--border);color:var(--accent);font-size:.875rem;padding:.5rem 1rem;transition:all var(--transition-fast)}.page-link:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light)}.page-item.active .page-link{background:var(--accent);border-color:var(--accent)}.fc{font-family:var(--font-family)!important}.fc-view-container{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden}.fc-toolbar h2{font-size:1.1rem!important;font-weight:600!important;color:var(--text-primary)!important}.fc-button{background:var(--bg-tertiary)!important;border-color:var(--border)!important;color:var(--text-secondary)!important;font-family:var(--font-family)!important;font-weight:500!important;font-size:.85rem!important;border-radius:var(--radius-sm)!important;padding:.35rem .85rem!important;transition:all var(--transition-fast)!important}.fc-button:hover{background:var(--bg-card-hover)!important;color:var(--text-primary)!important}.fc-button-active,.fc-button.fc-button-active{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.fc-head-container{border-color:var(--border)!important}.fc th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:.6rem 0!important;border-color:var(--border)!important}.fc td{border-color:var(--border)!important}.fc-time-grid .fc-slats td{border-color:#94a3b80f!important}.fc-axis{color:var(--text-muted)!important;font-size:.75rem!important}.fc-event{border-radius:var(--radius-sm)!important;border:none!important;font-size:.8rem!important;padding:2px 6px!important;box-shadow:var(--shadow-sm)!important}.fc-now-indicator{border-color:var(--danger)!important}.fc-today{background:#3b82f60d!important}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:var(--border)!important}.shadow{box-shadow:var(--shadow-md)!important}.text-primary{color:var(--accent)!important}.info{color:var(--text-muted);font-size:.85rem;margin-top:-15px}.info .fa-info-circle{color:var(--accent)!important;margin-right:4px}.badge-accent{background:var(--accent-glow);color:var(--accent-light);font-weight:500;font-size:.75rem;padding:.25rem .6rem;border-radius:20px}.date-picker-control{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-bottom:1rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.date-picker-control input[type=date]{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:.4rem .75rem;font-family:var(--font-family);font-size:.875rem}.date-picker-control input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.date-picker-control label{color:var(--text-secondary);font-weight:500;font-size:.85rem;margin:0;white-space:nowrap}.clipboard-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--accent-glow);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);margin-bottom:.75rem;font-size:.85rem;color:var(--accent-light);animation:slideDown .3s ease}.clipboard-bar .fas{color:var(--accent)}.clipboard-bar .btn{padding:.2rem .6rem;font-size:.8rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}nav .btn-outline-light{animation:pulse-glow 2s infinite;font-size:.8rem;padding:.3rem .8rem;margin-left:1rem}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f64d}50%{box-shadow:0 0 15px #3b82f680}}.calendar-allowed{background-color:#3b82f61a!important;color:#3b82f6!important;font-weight:500!important}.calendar-allowed:hover{background-color:#3b82f633!important}.calendar-blocked{background-color:#ef44441a!important;color:#ef4444!important;font-weight:500!important}.calendar-blocked:hover{background-color:#ef444433!important}.light-mode .btn-light{color:#2c3e50;border-color:#bdc3c7;background-color:#fff}.light-mode .btn-light:hover{color:#2c3e50;background-color:#ecf0f1;border-color:#bdc3c7}.light-mode .table-hover tbody tr:hover{background-color:#f5f5f5!important}.light-mode .tree-icon{color:#7f8c8d}.light-mode .tree-node-header:hover{background-color:#ecf0f1}.light-mode .tree-node-header.active{background-color:#e0f7fa;color:#00796b}.light-mode #spinner{background-color:#fffc}.MuiInputBase-input,.MuiInputLabel-root,.MuiFormControlLabel-label{color:var(--text-primary)!important}.MuiOutlinedInput-notchedOutline{border-color:var(--border)!important}.MuiInputBase-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--border-focus)!important}.MuiSvgIcon-root{color:var(--text-secondary)}.MuiCheckbox-root{color:var(--text-secondary)!important}.MuiCheckbox-root.Mui-checked{color:var(--accent)!important}.calendar-selected,.calendar-selected:focus-within{background-color:var(--accent)!important;color:#fff!important;font-weight:500!important;border-radius:var(--radius-sm);opacity:1!important}.calendar-selected:hover{background-color:var(--accent-dark)!important}.calendar-today{border:2px solid var(--text-muted)!important;font-weight:700!important;border-radius:var(--radius-sm)}.calendar-today.calendar-selected{border:2px solid #ffffff!important}body.action-locked{cursor:default!important}body.action-locked button:not(.allow-during-lock),body.action-locked a:not(.allow-during-lock),body.action-locked input:not(.allow-during-lock),body.action-locked select:not(.allow-during-lock),body.action-locked [role=menuitem]:not(.allow-during-lock),body.action-locked .MuiMenuItem-root:not(.allow-during-lock){cursor:not-allowed!important}body.action-locked button:not(.allow-during-lock) *,body.action-locked a:not(.allow-during-lock) *,body.action-locked [role=menuitem]:not(.allow-during-lock) *,body.action-locked .MuiMenuItem-root:not(.allow-during-lock) *{cursor:not-allowed!important}body.action-locked .allow-during-lock,body.action-locked .allow-during-lock *{cursor:pointer!important}.login-page{display:flex;min-height:100vh;background:var(--bg-primary);--text-primary: #ffffff;--text-secondary: #ffffff;--text-muted: #ffffff}body.light-mode .login-page{--text-primary: #000000;--text-secondary: #000000;--text-muted: #000000}.theme-toggle-btn{position:absolute;top:1.5rem;right:1.5rem;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease;box-shadow:0 2px 5px #0000000d}.theme-toggle-btn:hover{color:var(--text-primary);border-color:var(--text-muted);transform:scale(1.05)}.login-branding{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-right:1px solid var(--border);padding:3rem}.branding-content{max-width:400px;text-align:center}.branding-icon-img{max-width:250px;height:auto;margin:0 auto 2rem;display:block}body:not(.light-mode) .branding-icon-img{filter:brightness(0) invert(1)}.branding-content>p{font-size:1rem;color:var(--text-muted);line-height:1.5;margin:0 0 2rem}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.login-form-container{width:100%;max-width:380px;margin-bottom:8vh}.login-header{margin-bottom:2rem}.login-header h1{font-size:2.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;margin:0;text-align:center}.login-header p{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.5}.form-field{margin-bottom:1.25rem}.form-field label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.4rem;letter-spacing:-.01em}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;font-size:.8rem;color:var(--text-muted);pointer-events:none;z-index:1;transition:color .2s ease}.input-wrapper:focus-within .input-icon{color:var(--accent)}.input-wrapper input{width:100%;height:40px;padding:0 .75rem 0 2.25rem;font-family:inherit;font-size:.875rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:4px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input-wrapper input::-moz-placeholder{color:var(--text-muted)}.input-wrapper input::placeholder{color:var(--text-muted)}.input-wrapper input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.input-action{position:absolute;right:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;font-size:.85rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:color .15s ease,background .15s ease}.input-action:hover{color:var(--text-primary);background:#94a3b81a}.btn-login{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:4px;cursor:pointer;margin-top:.5rem;transition:background .15s ease}.btn-login:hover{background:var(--accent-dark)}.btn-login:active{transform:translateY(1px)}.btn-login:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-login-icon{font-size:.75rem;transition:transform .2s ease}.btn-login:hover .btn-login-icon{transform:translate(2px)}.alert-error{display:none;margin-top:1rem;padding:.65rem .85rem;font-size:.8125rem;color:var(--danger-dark);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:4px;line-height:1.5;animation:shakeIn .3s ease}@keyframes shakeIn{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.login-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.login-footer p{font-size:.75rem;color:var(--text-muted);margin:0;text-align:center}@media (max-width: 900px){.login-page{flex-direction:column}.login-branding{display:none}.login-form-panel{min-height:100vh;padding:1.5rem}}@media (max-width: 480px){.login-form-container{max-width:100%}.login-header h1{font-size:1.3rem}}
