@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--primary-subtle: #eff6ff;--primary-gradient: linear-gradient(135deg, #1e40af 0%, #7c3aed 100%);--accent: #8b5cf6;--accent-light: #ede9fe;--danger: #ef4444;--danger-hover: #dc2626;--danger-light: #fef2f2;--warning: #f59e0b;--warning-hover: #d97706;--warning-light: #fffbeb;--success: #10b981;--success-hover: #059669;--success-light: #ecfdf5;--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-200: #e4e4e7;--gray-300: #d4d4d8;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--white: #ffffff;--body-bg: #f4f4f5;--card-border: #e4e4e7;--nav-bg: #18181b;--nav-text: #d4d4d8;--nav-text-active: #ffffff;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 2px 6px rgba(0, 0, 0, .04);--shadow: 0 4px 12px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .1), 0 4px 16px rgba(0, 0, 0, .05);--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .12s ease;--transition: .2s cubic-bezier(.25, .46, .45, .94);--transition-slow: .35s cubic-bezier(.25, .46, .45, .94);--spring: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--primary: #60a5fa;--primary-hover: #3b82f6;--primary-light: rgba(59, 130, 246, .15);--primary-subtle: rgba(59, 130, 246, .08);--primary-gradient: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--accent: #a78bfa;--accent-light: rgba(139, 92, 246, .12);--danger: #f87171;--danger-hover: #ef4444;--danger-light: rgba(239, 68, 68, .12);--warning: #fbbf24;--warning-hover: #f59e0b;--warning-light: rgba(245, 158, 11, .12);--success: #34d399;--success-hover: #10b981;--success-light: rgba(16, 185, 129, .12);--gray-50: #09090b;--gray-100: #18181b;--gray-200: #27272a;--gray-300: #3f3f46;--gray-400: #a1a1aa;--gray-500: #d4d4d8;--gray-600: #e4e4e7;--gray-700: #e4e4e7;--gray-800: #f4f4f5;--gray-900: #fafafa;--white: #18181b;--body-bg: #09090b;--card-border: #27272a;--nav-bg: #09090b;--nav-text: #a1a1aa;--nav-text-active: #ffffff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .25);--shadow: 0 4px 12px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .45), 0 4px 16px rgba(0, 0, 0, .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--body-bg);color:var(--gray-800);line-height:1.6;font-size:.9375rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover);text-decoration:none}::selection{background:var(--primary-light);color:var(--primary-hover)}[data-theme=dark] ::selection{background:#3b82f64d;color:#dbeafe}.loading{display:flex;align-items:center;justify-content:center;min-height:320px;font-size:.9375rem;color:var(--gray-400);letter-spacing:.02em;gap:.75rem}.loading:after{content:"";width:22px;height:22px;border:2.5px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.navbar{height:64px;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .2s ease;background:#fffffff0;border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px -2px #0000000d,0 2px 6px -1px #00000005}[data-theme=dark] .navbar{background:#18181cf5;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 6px 24px -2px #0009,inset 0 1px #ffffff14}.navbar-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between}.navbar-left{display:flex;align-items:center;gap:1.75rem}.navbar-brand-link{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--gray-900);transition:transform .15s ease}.navbar-brand-link:hover{transform:translateY(-1px)}.navbar-logo{height:32px;width:32px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08))}.brand-text-wrap{display:flex;align-items:baseline;gap:.25rem;letter-spacing:-.03em}.brand-name{font-size:1.08rem;font-weight:800;color:var(--gray-900)}[data-theme=dark] .brand-name{color:#fff}.brand-product{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--gray-500)}[data-theme=dark] .brand-product{color:#a1a1aa}.navbar-links{display:flex;align-items:center;gap:.2rem;background:var(--gray-100);border:1px solid var(--card-border);padding:3px 4px;border-radius:10px;box-shadow:inset 0 1px 2px #0000000a}[data-theme=dark] .navbar-links{background:#18181c;border-color:#ffffff24;box-shadow:inset 0 1px 2px #00000080}.navbar-links a,.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.825rem;font-weight:600;color:var(--gray-600);text-decoration:none;padding:.38rem .75rem;border-radius:7px;transition:all .15s cubic-bezier(.25,.46,.45,.94);background:transparent;border:1px solid transparent;cursor:pointer;white-space:nowrap}.navbar-links a:hover,.nav-dropdown-toggle:hover{color:var(--gray-900);background:#ffffffb3}[data-theme=dark] .navbar-links a,[data-theme=dark] .nav-dropdown-toggle{color:#d4d4d8}[data-theme=dark] .navbar-links a:hover,[data-theme=dark] .nav-dropdown-toggle:hover{color:#fff;background:#ffffff1a;border-color:#ffffff14}.navbar-links a.active-link,.nav-dropdown-toggle.active-link{color:#111!important;background:#fff!important;font-weight:700;box-shadow:0 1px 4px #00000014,0 1px 1px #0000000a}[data-theme=dark] .navbar-links a.active-link,[data-theme=dark] .nav-dropdown-toggle.active-link{color:#fff!important;background:#32323a!important;border-color:#ffffff2e!important;box-shadow:0 2px 6px #0006,inset 0 1px #ffffff2e!important}.nav-dropdown{position:relative;display:inline-flex;align-items:center}.dropdown-chevron{transition:transform .2s ease}.dropdown-chevron.rotated{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:185px;background:var(--white);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 10px 30px -4px #0000001f,0 4px 12px -2px #00000014;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;z-index:200;animation:navDropdownFade .15s ease-out}[data-theme=dark] .nav-dropdown-menu{background:#1e1e23;border-color:#ffffff29;box-shadow:0 12px 36px #000000b3}@keyframes navDropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-menu a{display:flex;align-items:center;gap:.55rem;padding:.5rem .8rem;font-size:.8125rem;font-weight:500;color:var(--gray-700);border-radius:7px;transition:all .15s ease;text-decoration:none;width:100%}.nav-dropdown-menu a:hover{background:var(--gray-100);color:var(--gray-900)}[data-theme=dark] .nav-dropdown-menu a{color:#e4e4e7}[data-theme=dark] .nav-dropdown-menu a:hover{background:#ffffff1f;color:#fff}.nav-dropdown-menu a.active-link{background:var(--primary-light);color:var(--primary);font-weight:600}.navbar-right{display:flex;align-items:center;gap:.75rem}.nav-actions-group{display:flex;align-items:center;gap:.4rem}.nav-tool-btn{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:1px solid var(--card-border);box-shadow:0 1px 2px #0000000a;color:var(--gray-700);cursor:pointer;transition:all .15s cubic-bezier(.25,.46,.45,.94);position:relative;text-decoration:none;padding:0}.nav-tool-btn:hover{background:#fff;color:var(--gray-900);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.nav-tool-btn:active{transform:translateY(0);box-shadow:inset 0 1px 2px #0000000f}[data-theme=dark] .nav-tool-btn{background:#232329;border:1px solid rgba(255,255,255,.16);color:#f4f4f5;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff14}[data-theme=dark] .nav-tool-btn:hover{background:#32323a;border-color:#ffffff59;color:#fff;box-shadow:0 4px 12px #00000080;transform:translateY(-1px)}.nav-tool-btn.active{background:#fff;color:var(--gray-900);border-color:var(--gray-400);box-shadow:0 1px 4px #00000014}[data-theme=dark] .nav-tool-btn.active{background:#32323a;color:#fff;border-color:#ffffff59;box-shadow:0 1px 4px #0006,inset 0 1px #ffffff26}.nav-lang-toggle{font-size:.78rem;font-weight:700;letter-spacing:.05em;font-family:inherit}[data-theme=dark] .nav-lang-toggle{color:#fff}.nav-tool-badge{position:absolute;top:4px;right:4px;width:7px;height:7px;background:#ef4444;border-radius:50%;box-shadow:0 0 0 2px var(--white)}[data-theme=dark] .nav-tool-badge{box-shadow:0 0 0 2px #232329}.nav-vertical-divider{width:1px;height:22px;background:var(--card-border);margin:0 .25rem}[data-theme=dark] .nav-vertical-divider{background:#ffffff29}.nav-user-cluster{display:flex;align-items:center;gap:.5rem}.nav-role-tag{font-size:.6875rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-700);background:var(--gray-100);padding:.35rem .7rem;border-radius:8px;border:1px solid var(--card-border);box-shadow:0 1px 2px #0000000a}[data-theme=dark] .nav-role-tag{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff1a}.nav-logout-action{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.8125rem;font-weight:600;color:var(--gray-700);background:var(--white);border:1px solid var(--card-border);border-radius:8px;box-shadow:0 1px 2px #0000000d;cursor:pointer;transition:all .15s cubic-bezier(.25,.46,.45,.94)}.nav-logout-action:hover{background:#fff1f2;color:#e11d48;border-color:#fecdd3;transform:translateY(-1px);box-shadow:0 3px 8px #e11d481f}.nav-logout-action:active{transform:translateY(0)}[data-theme=dark] .nav-logout-action{background:#232329;color:#f4f4f5;border:1px solid rgba(255,255,255,.16);box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff14}[data-theme=dark] .nav-logout-action:hover{background:#ef44442e;color:#fca5a5;border-color:#ef444473;box-shadow:0 3px 8px #00000080;transform:translateY(-1px)}.mobile-only-section,.mobile-only-nav{display:none}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{max-width:1200px;margin:0 auto;padding:2rem;flex:1;width:100%}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;background:linear-gradient(135deg,#1e3a5f,#0f172a 40%,#1e1b4b,#0f172a);overflow:hidden}.login-container:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(37,99,235,.15) 0%,transparent 70%);top:-10%;right:-5%;border-radius:50%;pointer-events:none}.login-container:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.12) 0%,transparent 70%);bottom:-10%;left:-5%;border-radius:50%;pointer-events:none}[data-theme=dark] .login-container{background:linear-gradient(135deg,#09090b,#18181b 40%,#1e1b4b,#09090b)}.login-theme-toggle{position:absolute;top:1.5rem;right:1.5rem;z-index:10;width:42px;height:42px;font-size:1.25rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 12px #0003;color:#fffc}.login-theme-toggle:hover{background:#ffffff1f;border-color:#ffffff40;transform:rotate(15deg)}[data-theme=dark] .login-theme-toggle{background:#ffffff0f;border-color:#ffffff1a}[data-theme=dark] .login-theme-toggle:hover{background:#fbbf241f;border-color:#fbbf2440}.login-card{background:#fffffff7;border:none;border-radius:var(--radius-xl);padding:2.75rem 2.5rem 2.25rem;width:100%;max-width:420px;box-shadow:0 8px 40px #0000001f,0 0 0 1px #0000000a;position:relative;z-index:1;animation:cardFloat .5s var(--spring)}@keyframes cardFloat{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .login-card{background:#18181bf2;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 40px #0006,0 0 0 1px #ffffff0a}.login-logo{text-align:center;margin-bottom:2rem}.login-logo img{max-width:260px;height:auto}.logo-dark,[data-theme=dark] .logo-light{display:none}[data-theme=dark] .logo-dark{display:inline}.login-logo .logo-dark,[data-theme=dark] .login-logo .logo-light{display:none}[data-theme=dark] .login-logo .logo-dark{display:inline}.login-card .form-group input{padding:.6875rem 1rem;font-size:.9375rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);background:var(--white);color:var(--gray-800)}[data-theme=dark] .login-card .form-group input{background:#09090b80;border-color:var(--gray-300)}.login-card .form-group input::placeholder{color:var(--gray-400);font-size:.875rem}.login-card .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-input-wrapper input{width:100%;padding-right:2.75rem!important}.password-toggle-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:.25rem;margin:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-400);transition:color var(--transition);border-radius:var(--radius-sm, 4px)}.password-toggle-btn:hover{color:var(--gray-700)}[data-theme=dark] .password-toggle-btn{color:var(--gray-400)}[data-theme=dark] .password-toggle-btn:hover{color:var(--gray-100)}.login-btn{background:var(--primary);border-color:var(--primary);color:#fff;padding:.625rem 1.75rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);width:auto;box-shadow:0 2px 8px #2563eb40}.login-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 16px #2563eb59;transform:translateY(-1px)}.login-card h1{font-size:1.375rem;font-weight:800;text-align:center;margin-bottom:.25rem;color:var(--gray-900);letter-spacing:-.03em}.login-card .subtitle{text-align:center;color:var(--gray-400);font-size:.875rem;margin-bottom:1.75rem}.login-help{margin-top:1.5rem;padding:.875rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.8125rem;color:var(--gray-500)}[data-theme=dark] .login-help{background:#09090b66;border-color:var(--gray-300)}.login-help p{margin-bottom:.2rem}.auth-link{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--gray-400)}.auth-link a{color:var(--primary);font-weight:600}.auth-link a:hover{text-decoration:underline}.pin-input-group{display:flex;justify-content:center;gap:.625rem;margin:1.75rem 0}.pin-input{width:3rem;height:3.5rem;text-align:center;font-size:1.5rem;font-weight:700;border:2px solid var(--gray-200);border-radius:var(--radius);outline:none;transition:all var(--transition);color:var(--gray-800);background:var(--gray-50)}.pin-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:var(--white)}.resend-section{margin-top:1.5rem;text-align:center;font-size:.8125rem;color:var(--gray-400)}.resend-section p{margin-bottom:.25rem}.btn-link{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;font-size:.8125rem;padding:0;transition:color var(--transition-fast)}.btn-link:hover{color:var(--primary-hover);text-decoration:underline}.btn-link:disabled{color:var(--gray-300);cursor:not-allowed}.verify-card .subtitle strong{color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1.125rem;font-size:.8125rem;font-weight:600;border:1.5px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);white-space:nowrap;line-height:1.5;letter-spacing:.01em;font-family:var(--font-sans)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary,button.btn-primary,a.btn-primary{background:#111;color:#fff!important;border:1px solid #111111;border-radius:9px;box-shadow:0 1px 3px #0000001a;font-weight:600;transition:all .18s cubic-bezier(.25,.46,.45,.94)}.btn-primary:hover:not(:disabled),button.btn-primary:hover:not(:disabled),a.btn-primary:hover:not(:disabled){background:#27272a!important;border-color:#27272a!important;color:#fff!important;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}[data-theme=dark] .btn-primary,[data-theme=dark] button.btn-primary,[data-theme=dark] a.btn-primary{background:#fafafa;color:#09090b!important;border-color:#fafafa;box-shadow:0 1px 4px #0006}[data-theme=dark] .btn-primary:hover:not(:disabled),[data-theme=dark] button.btn-primary:hover:not(:disabled),[data-theme=dark] a.btn-primary:hover:not(:disabled){background:#fff!important;border-color:#fff!important;color:#09090b!important;box-shadow:0 4px 14px #fff3}.btn-outline,button.btn-outline,a.btn-outline{background:var(--white);color:var(--gray-700);border:1px solid var(--card-border);border-radius:9px;box-shadow:var(--shadow-xs);font-weight:600}.btn-outline:hover:not(:disabled),button.btn-outline:hover:not(:disabled),a.btn-outline:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-400);box-shadow:var(--shadow-sm);transform:translateY(-1px)}[data-theme=dark] .btn-outline{background:#1e1e22;color:var(--gray-200);border-color:#ffffff24}[data-theme=dark] .btn-outline:hover:not(:disabled){background:#27272d;color:#fafafa;border-color:#ffffff40}.btn-danger,button.btn-danger,a.btn-danger{background:#ef444414;color:#dc2626!important;border:1px solid rgba(239,68,68,.22);border-radius:9px;font-weight:600;box-shadow:0 1px 2px #ef44440a}.btn-danger:hover:not(:disabled),button.btn-danger:hover:not(:disabled),a.btn-danger:hover:not(:disabled){background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;box-shadow:0 4px 12px #dc262640;transform:translateY(-1px)}[data-theme=dark] .btn-danger{background:#ef444424;color:#fca5a5!important;border-color:#ef444459}[data-theme=dark] .btn-danger:hover:not(:disabled){background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}.btn-warning{background:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.25);border-radius:9px;font-weight:600}.btn-warning:hover:not(:disabled){background:#f59e0b;color:#fff;border-color:#f59e0b;transform:translateY(-1px)}.btn-sm{padding:.32rem .75rem;font-size:.775rem;border-radius:7px}.btn-full{width:100%;padding:.625rem 1rem}.th-checkbox,.td-checkbox{width:42px;text-align:center;padding:.5rem!important}.th-checkbox input[type=checkbox],.td-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--gray-300);border-radius:6px;background:var(--white);cursor:pointer;position:relative;transition:all var(--transition);vertical-align:middle}.th-checkbox input[type=checkbox]:hover,.td-checkbox input[type=checkbox]:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.th-checkbox input[type=checkbox]:checked,.td-checkbox input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary);box-shadow:0 1px 4px #2563eb4d}.th-checkbox input[type=checkbox]:checked:after,.td-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);animation:checkPop .15s ease-out}@keyframes checkPop{0%{transform:rotate(45deg) scale(0)}to{transform:rotate(45deg) scale(1)}}.row-selected{background:var(--primary-subtle)!important}[data-theme=dark] .row-selected{background:#3b82f61a!important}.bulk-delete-btn{animation:fadeSlide .2s var(--spring)}@keyframes fadeSlide{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFade .15s ease}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--white);border-radius:var(--radius-xl);padding:2.25rem 2rem 1.75rem;max-width:400px;width:90%;box-shadow:0 24px 64px #0003,0 0 0 1px #0000000a;text-align:center;animation:modalBounce .3s var(--spring)}@keyframes modalBounce{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .confirm-modal{background:#1e1e21;border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 64px #0009}.confirm-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.confirm-icon-danger{background:#ef44441a;color:var(--danger)}.confirm-icon-warning{background:#f59e0b1a;color:var(--warning)}.confirm-title{font-size:1.0625rem;font-weight:700;color:var(--gray-900);margin:0 0 .5rem;letter-spacing:-.01em}.confirm-message{font-size:.875rem;color:var(--gray-500);margin:0 0 1.5rem;line-height:1.5}.confirm-actions{display:flex;gap:.625rem;justify-content:center}.confirm-actions .btn{min-width:100px;padding:.5rem 1.125rem;font-size:.8125rem;font-weight:600}.confirm-cancel-btn{background:var(--gray-100)!important;border-color:var(--gray-300)!important;color:var(--gray-700)!important}.confirm-cancel-btn:hover{background:var(--gray-200)!important}[data-theme=dark] .confirm-cancel-btn{background:var(--gray-200)!important;border-color:var(--gray-300)!important;color:var(--gray-500)!important}[data-theme=dark] .confirm-cancel-btn:hover{background:var(--gray-300)!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:overlayFade .2s ease}.modal-card,.modal-content{background:var(--white);border-radius:var(--radius-xl);padding:2rem;max-width:580px;width:100%;box-shadow:0 24px 64px #00000038,0 0 0 1px #0000000a;animation:modalBounce .3s var(--spring);max-height:90vh;overflow-y:auto}[data-theme=dark] .modal-card,[data-theme=dark] .modal-content{background:#18181b;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 64px #000000bf}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.875rem;border-bottom:1px solid var(--card-border)}.modal-header h2,.modal-header h3{margin:0;font-size:1.2rem;font-weight:700;color:var(--gray-900);letter-spacing:-.01em}.modal-close,.modal-close-btn{background:transparent;border:none;font-size:1.25rem;cursor:pointer;color:var(--gray-400);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);transition:all var(--transition);padding:0;line-height:1}.modal-close:hover,.modal-close-btn:hover{background:var(--gray-100);color:var(--gray-700)}[data-theme=dark] .modal-close:hover,[data-theme=dark] .modal-close-btn:hover{background:var(--gray-200);color:#fafafa}.modal-body{margin-bottom:1.25rem}.modal-body .text-muted{font-size:.875rem;color:var(--gray-600);margin-bottom:1.25rem;line-height:1.5}[data-theme=dark] .modal-body .text-muted{color:var(--gray-400)}.student-form-grid,.locker-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.student-form-full,.locker-form-full{grid-column:1 / -1}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--card-border)}.form-group{margin-bottom:1.15rem;flex:1}.form-group label{display:block;font-weight:600;font-size:.8125rem;color:var(--gray-700);margin-bottom:.4rem;letter-spacing:.01em}[data-theme=dark] .form-group label{color:var(--gray-300)}.form-control,.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1.5px solid var(--gray-300);border-radius:var(--radius);font-size:.875rem;font-family:var(--font-sans);transition:all var(--transition);background:var(--white);color:var(--gray-900);line-height:1.5;outline:none}.form-group textarea,textarea.form-control{min-height:85px;resize:vertical}.form-control:hover,.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--gray-400)}.form-control:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-control::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}[data-theme=dark] .form-control,[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:#27272a;border-color:#3f3f46;color:#fafafa}[data-theme=dark] .form-control:hover,[data-theme=dark] .form-group input:hover,[data-theme=dark] .form-group select:hover,[data-theme=dark] .form-group textarea:hover{border-color:#52525b}[data-theme=dark] .form-control:focus,[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--primary);background:#18181b;box-shadow:0 0 0 3px #60a5fa33}[data-theme=dark] .form-control::placeholder,[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .form-group textarea::placeholder{color:#71717a}.form-row{display:flex;gap:1rem}.form-actions{display:flex;gap:.625rem;margin-top:.75rem}.form-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);animation:slideDown .3s var(--spring)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-card h3{margin-bottom:1rem;color:var(--gray-800);font-size:1rem;font-weight:700;padding-bottom:.75rem;border-bottom:1px solid var(--gray-100);letter-spacing:-.01em}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1.25rem;font-size:.8125rem;font-weight:500;border:1px solid transparent;display:flex;align-items:center;gap:.5rem;animation:slideDown .25s ease-out}.alert-error{background:var(--danger-light);color:var(--danger-hover);border-color:#fecaca}.alert-error:before{content:"✕";font-weight:800;font-size:.75rem;width:18px;height:18px;background:var(--danger);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-success{background:var(--success-light);color:var(--success-hover);border-color:#a7f3d0}.alert-success:before{content:"✓";font-weight:800;font-size:.75rem;width:18px;height:18px;background:var(--success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}[data-theme=dark] .alert-error{border-color:#ef444433}[data-theme=dark] .alert-success{border-color:#10b98133}.dashboard h1{margin-bottom:.25rem;font-weight:800;font-size:1.75rem;color:var(--gray-900);letter-spacing:-.03em}.dash-hero{background:linear-gradient(135deg,#1e1b4b,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:2.25rem 2.75rem;margin-bottom:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden;box-shadow:0 12px 36px #00000040}.dash-hero:before{content:"";position:absolute;top:-40%;right:-5%;width:320px;height:320px;background:radial-gradient(circle,#6366f147,#6366f100 70%);border-radius:50%;pointer-events:none}.dash-hero:after{content:"";position:absolute;bottom:-60%;left:20%;width:280px;height:280px;background:radial-gradient(circle,#8b5cf633,#8b5cf600 70%);border-radius:50%;pointer-events:none}.dash-hero-content h1{color:#fff;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.4rem}.dash-hero-subtitle{color:#94a3b8;font-size:.9375rem;font-weight:400;max-width:540px;line-height:1.5}.dash-hero-stats{display:flex;align-items:center;gap:1rem;flex-shrink:0}.dash-hero-stat{background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:.85rem 1.35rem;text-align:center;min-width:100px;transition:transform .2s ease,background .2s ease}.dash-hero-stat:hover{transform:translateY(-2px);background:#ffffff1a}.dash-hero-stat-value{display:block;font-size:1.85rem;font-weight:800;background:linear-gradient(180deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;letter-spacing:-.03em}.dash-hero-stat-label{display:block;font-size:.6875rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-top:.35rem}.dash-hero-divider{display:none}.dash-top-row{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;margin-bottom:1.5rem}.dash-occupancy-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.125rem}.dash-ring-wrapper{position:relative;width:110px;height:110px}.dash-ring{width:100%;height:100%;transform:rotate(-90deg)}.dash-ring-bg{fill:none;stroke:var(--gray-100);stroke-width:10}.dash-ring-fill{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.25,.46,.45,.94)}.dash-ring-success{stroke:var(--success)}.dash-ring-warning{stroke:var(--warning)}.dash-ring-danger{stroke:var(--danger)}.dash-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.dash-ring-value{font-size:1.375rem;font-weight:800;color:var(--gray-900);line-height:1;letter-spacing:-.02em}.dash-ring-text{font-size:.625rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.dash-occupancy-legend{display:flex;gap:1rem}.dash-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--gray-500);font-weight:500}.dash-legend-dot{width:8px;height:8px;border-radius:50%}.dash-legend-used{background:var(--primary)}.dash-legend-free{background:var(--success)}.dash-stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.dash-stat-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:.875rem;box-shadow:var(--shadow-sm);transition:all var(--transition);text-decoration:none;position:relative;overflow:hidden}.dash-stat-blue:hover{box-shadow:0 6px 24px #3b82f62e,var(--shadow-sm)}.dash-stat-purple:hover{box-shadow:0 6px 24px #8b5cf62e,var(--shadow-sm)}.dash-stat-green:hover{box-shadow:0 6px 24px #10b9812e,var(--shadow-sm)}.dash-stat-cyan:hover{box-shadow:0 6px 24px #06b6d42e,var(--shadow-sm)}.dash-stat-card:hover{transform:translateY(-2px);text-decoration:none}.dash-stat-icon{width:42px;height:42px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-stat-blue .dash-stat-icon{background:#3b82f61a;color:#3b82f6}.dash-stat-purple .dash-stat-icon{background:#8b5cf61a;color:#8b5cf6}.dash-stat-green .dash-stat-icon{background:#10b9811a;color:#10b981}.dash-stat-cyan .dash-stat-icon{background:#06b6d41a;color:#06b6d4}[data-theme=dark] .dash-stat-blue .dash-stat-icon{background:#3b82f626;color:#60a5fa}[data-theme=dark] .dash-stat-purple .dash-stat-icon{background:#8b5cf626;color:#a78bfa}[data-theme=dark] .dash-stat-green .dash-stat-icon{background:#10b98126;color:#34d399}[data-theme=dark] .dash-stat-cyan .dash-stat-icon{background:#06b6d426;color:#22d3ee}.dash-stat-body{display:flex;flex-direction:column}.dash-stat-number{font-size:1.5rem;font-weight:800;color:var(--gray-900);line-height:1;letter-spacing:-.02em}.dash-stat-label{font-size:.75rem;font-weight:500;color:var(--gray-400);margin-top:.25rem}.dash-stat-arrow{margin-left:auto;color:var(--gray-300);font-size:1rem;transition:all var(--transition)}.dash-stat-card:hover .dash-stat-arrow{color:var(--primary);transform:translate(3px)}.dash-view-all{font-size:.8125rem;font-weight:600;color:var(--primary);text-decoration:none;padding:.25rem .625rem;border-radius:var(--radius);transition:all var(--transition)}.dash-view-all:hover{background:var(--primary-subtle);text-decoration:none}.dash-activity-list{padding:.25rem 0}.dash-activity-row{display:flex;align-items:center;gap:.875rem;padding:.625rem 1.5rem;transition:background var(--transition-fast);border-radius:0}.dash-activity-row:hover{background:var(--gray-50)}.dash-activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-active{background:var(--success);box-shadow:0 0 0 3px var(--success-light)}.dot-released{background:var(--gray-300)}.dash-activity-info{flex:1;min-width:0}.dash-activity-name{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-activity-meta{display:block;font-size:.6875rem;color:var(--gray-400);margin-top:.125rem}.dash-activity-meta strong{color:var(--gray-500);font-weight:600}.dash-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;color:var(--gray-400);font-size:.875rem;gap:.75rem}.dashboard-header{margin-bottom:1.75rem}.dashboard-subtitle{color:var(--gray-400);font-size:.875rem;margin-top:.25rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.dashboard-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-card-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem .875rem}.dashboard-card-header h2{font-size:.9375rem;font-weight:700;color:var(--gray-800);letter-spacing:-.01em}.dashboard-card-divider{height:1px;background:var(--card-border);margin:.5rem 1.5rem}.dashboard-table-wrapper{padding:0 .5rem 1rem}.dashboard-table{width:100%;border-collapse:collapse}.dashboard-table th,.dashboard-table td{padding:.5rem 1rem;text-align:left;font-size:.8125rem}.dashboard-table th{color:var(--gray-400);font-weight:600;text-transform:uppercase;font-size:.6875rem;letter-spacing:.05em;border-bottom:1px solid var(--card-border)}.dashboard-table td{color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.dashboard-table tr:last-child td{border-bottom:none}.text-muted{color:var(--gray-400)!important;font-size:.75rem!important}.floor-stats{padding:.5rem 1.5rem 1.25rem;display:flex;flex-direction:column;gap:.875rem}.floor-row{display:flex;align-items:center;gap:1rem}.floor-label{min-width:130px;flex-shrink:0}.floor-name{font-weight:600;font-size:.8125rem;color:var(--gray-800);display:block}.floor-detail{font-size:.6875rem;color:var(--gray-400)}.floor-bar-track{flex:1;height:6px;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden}.floor-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .6s ease;min-width:4px}.bar-warning{background:var(--warning)}.bar-danger{background:var(--danger)}.floor-pct{min-width:40px;text-align:right;font-size:.8125rem;font-weight:700;color:var(--gray-600)}.course-stats{display:flex;gap:.625rem;padding:.5rem 1.5rem 1.25rem;flex-wrap:wrap}.course-chip{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--gray-50);border:1px solid var(--card-border);border-radius:var(--radius);flex:1;min-width:110px}.course-number{font-size:1.25rem;font-weight:800;color:var(--primary);line-height:1}.course-label{font-size:.625rem;color:var(--gray-400);text-transform:uppercase;font-weight:700;letter-spacing:.04em}.course-count{margin-left:auto;font-size:.8125rem;font-weight:600;color:var(--gray-700)}.page h1{margin-bottom:.375rem;font-weight:800;font-size:1.5rem;color:var(--gray-900);letter-spacing:-.03em}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header-actions{display:flex;align-items:center;gap:.5rem}.section-title{margin-top:2rem;margin-bottom:1rem;color:var(--gray-700);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.search-bar{margin-bottom:1.25rem}.search-input{width:100%;max-width:340px;padding:.5rem 1rem;font-size:.8125rem;font-family:var(--font-sans);border:1.5px solid var(--gray-200);border-radius:var(--radius);background:var(--white);color:var(--gray-800);transition:all var(--transition);box-shadow:var(--shadow-xs)}.search-input::placeholder{color:var(--gray-400)}.search-input:hover{border-color:var(--gray-300)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.filter-bar{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input-wrap{flex:1 1 260px;min-width:220px}.filter-search-input,.filter-bar .search-input{width:100%;padding:.55rem 1rem;font-size:.835rem;font-family:var(--font-sans);border:1px solid var(--card-border);border-radius:10px;background:var(--white);color:var(--gray-900);outline:none;transition:all var(--transition);box-shadow:var(--shadow-xs)}.filter-search-input:focus,.filter-bar .search-input:focus{border-color:var(--gray-900);box-shadow:0 0 0 3px #0000000f}[data-theme=dark] .filter-search-input,[data-theme=dark] .filter-bar .search-input{background:#18181b;border-color:#27272a;color:#fafafa}[data-theme=dark] .filter-search-input:focus,[data-theme=dark] .filter-bar .search-input:focus{border-color:#fafafa;box-shadow:0 0 0 3px #ffffff1a}.filter-select{padding:.55rem 2rem .55rem .9rem;font-size:.82rem;font-family:var(--font-sans);font-weight:500;border:1px solid var(--card-border);border-radius:10px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2371717a' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E") no-repeat right .75rem center/10px;color:var(--gray-800);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-xs);-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-select:hover{border-color:var(--gray-400)}.filter-select:focus{outline:none;border-color:var(--gray-900);box-shadow:0 0 0 3px #0000000f}[data-theme=dark] .filter-select{background-color:#18181b;border-color:#27272a;color:#d4d4d8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a1a1aa' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E")}[data-theme=dark] .filter-select:hover{border-color:#3f3f46}[data-theme=dark] .filter-select:focus{border-color:#fafafa;box-shadow:0 0 0 3px #ffffff1a}.filter-clear-btn{background:transparent;border:1px solid var(--card-border);color:var(--gray-600);padding:.55rem .85rem;border-radius:10px;font-size:.8rem;cursor:pointer;transition:all var(--transition)}.filter-clear-btn:hover{background:var(--gray-100);color:var(--gray-900)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color var(--transition)}th.sortable:hover{color:var(--primary)}.import-errors{margin-top:.75rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);font-size:.8125rem;color:#991b1b;max-height:160px;overflow-y:auto}.import-errors ul{margin:.25rem 0 0 1rem;padding:0;list-style:disc}.import-errors li{margin-bottom:.125rem}.row-released{opacity:.55}.pagination-wrapper{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding:.5rem 0;gap:1rem;flex-wrap:wrap}.pagination-controls{display:flex;align-items:center;gap:.35rem}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 .5rem;font-size:.8125rem;font-weight:600;border-radius:8px;border:1px solid var(--card-border);background:var(--white);color:var(--gray-700);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-xs)}.pagination-btn:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-400)}.pagination-btn.active{background:#111;color:#fff;border-color:#111;box-shadow:0 1px 3px #00000026}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .pagination-btn{background:#1e1e22;border-color:#2a2a30;color:var(--gray-300)}[data-theme=dark] .pagination-btn.active{background:#fafafa;color:#09090b;border-color:#fafafa}.pagination-info{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--gray-500)}.page-size-select{padding:.35rem 1.75rem .35rem .65rem;font-size:.8125rem;font-weight:500;border-radius:8px;border:1px solid var(--card-border);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2371717a' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E") no-repeat right .5rem center/8px;color:var(--gray-700);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}[data-theme=dark] .page-size-select{background-color:#1e1e22;border-color:#2a2a30;color:var(--gray-300)}.table-container{background:var(--white);border:1px solid var(--card-border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-xs);transition:all var(--transition)}[data-theme=dark] .table-container{background:#141416;border-color:#242428;box-shadow:0 4px 20px #0006}.table-container::-webkit-scrollbar{height:6px}.table-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}table{width:100%;border-collapse:collapse}thead{background:#fafafa}[data-theme=dark] thead{background:#18181c}th{text-align:left;padding:.95rem 1.25rem;font-size:.6875rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--card-border)}[data-theme=dark] th{color:#a1a1aa;border-color:#242428}td{padding:.95rem 1.25rem;border-bottom:1px solid var(--card-border);font-size:.845rem;color:var(--gray-800);transition:background var(--transition-fast)}[data-theme=dark] td{border-color:#ffffff0f;color:#e4e4e7}tbody tr{transition:background .15s ease}tbody tr:hover{background:#00000004}[data-theme=dark] tbody tr:hover{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.row-released{opacity:.45}.row-released:hover{opacity:.7}td .btn+.btn{margin-left:.375rem}.empty{text-align:center;padding:3.5rem 2rem;color:var(--gray-400);font-size:.875rem}.badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--gray-100);color:var(--gray-700);padding:.2rem .55rem;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--card-border)}[data-theme=dark] .badge{background:#242428;color:#d4d4d8;border-color:#2e2e34}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:6px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status-active,.status-available{background:#10b98114;color:#059669;border:1px solid rgba(16,185,129,.22)}.status-active:before,.status-available:before{content:"";width:5px;height:5px;background:#10b981;border-radius:50%;display:inline-block}.status-full,.status-inactive{background:#ef444414;color:#dc2626;border:1px solid rgba(239,68,68,.22)}.status-full:before,.status-inactive:before{content:"";width:5px;height:5px;background:#ef4444;border-radius:50%;display:inline-block}.status-released{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--card-border)}[data-theme=dark] .status-active,[data-theme=dark] .status-available{background:#10b98124;color:#34d399;border-color:#10b9814d}[data-theme=dark] .status-full,[data-theme=dark] .status-inactive{background:#ef444424;color:#fca5a5;border-color:#ef44444d}[data-theme=dark] .status-released{background:#242428;color:#a1a1aa;border-color:#2e2e34}.badge-inclusive{display:inline-flex;align-items:center;gap:.3rem;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;border:1px solid var(--card-border);background:var(--gray-100);color:var(--gray-700)}.badge-inclusive-disability{background:#ef444412;color:#b91c1c;border-color:#ef444433}.badge-inclusive-orphan{background:#a855f712;color:#7e22ce;border-color:#a855f733}.badge-inclusive-vision{background:#3b82f612;color:#1d4ed8;border-color:#3b82f633}.badge-inclusive-hearing{background:#14b8a612;color:#0f766e;border-color:#14b8a633}.badge-inclusive-other{background:#eab30812;color:#a16207;border-color:#eab30833}[data-theme=dark] .badge-inclusive-disability{background:#ef444424;color:#fca5a5;border-color:#ef44444d}[data-theme=dark] .badge-inclusive-orphan{background:#a855f724;color:#d8b4fe;border-color:#a855f74d}[data-theme=dark] .badge-inclusive-vision{background:#3b82f624;color:#93c5fd;border-color:#3b82f64d}[data-theme=dark] .badge-inclusive-hearing{background:#14b8a624;color:#5eead4;border-color:#14b8a64d}[data-theme=dark] .badge-inclusive-other{background:#eab30824;color:#fde047;border-color:#eab3084d}.status-maintenance{background:#fef3c7;color:#92400e}.status-maintenance:before{content:"";width:6px;height:6px;background:#f59e0b;border-radius:50%;display:inline-block}[data-theme=dark] .status-maintenance{background:#451a0333;color:#fbbf24}.user-dashboard{max-width:900px}.ud-header{margin-bottom:1.75rem}.ud-greeting h1{font-size:1.5rem;font-weight:800;color:var(--gray-900);letter-spacing:-.03em;margin-bottom:.25rem}.ud-email{color:var(--gray-400);font-size:.875rem}.user-dashboard{max-width:1080px;margin:0 auto}.ud-profile-card{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--white);border:1px solid var(--card-border);border-radius:18px;padding:1.5rem 2rem;box-shadow:var(--shadow-xs);margin-bottom:2.25rem;flex-wrap:wrap}[data-theme=dark] .ud-profile-card{background:#141416;border-color:#242428}.ud-profile-left{display:flex;align-items:center;gap:1.25rem}.ud-profile-avatar{width:48px;height:48px;border-radius:50%;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;letter-spacing:.04em;flex-shrink:0;box-shadow:0 2px 8px #00000026}[data-theme=dark] .ud-profile-avatar{background:#fafafa;color:#09090b}.ud-student-name{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0 0 .35rem;letter-spacing:-.02em}[data-theme=dark] .ud-student-name{color:#fafafa}.ud-profile-tags{display:flex;gap:.4rem;flex-wrap:wrap}.ud-tag{padding:.2rem .6rem;border-radius:6px;font-size:.72rem;font-weight:600;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--card-border)}[data-theme=dark] .ud-tag{background:#242428;color:#d4d4d8;border-color:#2e2e34}.ud-profile-stats{display:flex;align-items:center;gap:1.25rem}.ud-stat-divider{width:1px;height:28px;background:var(--card-border)}.ud-mini-stat{text-align:center;min-width:65px}.ud-mini-stat-value{display:block;font-size:1.5rem;font-weight:800;color:var(--gray-900);line-height:1.1;letter-spacing:-.03em}[data-theme=dark] .ud-mini-stat-value{color:#fafafa}.ud-active-value{color:#10b981!important}.ud-mini-stat-label{font-size:.65rem;color:var(--gray-500);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem;display:block}.ud-active-section{margin-bottom:2.25rem}.ud-locker-detail-card{background:var(--white);border:1px solid var(--card-border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-xs);transition:all .2s ease}[data-theme=dark] .ud-locker-detail-card{background:#141416;border-color:#242428}.ud-locker-header-minimal{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--card-border);background:var(--white);gap:1.5rem;flex-wrap:wrap}[data-theme=dark] .ud-locker-header-minimal{background:#141416;border-color:#242428}.ud-locker-main-row{display:flex;align-items:center;gap:.875rem}.ud-locker-number{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:var(--gray-900);line-height:1.1}[data-theme=dark] .ud-locker-number{color:#fafafa}.btn-report-minimal{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.15rem;font-size:.8125rem;font-weight:600;color:var(--gray-700);background:transparent;border:1px solid var(--card-border);border-radius:10px;cursor:pointer;transition:all .2s ease}.btn-report-minimal:hover{background:var(--gray-100);color:var(--gray-900);border-color:var(--gray-400)}[data-theme=dark] .btn-report-minimal{color:var(--gray-300);border-color:#2e2e34}[data-theme=dark] .btn-report-minimal:hover{background:#242428;color:#fafafa;border-color:#3f3f46}.ud-locker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.ud-locker-field{padding:1.25rem 2rem;border-bottom:1px solid var(--card-border);border-right:1px solid var(--card-border);transition:background .15s ease}.ud-locker-field:hover{background:#00000004}[data-theme=dark] .ud-locker-field:hover{background:#ffffff05}.ud-locker-field:nth-child(3n){border-right:none}.ud-locker-field:nth-last-child(-n+3){border-bottom:none}.ud-field-label{display:block;font-size:.6875rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.ud-field-value{font-size:1.05rem;font-weight:700;color:var(--gray-900);letter-spacing:-.01em;text-transform:capitalize}[data-theme=dark] .ud-field-value{color:#fafafa}.ud-history-section{margin-bottom:2rem}.minimal-section-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--gray-900);margin:0 0 1rem}[data-theme=dark] .minimal-section-title{color:#fafafa}.ud-history-cards{display:flex;flex-direction:column;gap:.75rem}.ud-history-card{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.75rem;background:var(--white);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--shadow-xs);transition:all .2s ease;flex-wrap:wrap;gap:1rem}[data-theme=dark] .ud-history-card{background:#141416;border-color:#242428}.ud-history-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--gray-400)}[data-theme=dark] .ud-history-card:hover{border-color:#3f3f46}.ud-history-card-left{display:flex;flex-direction:column;gap:.25rem}.ud-history-locker{font-weight:800;font-size:.95rem;color:var(--gray-900);letter-spacing:-.01em}[data-theme=dark] .ud-history-locker{color:#fafafa}.ud-history-meta{font-size:.75rem;color:var(--gray-500)}.ud-history-card-right{display:flex;align-items:center;gap:1rem}.ud-history-dates{font-size:.8125rem;color:var(--gray-500)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--gray-200);animation:emptyStateReveal .55s var(--spring)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-locker-visual{position:relative;width:118px;height:138px;margin:0 auto 1.25rem;display:flex;align-items:flex-end;justify-content:center;perspective:700px;animation:emptyLockerFloat 4.8s ease-in-out infinite}.empty-locker-glow{position:absolute;top:20px;right:12px;bottom:0;left:12px;background:radial-gradient(circle at 50% 15%,rgba(96,165,250,.25),transparent 48%),radial-gradient(circle at 50% 78%,rgba(245,158,11,.18),transparent 55%);filter:blur(16px);opacity:.8;animation:emptyLockerGlow 3.8s ease-in-out infinite}.empty-locker-body{position:relative;width:74px;height:112px;border-radius:9px 9px 5px 5px;background:linear-gradient(110deg,rgba(255,255,255,.32) 0 12%,transparent 13% 100%),linear-gradient(145deg,#4b5563,#273244 44%,#111827);border:1px solid rgba(255,255,255,.18);box-shadow:inset 9px 0 18px #ffffff14,inset -12px 0 20px #00000047,0 18px 34px #0f172a38;transform:rotateX(2deg) rotateY(-9deg);overflow:hidden}.empty-locker-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 34%);opacity:.85}.empty-locker-body:after{content:"";position:absolute;top:0;right:13px;width:1px;height:100%;background:#ffffff29;box-shadow:-45px 0 #0003}.empty-locker-shine{position:absolute;top:-24px;left:-42px;width:28px;height:168px;background:#ffffff38;transform:rotate(18deg);filter:blur(2px);animation:emptyLockerShine 4.6s ease-in-out infinite}.empty-locker-vents{position:absolute;top:18px;left:14px;display:grid;gap:5px;z-index:1}.empty-locker-vents span{width:28px;height:3px;border-radius:999px;background:linear-gradient(90deg,#ffffff8c,#ffffff2e);box-shadow:0 1px 1px #0000002e}.empty-locker-handle{position:absolute;right:14px;top:52px;width:8px;height:26px;border-radius:999px;background:linear-gradient(180deg,#d1d5db,#64748b 52%,#334155);box-shadow:inset 1px 0 1px #ffffff80,0 2px 8px #00000040;z-index:2;animation:emptyLockerHandle 4.8s ease-in-out infinite}.empty-locker-nameplate{position:absolute;left:15px;bottom:24px;width:30px;height:12px;border-radius:3px;background:linear-gradient(180deg,#f8fafc,#cbd5e1);opacity:.78;box-shadow:inset 0 -1px #0f172a26;z-index:1}.empty-locker-base{position:absolute;left:9px;right:9px;bottom:7px;height:4px;border-radius:999px;background:#0f172a59;z-index:1}.empty-locker-shadow{position:absolute;bottom:0;width:92px;height:16px;border-radius:50%;background:#0f172a2e;filter:blur(5px);animation:emptyLockerShadow 4.8s ease-in-out infinite}@keyframes emptyStateReveal{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes emptyLockerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes emptyLockerGlow{0%,to{opacity:.58;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes emptyLockerShine{0%,42%{transform:translate(0) rotate(18deg);opacity:0}54%{opacity:.8}72%,to{transform:translate(132px) rotate(18deg);opacity:0}}@keyframes emptyLockerHandle{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes emptyLockerShadow{0%,to{opacity:.2;transform:scaleX(1)}50%{opacity:.12;transform:scaleX(.84)}}.empty-state h2{color:var(--gray-700);margin-bottom:.5rem;font-weight:700;font-size:1.125rem;letter-spacing:-.01em}.empty-state p{color:var(--gray-400);font-size:.875rem;max-width:300px;margin:0 auto;line-height:1.6}.my-locker-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;margin-bottom:2rem}.locker-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition)}.locker-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.locker-card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:var(--primary-gradient);color:#fff}.locker-number{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.locker-card-body{padding:1.125rem 1.25rem}.locker-card-body p{margin-bottom:.375rem;color:var(--gray-600);font-size:.8125rem;line-height:1.6}.locker-card-body p strong{color:var(--gray-700);font-weight:600}[data-theme=dark] .ud-profile-card,[data-theme=dark] .ud-locker-detail-card,[data-theme=dark] .ud-history-card{box-shadow:0 2px 8px #0006}[data-theme=dark] .ud-locker-field{border-color:var(--gray-200)}[data-theme=dark] .ud-tag-purple{background:#8b5cf626;color:#a78bfa}[data-theme=dark] .empty-state{border-color:var(--gray-200)}[data-theme=dark] .empty-locker-glow{background:radial-gradient(circle at 50% 15%,rgba(96,165,250,.3),transparent 48%),radial-gradient(circle at 50% 78%,rgba(20,184,166,.16),transparent 56%)}[data-theme=dark] .empty-locker-body{background:linear-gradient(110deg,rgba(255,255,255,.28) 0 12%,transparent 13% 100%),linear-gradient(145deg,#64748b,#334155 45%,#0f172a);box-shadow:inset 9px 0 18px #ffffff1a,inset -12px 0 20px #00000052,0 18px 34px #0000006b}@media(prefers-reduced-motion:reduce){.empty-state,.empty-locker-visual,.empty-locker-glow,.empty-locker-shine,.empty-locker-handle,.empty-locker-shadow{animation:none}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--gray-300)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.theme-toggle{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all var(--transition);color:var(--nav-text);flex-shrink:0}.theme-toggle:hover{background:#ffffff26;border-color:#ffffff40;color:var(--nav-text-active);transform:rotate(15deg)}[data-theme=dark] .theme-toggle{color:#fbbf24}[data-theme=dark] .theme-toggle:hover{background:#fbbf241f;border-color:#fbbf2440;color:#fbbf24}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .search-input,[data-theme=dark] .pin-input{background:var(--gray-50)}[data-theme=dark] .btn-outline{background:var(--gray-100);color:var(--gray-500);border-color:var(--gray-300)}[data-theme=dark] .btn-outline:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:100}.hamburger-line{display:block;width:24px;height:2.5px;border-radius:2px;background:var(--gray-500);transition:transform .3s ease,opacity .3s ease}.hamburger-line.open:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.lang-toggle{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;padding:.25rem .45rem;font-size:1.25rem;line-height:1;color:var(--gray-500);cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;display:flex;align-items:center;justify-content:center}.lang-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}[data-theme=dark] .lang-toggle{background:var(--gray-200);border-color:var(--gray-300);color:var(--gray-400)}[data-theme=dark] .lang-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.login-top-controls{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.hamburger{display:flex}.navbar{flex-wrap:wrap;height:auto;padding:.625rem 1rem;gap:.375rem;position:relative}.navbar-brand .brand-text{display:none}.navbar-links{display:none;order:3;width:100%;flex-direction:column;gap:.25rem;padding:.5rem 0;border-top:1px solid var(--gray-100)}.navbar-links.mobile-open{display:flex}.desktop-only-dropdown{display:none!important}.mobile-only-section{display:flex;flex-direction:column;gap:.25rem}.mobile-only-nav{display:flex!important;align-items:center}.navbar-links a{padding:.625rem .75rem;border-radius:8px;font-size:.95rem}.navbar-links a:hover,.navbar-links a.active-link{background:var(--primary-light)}.navbar-user{gap:.375rem}.navbar-user .role-badge{display:none}.main-content{padding:1rem}.form-row{flex-direction:column;gap:0}.stats-grid{grid-template-columns:1fr}.dash-hero{flex-direction:column;text-align:center;padding:1.5rem}.dash-hero-stats{gap:1rem}.dash-top-row{grid-template-columns:1fr}.dash-stat-cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header-actions{flex-wrap:wrap;gap:.5rem;width:100%}.page-header-actions .btn{flex:1;min-width:120px;text-align:center}.filter-bar{flex-wrap:wrap}.filter-bar .search-input{width:100%;min-width:unset}.filter-bar .filter-select{flex:1;min-width:120px}.table-container{overflow-x:auto}.table-container table{min-width:640px}.pin-input-group{gap:.375rem}.pin-input{width:2.75rem;height:3.25rem;font-size:1.375rem}.my-locker-cards{grid-template-columns:1fr}.ud-profile-card{flex-direction:column;text-align:center}.ud-profile-stats{margin-left:0}.ud-locker-grid{grid-template-columns:repeat(2,1fr)}.ud-locker-field:nth-child(3n){border-right:1px solid var(--gray-100)}.ud-locker-field:nth-child(2n){border-right:none}.ud-history-card{flex-direction:column;align-items:flex-start}.login-card{padding:2rem 1.5rem}.login-container:before,.login-container:after{display:none}.pagination-wrapper{flex-direction:column;gap:.75rem}.pagination-info{flex-direction:column;gap:.5rem;align-items:center}.form-card{padding:1.25rem}}@media(max-width:480px){.main-content{padding:.75rem}.dash-stat-cards{grid-template-columns:1fr}.page-header h1{font-size:1.25rem}.page-header-actions .btn{font-size:.8rem;padding:.5rem .75rem}.form-card h3{font-size:1rem}.ud-locker-grid{grid-template-columns:1fr}.ud-locker-field{border-right:none!important}.ud-profile-tags{flex-wrap:wrap;justify-content:center;gap:.375rem}.ud-mini-stat{min-width:60px}.login-card{padding:1.5rem 1rem;margin:0 .5rem}.login-card h1{font-size:1.375rem}.btn{font-size:.8125rem;padding:.5rem .875rem}.navbar-user .btn{font-size:.75rem;padding:.375rem .625rem}}.site-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;border-top:1px solid var(--card-border);background:var(--gray-100);color:var(--gray-500);font-size:.8125rem;margin-top:auto}.site-footer-logo{height:22px;width:auto;object-fit:contain}.analytics-page .page-header{flex-wrap:wrap;margin-bottom:1.75rem}.analytics-period-toggle{display:flex;gap:.4rem;background:var(--gray-100);padding:.25rem;border-radius:var(--radius-lg);border:1px solid var(--card-border)}.analytics-period-toggle .btn{border:none;font-size:.8125rem;padding:.35rem .85rem;border-radius:var(--radius)}.analytics-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:2rem}.analytics-summary-card{background:var(--white);border:1px solid var(--card-border);border-radius:16px;padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;box-shadow:var(--shadow-xs);transition:all var(--transition)}[data-theme=dark] .analytics-summary-card{background:#141416;border-color:#242428}.analytics-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--gray-400)}.analytics-summary-value{font-size:2.1rem;font-weight:800;color:var(--gray-900);line-height:1.1;letter-spacing:-.03em}[data-theme=dark] .analytics-summary-value{color:#fafafa}.analytics-summary-label{font-size:.65rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.analytics-card{background:var(--white);border:1px solid var(--card-border);border-radius:18px;padding:1.75rem;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:1.25rem;transition:all var(--transition)}[data-theme=dark] .analytics-card{background:#141416;border-color:#242428}.analytics-card:hover{box-shadow:var(--shadow-sm)}.analytics-card h2{font-size:1.125rem;font-weight:800;color:var(--gray-900);margin:0;letter-spacing:-.02em;border-bottom:1px solid var(--card-border);padding-bottom:.85rem}[data-theme=dark] .analytics-card h2{color:#fafafa}.analytics-floor-list,.analytics-size-list,.analytics-day-list,.analytics-peak-list{display:flex;flex-direction:column;gap:1rem}.analytics-stat-row{display:flex;flex-direction:column;gap:.4rem}.analytics-progress-bar{height:5px;background:var(--gray-100);border-radius:3px;overflow:hidden}[data-theme=dark] .analytics-progress-bar{background:#242428}.analytics-progress-fill{height:100%;background:#111;border-radius:3px;transition:width .6s ease}[data-theme=dark] .analytics-progress-fill{background:#fafafa}.analytics-stat-header{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;color:var(--gray-800)}.analytics-stat-title{color:var(--gray-800)}.analytics-stat-pct{font-weight:700;font-size:.875rem;color:var(--primary)}.analytics-bar-track{width:100%;height:8px;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden}.analytics-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .4s ease}.bar-primary{background:var(--primary)}.bar-accent{background:var(--accent)}.bar-success{background:var(--success)}.analytics-stat-sub{font-size:.75rem;color:var(--gray-500)}.analytics-day-row{display:flex;align-items:center;gap:.85rem;font-size:.8125rem}.analytics-day-date{min-width:80px;color:var(--gray-600);font-weight:500}.analytics-day-count{min-width:28px;text-align:right;font-weight:700;color:var(--gray-900)}.analytics-peak-row{display:flex;align-items:center;gap:.85rem;padding:.5rem 0;border-bottom:1px solid var(--card-border);font-size:.85rem}.analytics-peak-row:last-child{border-bottom:none}.analytics-peak-rank{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-weight:700;font-size:.75rem;flex-shrink:0}.analytics-peak-date{flex:1;color:var(--gray-700);font-weight:500}.analytics-peak-count{font-weight:600;color:var(--gray-900)}@media(max-width:1200px){.analytics-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.analytics-summary{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.analytics-summary-value{font-size:1.5rem}}@media(max-width:480px){.analytics-summary{grid-template-columns:1fr}}.lp-page{min-height:100vh;background:var(--body-bg);color:var(--gray-900);font-family:var(--font-sans);display:flex;flex-direction:column}.lp-nav{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--card-border);background:color-mix(in srgb,var(--body-bg) 80%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lp-nav-inner{max-width:1140px;margin:0 auto;padding:0 1.5rem;height:58px;display:flex;align-items:center;justify-content:space-between}.lp-nav-brand{display:flex;align-items:center;gap:.625rem;font-weight:700;font-size:.9375rem;color:var(--gray-900)}.lp-nav-logo{height:30px;width:auto;object-fit:contain}.lp-nav-right{display:flex;align-items:center;gap:.5rem}.lp-icon-btn{background:var(--gray-100);border:1px solid var(--card-border);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);font-size:1.1rem;transition:background .18s,border-color .18s}.lp-icon-btn:hover{background:var(--gray-200);border-color:var(--gray-300)}.lp-cta-btn,a.lp-cta-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary);color:#fff!important;border:none;border-radius:9999px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none!important;transition:all .2s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 8px #2563eb40}.lp-cta-btn:hover,a.lp-cta-btn:hover{background:var(--primary-hover)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 14px #2563eb59;text-decoration:none!important}[data-theme=dark] .lp-cta-btn,[data-theme=dark] a.lp-cta-btn{background:#2563eb;color:#fff!important}[data-theme=dark] .lp-cta-btn:hover,[data-theme=dark] a.lp-cta-btn:hover{background:#1d4ed8!important;color:#fff!important}.lp-cta-lg{padding:.75rem 1.625rem;font-size:1rem;border-radius:9999px}.lp-ghost-btn{display:inline-flex;align-items:center;gap:.375rem;background:transparent;color:var(--gray-700);border:1.5px solid var(--card-border);border-radius:9999px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .18s,background .18s}.lp-ghost-btn:hover{border-color:var(--primary);background:#2563eb0f}.lp-hero{position:relative;overflow:hidden;padding:5.5rem 1.5rem 4rem;text-align:center}.lp-hero-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.lp-hero-glow-1{width:520px;height:520px;background:#2563eb2e;top:-140px;left:50%;transform:translate(-50%)}.lp-hero-glow-2{width:340px;height:340px;background:#7c3aed21;bottom:-80px;right:10%}.lp-hero-inner{position:relative;max-width:760px;margin:0 auto}.lp-hero-pill{display:inline-block;border:1px solid rgba(37,99,235,.3);background:#2563eb1a;color:var(--primary);border-radius:999px;padding:.3rem .9rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.5rem}.lp-hero-h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--gray-900);margin-bottom:1.25rem}.lp-hero-sub{font-size:1.0625rem;color:var(--gray-500);line-height:1.75;max-width:580px;margin:0 auto 2.25rem}.lp-hero-btns{display:flex;align-items:center;justify-content:center;gap:.875rem;flex-wrap:wrap;margin-bottom:3.5rem}.lp-mockup{background:var(--gray-100);border:1px solid var(--card-border);border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #0000001f;max-width:640px;margin:0 auto;text-align:left}.lp-mockup-bar{background:var(--gray-200);padding:.65rem 1rem;display:flex;gap:.4rem;align-items:center;border-bottom:1px solid var(--card-border)}.lp-mockup-bar span{width:11px;height:11px;border-radius:50%;background:var(--gray-300)}.lp-mockup-bar span:first-child{background:#f87171}.lp-mockup-bar span:nth-child(2){background:#fbbf24}.lp-mockup-bar span:last-child{background:#34d399}.lp-mockup-body{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1.25rem 1.25rem .5rem}.lp-mock-stat{display:flex;flex-direction:column;gap:.2rem;background:var(--gray-200);border-radius:10px;padding:.875rem 1rem}.lp-mock-num{font-size:1.375rem;font-weight:800;color:var(--primary)}.lp-mock-green{color:#22c55e}.lp-mock-stat span:last-child{font-size:.7rem;color:var(--gray-500);font-weight:500}.lp-mock-lockers{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;padding:.75rem 1.25rem 1.25rem}.lp-mock-cell{background:var(--gray-200);border:1.5px solid var(--card-border);border-radius:7px;padding:.6rem;display:flex;align-items:center;justify-content:center;color:var(--gray-400)}.lp-mock-occupied{background:#2563eb1f;border-color:var(--primary);color:var(--primary)}.lp-mock-maintenance{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.lp-features{padding:6rem 1.5rem;max-width:1140px;margin:0 auto;width:100%}.lp-section-label{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:.75rem;text-align:center}.lp-section-h2{font-size:clamp(1.625rem,3vw,2.25rem);font-weight:800;letter-spacing:-.015em;color:var(--gray-900);margin-bottom:3rem;text-align:center}.lp-feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--card-border);border:1px solid var(--card-border);border-radius:16px;overflow:hidden}.lp-feat-card{background:var(--gray-100);padding:1.75rem;transition:background .18s}.lp-feat-card:hover{background:var(--gray-200)}.lp-feat-icon{width:42px;height:42px;background:#2563eb1a;color:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.lp-feat-card h3{font-size:.9375rem;font-weight:700;color:var(--gray-900);margin-bottom:.4rem}.lp-feat-card p{font-size:.8125rem;color:var(--gray-500);line-height:1.6}.lp-how{background:var(--gray-100);border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);padding:5rem 1.5rem}.lp-how .lp-section-label,.lp-how .lp-section-h2{text-align:center}.lp-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap;max-width:1000px;margin:0 auto}.lp-step{flex:1;min-width:180px;max-width:220px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:1.25rem}.lp-step-num{width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;font-size:1rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lp-step h4{font-size:.9375rem;font-weight:700;color:var(--gray-900)}.lp-step p{font-size:.8125rem;color:var(--gray-500);line-height:1.6}.lp-step-arrow{color:var(--gray-400);padding-top:1.5rem;flex-shrink:0}.lp-checks{padding:6rem 1.5rem;max-width:1140px;margin:0 auto;width:100%}.lp-checks-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.lp-checks-logo-wrap{margin-bottom:1.25rem}.lp-checks-logo{height:36px;width:auto;object-fit:contain;display:block}.lp-checks-logo.logo-dark,[data-theme=dark] .lp-checks-logo.logo-light{display:none}[data-theme=dark] .lp-checks-logo.logo-dark{display:block}.lp-checks .lp-section-label{text-align:left}.lp-checks-sub{color:var(--gray-500);font-size:1rem;line-height:1.75;margin-top:.75rem}.lp-checklist{list-style:none;display:flex;flex-direction:column;gap:.875rem}.lp-checklist li{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:var(--gray-700);font-weight:500}.lp-check-icon{color:#22c55e;flex-shrink:0}.lp-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.75rem 1.5rem;border-top:1px solid var(--card-border);background:var(--gray-100);color:var(--gray-500);font-size:.8125rem}.lp-footer-logo{height:22px;width:auto;object-fit:contain}.badge-inclusive{display:inline-flex;align-items:center;gap:.25rem;border-radius:6px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.badge-inclusive-disability{background:#ef44441f;color:#b91c1c;border:1px solid rgba(239,68,68,.25)}.badge-inclusive-orphan{background:#a855f71f;color:#7e22ce;border:1px solid rgba(168,85,247,.25)}.badge-inclusive-vision{background:#3b82f61f;color:#1d4ed8;border:1px solid rgba(59,130,246,.25)}.badge-inclusive-hearing{background:#14b8a61f;color:#0f766e;border:1px solid rgba(20,184,166,.25)}.badge-inclusive-other{background:#eab3081f;color:#a16207;border:1px solid rgba(234,179,8,.25)}.badge-none{color:var(--gray-400);font-size:.85rem}.priority-row td:first-child{border-left:3px solid #f59e0b}@media(max-width:768px){.lp-hero{padding:3.5rem 1.25rem 2.5rem}.lp-mockup-body{grid-template-columns:repeat(2,1fr)}.lp-mock-lockers{grid-template-columns:repeat(4,1fr)}.lp-step-arrow{display:none}.lp-checks-inner{grid-template-columns:1fr;gap:2rem}.lp-checks .lp-section-h2,.lp-checks .lp-section-label{text-align:left}.lp-features,.lp-checks,.lp-how{padding:3.5rem 1.25rem}.lp-nav-brand span{display:none}}.nf-page{min-height:100vh;display:flex;flex-direction:column;background:var(--body-bg);color:var(--gray-800);position:relative;overflow-x:hidden}[data-theme=dark] .nf-page{color:var(--gray-100)}.nf-container{flex:1;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem 3rem;position:relative;z-index:1}.nf-card{width:100%;max-width:580px;background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:3rem 2.5rem;text-align:center;box-shadow:0 20px 45px -10px #00000014,0 0 1px #0000001a;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:nfCardFadeIn .5s cubic-bezier(.16,1,.3,1) forwards}[data-theme=dark] .nf-card{background:#18181bd9;border-color:#ffffff1a;box-shadow:0 25px 50px -12px #00000080,0 0 1px #ffffff1a}@keyframes nfCardFadeIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.nf-illustration{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.75rem}.nf-locker-box{width:110px;height:140px;background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:12px;border:2px solid rgba(255,255,255,.15);box-shadow:0 14px 28px #00000040,inset 0 1px #fff3;display:flex;flex-direction:column;justify-content:space-between;padding:.75rem .625rem;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.nf-locker-box:hover{transform:translateY(-4px) scale(1.03)}.nf-locker-header{display:flex;justify-content:center;gap:4px}.nf-locker-vent{width:20px;height:3px;background:#fff3;border-radius:2px}.nf-locker-center{display:flex;align-items:center;justify-content:center}.nf-lock-icon-wrap{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:#60a5fa}.nf-lock-icon{filter:drop-shadow(0 0 8px rgba(96,165,250,.4));animation:nfLockPulse 2.5s ease-in-out infinite alternate}@keyframes nfLockPulse{0%{transform:scale(1);filter:drop-shadow(0 0 6px rgba(96,165,250,.3))}to{transform:scale(1.06);filter:drop-shadow(0 0 12px rgba(96,165,250,.7))}}.nf-lock-tag{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#93c5fd;background:#3b82f640;padding:.1rem .4rem;border-radius:4px;line-height:1.2}.nf-locker-handle{width:6px;height:22px;background:#cbd5e1;border-radius:3px;position:absolute;right:8px;top:50%;transform:translateY(-50%);box-shadow:0 1px 3px #0006}.nf-badge-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:.3rem .75rem;border-radius:9999px}.nf-title{font-size:1.625rem;font-weight:800;letter-spacing:-.025em;color:var(--gray-900);margin-bottom:.75rem;line-height:1.25}[data-theme=dark] .nf-title{color:#fff}.nf-subtitle{font-size:.9375rem;line-height:1.6;color:var(--gray-500);max-width:440px;margin-bottom:2rem}.nf-actions{display:flex;align-items:center;justify-content:center;gap:.875rem;width:100%;max-width:380px;margin-bottom:2rem}.nf-actions .btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.125rem;font-size:.875rem;font-weight:600;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:all var(--transition)}.nf-back-btn{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--card-border)}.nf-back-btn:hover{background:var(--gray-200);color:var(--gray-900);transform:translateY(-1px)}[data-theme=dark] .nf-back-btn{background:#ffffff0f;color:var(--gray-300);border-color:#ffffff1f}[data-theme=dark] .nf-back-btn:hover{background:#ffffff1a;color:#fff}.nf-home-btn{background:var(--primary);color:#fff;border:1px solid var(--primary);box-shadow:0 4px 12px #2563eb40}.nf-home-btn:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.nf-shortcuts{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;padding-top:1.5rem;border-top:1px dashed var(--card-border)}.nf-shortcuts-title{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400)}.nf-shortcuts-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem}.nf-shortcut-chip{display:inline-flex;align-items:center;padding:.3rem .75rem;font-size:.8125rem;font-weight:500;border-radius:9999px;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--card-border);text-decoration:none;transition:all var(--transition)}.nf-shortcut-chip:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}[data-theme=dark] .nf-shortcut-chip{background:#ffffff0a;color:var(--gray-400);border-color:#ffffff14}[data-theme=dark] .nf-shortcut-chip:hover{background:#3b82f626;color:#93c5fd;border-color:#3b82f64d}@media(max-width:540px){.nf-card{padding:2.25rem 1.5rem}.nf-title{font-size:1.35rem}.nf-actions{flex-direction:column;width:100%}.nf-actions .btn{width:100%}}.btn-gemini{background:#111;color:#fff!important;border:1px solid #111111;font-weight:600;padding:.6rem 1.25rem;border-radius:9px;box-shadow:0 1px 3px #0000001a;transition:all var(--transition);cursor:pointer}.btn-gemini:hover:not(:disabled){background:#27272a!important;border-color:#27272a!important;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}[data-theme=dark] .btn-gemini{background:#fafafa;color:#09090b!important;border-color:#fafafa}[data-theme=dark] .btn-gemini:hover:not(:disabled){background:#fff!important;color:#09090b!important}.btn-gemini:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.ai-allocation-control-card{background:var(--white);border:1px solid var(--card-border);border-radius:18px;padding:1.75rem;margin-bottom:2rem;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:1.5rem;transition:all var(--transition)}[data-theme=dark] .ai-allocation-control-card{background:#141416;border-color:#242428}.ai-allocation-control-card:hover{box-shadow:var(--shadow-sm)}.ai-allocation-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;border-bottom:1px solid var(--card-border);padding-bottom:1.25rem}.ai-title-section{flex:1}.ai-title-section h3{font-size:1.2rem;font-weight:800;margin:0 0 .35rem;color:var(--gray-900);letter-spacing:-.02em}[data-theme=dark] .ai-title-section h3{color:#fafafa}.ai-subtitle-text{font-size:.845rem;color:var(--gray-500);margin:0;line-height:1.45}.ai-action-section{display:flex;align-items:center}.ai-allocation-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.rule-step{display:flex;align-items:flex-start;gap:.75rem;background:var(--gray-50);padding:1rem;border-radius:12px;border:1px solid var(--card-border);transition:all var(--transition)}[data-theme=dark] .rule-step{background:#18181c;border-color:#242428}.rule-step:hover{background:var(--white);border-color:var(--gray-400);transform:translateY(-1px)}[data-theme=dark] .rule-step:hover{background:#202026}.step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--gray-200);color:var(--gray-800);font-weight:800;font-size:.72rem;border-radius:6px;flex-shrink:0}[data-theme=dark] .step-num{background:#2a2a30;color:#fafafa}.step-info{display:flex;flex-direction:column;gap:.15rem}.step-info strong{font-size:.845rem;color:var(--gray-900);font-weight:700}[data-theme=dark] .step-info strong{color:#fafafa}.step-info span{font-size:.75rem;color:var(--gray-500);line-height:1.35}.ai-custom-prompt-row{display:flex;flex-direction:column;gap:.5rem;background:var(--gray-50);padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--card-border)}[data-theme=dark] .ai-custom-prompt-row{background:#18181c;border-color:#242428}.ai-prompt-label{font-size:.72rem;font-weight:700;color:var(--gray-600);text-transform:uppercase;letter-spacing:.06em}[data-theme=dark] .ai-prompt-label{color:#a1a1aa}.ai-prompt-input-wrapper{width:100%}.ai-prompt-input{width:100%;border:1px solid var(--card-border);border-radius:10px;background:var(--white);padding:.6rem .95rem;font-size:.835rem;color:var(--gray-900);outline:none;transition:all var(--transition)}.ai-prompt-input:focus{border-color:var(--gray-900);box-shadow:0 0 0 3px #0000000f}[data-theme=dark] .ai-prompt-input{background:#141416;border-color:#242428;color:#fafafa}[data-theme=dark] .ai-prompt-input:focus{border-color:#fafafa;box-shadow:0 0 0 3px #ffffff1a}.ai-calc-loading-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:1.75rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s ease-out;position:relative;overflow:hidden}[data-theme=dark] .ai-calc-loading-card{background:var(--gray-100);border-color:var(--card-border)}.ai-calc-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.ai-calc-core-status{display:flex;align-items:center;gap:1rem}.ai-calc-waves-wrapper{display:flex;align-items:flex-end;gap:4px;height:28px;padding:2px}.ai-wave-bar{width:4px;height:10px;background:linear-gradient(180deg,#3b82f6,#8b5cf6);border-radius:4px}.ai-calc-title-group h3{font-size:1.1rem;font-weight:700;color:var(--gray-900);margin:0 0 .2rem}[data-theme=dark] .ai-calc-title-group h3{color:#f8fafc}.ai-calc-substatus{font-size:.8125rem;color:var(--gray-500);margin:0;font-family:monospace}[data-theme=dark] .ai-calc-substatus{color:#94a3b8}.ai-calc-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary-light);color:var(--primary);font-size:.75rem;font-weight:700;padding:.3rem .8rem;border-radius:var(--radius-full);border:1px solid var(--card-border);letter-spacing:.03em}[data-theme=dark] .ai-calc-badge{background:#3b82f626;color:#60a5fa;border-color:#3b82f64d}.ai-calc-track{width:100%;height:6px;background:var(--gray-100);border-radius:var(--radius-full);overflow:hidden;position:relative}[data-theme=dark] .ai-calc-track{background:var(--gray-200)}.ai-calc-glow-bar{height:100%;width:15%;background:linear-gradient(90deg,#2563eb,#7c3aed,#ec4899);border-radius:var(--radius-full);box-shadow:0 0 12px #3b82f699}.ai-calc-steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}@media(max-width:900px){.ai-calc-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.ai-calc-steps-grid{grid-template-columns:1fr}}.ai-calc-step-card{background:var(--gray-50);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:.75rem .9rem;display:flex;align-items:center;gap:.75rem;transition:all var(--transition)}[data-theme=dark] .ai-calc-step-card{background:var(--gray-200);border-color:var(--card-border)}.ai-step-indicator{width:24px;height:24px;border-radius:50%;background:var(--gray-200);color:var(--gray-600);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}[data-theme=dark] .ai-step-indicator{background:var(--gray-300);color:var(--gray-400)}.ai-calc-step-card.active{background:var(--primary-subtle);border-color:var(--primary-light);transform:translateY(-1px)}[data-theme=dark] .ai-calc-step-card.active{background:#3b82f626;border-color:#3b82f659}.ai-calc-step-card.active .ai-step-indicator{background:var(--primary);color:#fff;box-shadow:0 0 8px #2563eb80}.ai-step-text{font-size:.8125rem;font-weight:600;color:var(--gray-700);line-height:1.35}[data-theme=dark] .ai-step-text{color:#cbd5e1}.ai-calc-step-card.active .ai-step-text{color:var(--primary)}[data-theme=dark] .ai-calc-step-card.active .ai-step-text{color:#93c5fd}.ai-simulation-card{background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm);animation:fadeIn .3s ease-out;display:flex;flex-direction:column;gap:1.25rem;width:100%;box-sizing:border-box}[data-theme=dark] .ai-simulation-card{background:var(--gray-100);border-color:var(--card-border)}.ai-sim-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--card-border)}.ai-sim-title-group{flex:1;min-width:280px}.ai-sim-heading-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.ai-sim-heading-row h2{font-size:1.2rem;font-weight:700;margin:0;color:var(--gray-900);letter-spacing:-.01em}[data-theme=dark] .ai-sim-heading-row h2{color:#f8fafc}.badge-ai-model{display:inline-flex;align-items:center;background:var(--primary-light);color:var(--primary);font-size:.72rem;font-weight:700;padding:.2rem .65rem;border-radius:var(--radius-full);letter-spacing:.03em;border:1px solid var(--card-border)}.ai-sim-summary{font-size:.875rem;color:var(--gray-600);line-height:1.5;margin:0}[data-theme=dark] .ai-sim-summary{color:#cbd5e1}.ai-sim-actions{display:flex;gap:.5rem;align-items:center}.ai-tier-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;width:100%;box-sizing:border-box}@media(max-width:1024px){.ai-tier-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ai-tier-stat-grid{grid-template-columns:1fr}}.ai-tier-stat-box{background:var(--gray-50);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;display:flex;align-items:center;gap:.85rem;min-width:0;width:100%;box-sizing:border-box;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.ai-tier-stat-box:hover{box-shadow:var(--shadow-sm);border-color:var(--gray-300)}[data-theme=dark] .ai-tier-stat-box{background:var(--gray-200);border-color:var(--card-border)}[data-theme=dark] .ai-tier-stat-box:hover{border-color:var(--gray-400)}.tier-box-badge{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;flex-shrink:0}.tier-box-1 .tier-box-badge{background:var(--warning-light);color:#b45309}.tier-box-2 .tier-box-badge{background:var(--primary-light);color:var(--primary)}.tier-box-3 .tier-box-badge{background:var(--accent-light);color:var(--accent)}.tier-box-4 .tier-box-badge{background:var(--gray-200);color:var(--gray-600)}[data-theme=dark] .tier-box-1 .tier-box-badge{color:var(--warning)}[data-theme=dark] .tier-box-2 .tier-box-badge{color:var(--primary)}[data-theme=dark] .tier-box-3 .tier-box-badge{color:var(--accent)}[data-theme=dark] .tier-box-4 .tier-box-badge{color:var(--gray-300);background:var(--gray-300)}.tier-box-content{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.tier-box-num{font-size:1.45rem;font-weight:800;color:var(--gray-900);line-height:1;letter-spacing:-.02em}[data-theme=dark] .tier-box-num{color:#fff}.tier-box-label{font-size:.72rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .tier-box-label{color:#94a3b8}.ai-sim-meta-row{display:flex;align-items:center}.ai-sim-meta-text{font-size:.8125rem;font-weight:500;color:var(--gray-500)}[data-theme=dark] .ai-sim-meta-text{color:#94a3b8}.ai-sim-insights-callout{display:flex;align-items:flex-start;gap:.85rem;background:var(--primary-light);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-lg);padding:1rem 1.25rem;color:var(--gray-800);font-size:.875rem;line-height:1.55}[data-theme=dark] .ai-sim-insights-callout{background:#3b82f61f;border-color:#3b82f64d;color:#f1f5f9}.insights-tag{display:inline-flex;align-items:center;font-weight:800;font-size:.72rem;letter-spacing:.06em;color:var(--primary);flex-shrink:0;padding-top:.1rem}[data-theme=dark] .insights-tag{color:#60a5fa}.ai-sim-insights-callout p{margin:0;font-weight:500;color:inherit}[data-theme=dark] .ai-sim-insights-callout p{color:#e2e8f0}.ai-sim-table-wrap{max-height:480px;overflow-y:auto;border-radius:var(--radius-lg);border:1px solid var(--card-border)}.ai-sim-table-wrap table{margin:0}.sim-student-name{color:var(--gray-900);font-weight:600;font-size:.875rem}.sim-metrics-group{display:flex;gap:.35rem;flex-wrap:wrap}.metric-chip{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-full);background:var(--gray-100);color:var(--gray-700);border:1px solid var(--card-border)}[data-theme=dark] .metric-chip{background:var(--gray-200);color:var(--gray-400)}.sim-locker-cell{display:flex;flex-direction:column;gap:.1rem}.sim-locker-sub{font-size:.75rem;color:var(--gray-500)}.sim-reason-cell{max-width:320px}.sim-reason-pill{font-size:.8125rem;color:var(--gray-700);background:var(--gray-50);padding:.4rem .75rem;border-radius:var(--radius);border:1px solid var(--card-border);line-height:1.45}[data-theme=dark] .sim-reason-pill{background:var(--gray-100);color:var(--gray-300)}.sim-pagination-note{font-size:.8rem;color:var(--gray-500);text-align:center;margin-top:.5rem;font-weight:500}.badge-tier-1{background:var(--warning-light);color:#92400e;border:1px solid rgba(245,158,11,.25);font-weight:700;font-size:.7rem;padding:.2rem .5rem;border-radius:var(--radius-full);white-space:nowrap}.badge-tier-2{background:var(--primary-light);color:var(--primary-hover);border:1px solid rgba(37,99,235,.2);font-weight:700;font-size:.7rem;padding:.2rem .5rem;border-radius:var(--radius-full);white-space:nowrap}.badge-tier-3{background:var(--accent-light);color:#5b21b6;border:1px solid rgba(139,92,246,.25);font-weight:700;font-size:.7rem;padding:.2rem .5rem;border-radius:var(--radius-full);white-space:nowrap}.badge-tier-4{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--card-border);font-weight:600;font-size:.7rem;padding:.2rem .5rem;border-radius:var(--radius-full);white-space:nowrap}[data-theme=dark] .badge-tier-1{background:var(--warning-light);color:var(--warning);border-color:#fbbf2440}[data-theme=dark] .badge-tier-2{background:var(--primary-light);color:var(--primary);border-color:var(--primary-light)}[data-theme=dark] .badge-tier-3{background:var(--accent-light);color:var(--accent);border-color:#a78bfa40}[data-theme=dark] .badge-tier-4{background:var(--gray-200);color:var(--gray-400);border-color:var(--card-border)}.ai-reason-badge{display:inline-block;font-size:.7875rem;color:var(--gray-700);background:var(--gray-50);padding:.3rem .6rem;border-radius:var(--radius);border-left:2.5px solid var(--primary);line-height:1.4}[data-theme=dark] .ai-reason-badge{background:var(--gray-100);color:var(--gray-600);border-left-color:var(--primary)}.metric-pill{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:6px;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--card-border);margin-right:.25rem}[data-theme=dark] .metric-pill{background:var(--gray-200);color:var(--gray-500)}.ai-table-scroll{max-height:400px;overflow-y:auto}.ai-reason-cell{max-width:260px}.minimal-page{padding-top:1.5rem}.minimal-hero-section{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.25rem;padding-bottom:1.75rem;border-bottom:1px solid var(--card-border);gap:2rem;flex-wrap:wrap}.minimal-hero-left{max-width:600px}.minimal-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.5rem;display:block}.minimal-headline{font-size:2.4rem;font-weight:800;letter-spacing:-.04em;color:var(--gray-900);line-height:1.1;margin:0 0 .5rem}[data-theme=dark] .minimal-headline{color:#fafafa}.minimal-subtitle{font-size:.95rem;font-weight:400;color:var(--gray-600);margin:0;line-height:1.5}[data-theme=dark] .minimal-subtitle{color:var(--gray-400)}.minimal-hero-stats{display:flex;align-items:center;gap:1.25rem;background:var(--white);border:1px solid var(--card-border);border-radius:16px;padding:.85rem 1.6rem;box-shadow:var(--shadow-xs)}[data-theme=dark] .minimal-hero-stats{background:#141416;border-color:#242428}.minimal-stat-card{display:flex;flex-direction:column;align-items:center;min-width:85px;text-align:center}.minimal-stat-num{font-size:1.65rem;font-weight:800;color:var(--gray-900);line-height:1.1;letter-spacing:-.03em}[data-theme=dark] .minimal-stat-num{color:#fafafa}.minimal-stat-lbl{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-top:.35rem}.minimal-stat-divider{width:1px;height:32px;background:var(--card-border)}.minimal-filters-row{display:flex;align-items:center;margin-bottom:2rem}.minimal-tabs-bar{display:inline-flex;background:var(--white);border:1px solid var(--card-border);border-radius:14px;padding:5px;gap:4px;box-shadow:var(--shadow-xs)}[data-theme=dark] .minimal-tabs-bar{background:#141416;border-color:#242428}.minimal-tab-btn{background:transparent;border:none;border-radius:10px;font-size:.8125rem;font-weight:600;color:var(--gray-600);padding:.6rem 1.15rem;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex;align-items:center;gap:.5rem}.minimal-tab-btn:hover{color:var(--gray-900);background:var(--gray-100)}[data-theme=dark] .minimal-tab-btn{color:var(--gray-400)}[data-theme=dark] .minimal-tab-btn:hover{color:#fafafa;background:#1f1f23}.minimal-tab-btn.active{background:#111!important;color:#fff!important;box-shadow:0 4px 14px #00000026}[data-theme=dark] .minimal-tab-btn.active{background:#fafafa!important;color:#09090b!important;box-shadow:0 4px 14px #ffffff26}.tab-count{font-size:.72rem;font-weight:700;opacity:.75}.minimal-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.75rem}.minimal-card{background:var(--white);border:1px solid var(--card-border);border-radius:18px;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);transition:all .25s cubic-bezier(.25,.46,.45,.94);overflow:hidden;position:relative}[data-theme=dark] .minimal-card{background:#141416;border-color:#242428}.minimal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--gray-400)}[data-theme=dark] .minimal-card:hover{border-color:#3f3f46}.minimal-card.in-progress{border-color:var(--gray-900);box-shadow:0 0 0 1px var(--gray-900),var(--shadow-sm)}[data-theme=dark] .minimal-card.in-progress{border-color:#fafafa;box-shadow:0 0 0 1px #fafafa,var(--shadow-sm)}.minimal-card-top{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--card-border);background:var(--white)}[data-theme=dark] .minimal-card-top{background:#141416;border-color:#242428}.minimal-unit-wrap{display:flex;align-items:center;gap:.5rem}.minimal-unit-title{font-size:.875rem;font-weight:800;letter-spacing:.05em;color:var(--gray-900)}[data-theme=dark] .minimal-unit-title{color:#fafafa}.minimal-floor-tag{font-size:.72rem;font-weight:600;color:var(--gray-500);background:var(--gray-100);padding:.2rem .5rem;border-radius:6px}[data-theme=dark] .minimal-floor-tag{background:#242428;color:var(--gray-400)}.minimal-status-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;color:var(--gray-700);padding:.25rem .65rem;border-radius:9999px;background:var(--gray-100)}[data-theme=dark] .minimal-status-pill{background:#242428;color:#d4d4d8}.minimal-status-dot{width:6px;height:6px;border-radius:50%;background:var(--gray-400)}.minimal-status-pill.resolved .minimal-status-dot{background:#10b981}.minimal-status-pill.in_progress .minimal-status-dot{background:#f59e0b}.minimal-status-pill.assigned .minimal-status-dot,.minimal-status-pill.open .minimal-status-dot{background:#3b82f6}.minimal-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:1rem}.minimal-item-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0;letter-spacing:-.025em;line-height:1.25}[data-theme=dark] .minimal-item-title{color:#fafafa}.minimal-meta-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.minimal-type-chip{background:var(--gray-100);color:var(--gray-800);font-size:.75rem;font-weight:600;padding:.25rem .65rem;border-radius:6px;border:1px solid var(--card-border)}[data-theme=dark] .minimal-type-chip{background:#242428;color:#d4d4d8;border-color:#2e2e34}.minimal-reporter-tag{font-size:.8rem;color:var(--gray-500)}.minimal-desc-box{font-size:.875rem;color:var(--gray-700);line-height:1.5;margin:0;background:var(--gray-50);padding:.85rem 1rem;border-radius:12px;border:1px solid var(--card-border)}[data-theme=dark] .minimal-desc-box{background:#18181b;color:#d4d4d8;border-color:#242428}.minimal-photo-box{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;background:var(--gray-50);border:1px solid var(--card-border);border-radius:12px;cursor:pointer;transition:all .2s ease}.minimal-photo-box:hover{background:var(--gray-100);border-color:var(--gray-400)}[data-theme=dark] .minimal-photo-box{background:#18181b;border-color:#242428}[data-theme=dark] .minimal-photo-box:hover{background:#1f1f23;border-color:#3f3f46}.minimal-thumb-img{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--card-border)}.minimal-photo-info{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--gray-900)}[data-theme=dark] .minimal-photo-info{color:#fafafa}.minimal-photo-arrow{font-size:1.1rem;transition:transform .2s ease}.minimal-photo-box:hover .minimal-photo-arrow{transform:translate(3px)}.minimal-notes-callout{background:var(--gray-50);border-left:3px solid #10B981;border-radius:0 10px 10px 0;padding:.75rem 1rem}[data-theme=dark] .minimal-notes-callout{background:#18181b}.minimal-notes-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);display:block;margin-bottom:.25rem}.minimal-notes-text{font-size:.85rem;color:var(--gray-800);margin:0}[data-theme=dark] .minimal-notes-text{color:#d4d4d8}.minimal-card-bottom{padding:1.25rem 1.5rem;border-top:1px solid var(--card-border);background:var(--white)}[data-theme=dark] .minimal-card-bottom{background:#141416;border-color:#242428}.minimal-action-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:#111;color:#fff;border:none;border-radius:12px;padding:.85rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.minimal-action-btn:hover{background:#27272a;transform:translateY(-1px);box-shadow:0 4px 14px #00000026}[data-theme=dark] .minimal-action-btn{background:#fafafa;color:#09090b}[data-theme=dark] .minimal-action-btn:hover{background:#fff;box-shadow:0 4px 14px #ffffff26}.btn-arrow{font-size:1.1rem;transition:transform .2s ease}.minimal-action-btn:hover .btn-arrow{transform:translate(4px)}.minimal-resolved-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#10b981;padding:.65rem;background:var(--gray-50);border:1px solid var(--card-border);border-radius:10px}[data-theme=dark] .minimal-resolved-badge{background:#18181b;border-color:#242428}.minimal-check-circle{font-weight:800}.table-photo-thumb{width:38px;height:38px;object-fit:cover;border-radius:6px;border:1px solid var(--card-border);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.table-photo-thumb:hover{transform:scale(1.15);box-shadow:var(--shadow-sm)}.tech-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:var(--primary-light);color:var(--primary)}.tech-report-snippet{font-size:.75rem;color:var(--success);margin-top:.25rem}.photo-zoom-modal{background:var(--white);padding:1rem;border-radius:var(--radius-xl);max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:var(--shadow-xl)}[data-theme=dark] .photo-zoom-modal{background:var(--white)}.photo-zoom-img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius-lg)}.photo-zoom-close{align-self:flex-end}.ud-section-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ud-incidents-block{margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed var(--card-border)}.ud-subheading{font-size:1rem;font-weight:700;margin-bottom:.75rem;color:var(--gray-800)}.ud-incident-list{display:flex;flex-direction:column;gap:.75rem}.ud-incident-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;background:var(--white);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}[data-theme=dark] .ud-incident-item{background:var(--white)}.ud-inc-main{flex:1}.ud-inc-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.ud-inc-desc{font-size:.8125rem;color:var(--gray-600);margin:0 0 .4rem}.ud-inc-tech-notes{font-size:.8125rem;color:#065f46;background:var(--success-light);padding:.35rem .6rem;border-radius:4px;border-left:2px solid var(--success)}[data-theme=dark] .ud-inc-tech-notes{background:var(--success-light);color:var(--success)}.ud-inc-photo-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--card-border);cursor:pointer;transition:transform .15s ease}.ud-inc-photo-thumb:hover{transform:scale(1.1)}.defect-photo-uploader{margin-top:.5rem}.defect-upload-dropzone{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.125rem 1.25rem;background:var(--gray-50);border:1.5px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-600);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition);outline:none}.defect-upload-dropzone:hover{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .defect-upload-dropzone{background:#27272a;border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .defect-upload-dropzone:hover{background:#60a5fa1f;border-color:var(--primary);color:var(--primary)}.defect-photo-preview-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--gray-50);border:1px solid var(--card-border);border-radius:var(--radius-lg)}[data-theme=dark] .defect-photo-preview-card{background:#27272a}.defect-photo-img{width:60px;height:60px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--card-border)}.defect-photo-preview-actions{display:flex;gap:.5rem;align-items:center}.lang-badge-btn{font-family:inherit;font-weight:700;font-size:.75rem;letter-spacing:.05em;padding:.25rem .5rem;border-radius:var(--radius-md);color:var(--gray-700)}.lang-text-code{display:inline-block;text-transform:uppercase}.lp-feat-card,.dash-stat-card,.table tbody tr,.ai-tier-stat-box,.confirm-modal{will-change:transform,opacity}
