@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=Mulish:wght@300;400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,400;0,600;1,400&family=DM+Sans:wght@300;400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Syne:wght@500;600;700&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--login-bg: #dbeafe;--login-panel: #2d5f8f;--login-card-bg: #ffffff;--login-primary: #6366f1;--login-primary-2: #4f46e5;--login-accent-cyan: #38bdf8;--login-accent-violet:#a78bfa;--login-border-subtle:rgba(99, 102, 241, .18);--login-text-main: #0f172a;--login-text-muted: #64748b;--login-input-bg: #f8fafc;--login-error-bg: rgba(239, 68, 68, .06);--login-error-border: rgba(239, 68, 68, .22);--shadow-soft: 0 24px 60px rgba(11, 15, 26, .22)}.login-root{min-height:100vh;width:100%;background:var(--login-bg);display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;font-family:Mulish,sans-serif;position:relative;overflow:hidden}.login-root:before,.login-root:after{content:"";position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;animation:blobFloat 9s ease-in-out infinite alternate}.login-root:before{width:440px;height:440px;background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);top:-140px;left:-100px}.login-root:after{width:340px;height:340px;background:radial-gradient(circle,rgba(56,189,248,.14) 0%,transparent 70%);bottom:-100px;right:-80px;animation-delay:-4s}@keyframes blobFloat{0%{transform:translate(0) scale(1)}to{transform:translate(22px,-22px) scale(1.07)}}.login-overlay{display:none}.login-container{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;width:100%;max-width:960px;min-height:460px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft),0 0 0 1px #6366f126;animation:loginSlideUp .55s cubic-bezier(.22,1,.36,1) both}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.login-left{background:var(--login-panel);padding:32px 36px;display:flex;flex-direction:column;justify-content:flex-start;gap:20px;position:relative;overflow:hidden;border-right:none}.login-left:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(99,102,241,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.035) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.login-left:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);bottom:-110px;right:-90px;pointer-events:none}.login-logo-wrap{display:flex;align-items:center;gap:14px;margin-bottom:0;position:relative;z-index:1;animation:loginFadeLeft .6s .1s both}@keyframes loginFadeLeft{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.login-logo-circle{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--login-primary),var(--login-accent-violet));color:#fff;display:flex;align-items:center;justify-content:center;font-family:Sora,sans-serif;font-size:17px;font-weight:800;box-shadow:0 8px 24px #6366f180;flex-shrink:0}.login-title{margin:0;font-family:Sora,sans-serif;font-size:18px;font-weight:700;color:#f1f5f9;letter-spacing:-.2px}.login-subtitle{margin:3px 0 0;font-size:11px;color:#93c5fd}.login-left-tagline{position:relative;z-index:1;animation:loginFadeLeft .6s .2s both}.login-left-tagline h2{font-family:Sora,sans-serif;font-size:26px;font-weight:800;color:#f1f5f9;line-height:1.18;letter-spacing:-.7px;margin-bottom:8px}.login-left-tagline h2 span{background:linear-gradient(90deg,var(--login-accent-cyan),var(--login-accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-left-tagline p{font-size:13px;color:#94a3b8;line-height:1.65;max-width:300px}.login-highlights{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px;position:relative;z-index:1;animation:loginFadeLeft .6s .3s both}.login-highlights li{display:flex;align-items:center;gap:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 13px;font-size:12px;color:#e2e8f0;font-family:Mulish,sans-serif;transition:background .2s}.login-highlights li:hover{background:#ffffff12}.bullet-dot{width:8px;height:8px;border-radius:50%;background:#38bdf8;flex-shrink:0;box-shadow:0 0 0 3px #38bdf833}.login-gradient-card{position:relative;z-index:1;padding:14px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:14px;animation:loginFadeLeft .6s .35s both}.login-gradient-card h2{font-family:Sora,sans-serif;font-size:14px;font-weight:600;color:#f1f5f9;margin:0 0 5px}.login-gradient-card p{font-size:12px;color:#93c5fd;margin:0;line-height:1.5}.login-right{background:var(--login-card-bg);display:flex;align-items:center;justify-content:center;padding:32px 36px}.login-card{width:100%;max-width:320px;background:transparent;border-radius:0;padding:0;border:none;box-shadow:none;color:var(--login-text-main);animation:loginFadeRight .6s .15s both}@keyframes loginFadeRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.login-card:before{content:"● Secure Login";display:inline-flex;align-items:center;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:999px;padding:4px 11px;font-size:10px;font-weight:700;color:var(--login-primary);font-family:Sora,sans-serif;letter-spacing:.6px;text-transform:uppercase;margin-bottom:14px}.login-card-title{font-family:Sora,sans-serif;font-size:26px;font-weight:800;color:var(--login-text-main);letter-spacing:-.5px;margin:0 0 4px}.login-card-subtitle{font-size:13px;color:var(--login-text-muted);margin:0 0 18px;line-height:1.5}.error-message,.login-error{padding:10px 13px;background:var(--login-error-bg);color:#dc2626;border:1px solid var(--login-error-border);border-radius:10px;font-size:12px;margin-bottom:14px}.login-status-message{background:#16a34a0f;border:1px solid rgba(34,197,94,.25);color:#166534;font-size:12px;border-radius:10px;padding:10px 13px;margin-bottom:14px}.login-form{display:flex;flex-direction:column;gap:11px}.form-group label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#374151;font-family:Sora,sans-serif}.form-group input{padding:11px 14px;border:1.5px solid #e5e7eb;border-radius:11px;font-size:14px;font-family:Mulish,sans-serif;background:var(--login-input-bg);color:var(--login-text-main);transition:all .2s ease;width:100%}.form-group input:focus{outline:none;border-color:var(--login-primary);background:#fff;box-shadow:0 0 0 3px #6366f11f}.form-group input:disabled{opacity:.55;cursor:not-allowed;background:#f1f5f9}.login-password-row{position:relative}.login-password-row input{padding-right:58px}.login-toggle-password{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:10px;font-weight:700;color:var(--login-primary);cursor:pointer;font-family:Sora,sans-serif;text-transform:uppercase;letter-spacing:.5px;padding:4px 7px;border-radius:6px;transition:background .15s}.login-toggle-password:hover{background:#6366f114}.login-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.remember-me{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--login-text-muted);font-family:Mulish,sans-serif}.remember-me input{width:14px;height:14px;accent-color:var(--login-primary)}.link-button,.forgot-link{background:none;border:none;color:var(--login-primary);cursor:pointer;padding:0;font-size:12px;font-weight:600;font-family:Mulish,sans-serif;text-decoration:none;transition:opacity .15s}.link-button:hover,.forgot-link:hover{opacity:.7;text-decoration:underline}.login-submit-btn,.login-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--login-primary) 0%,var(--login-primary-2) 100%);color:#fff;border:none;border-radius:999px;font-family:Sora,sans-serif;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.3px;box-shadow:0 10px 28px #6366f166;transition:all .2s ease;position:relative;overflow:hidden}.login-submit-btn:after,.login-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 55%);pointer-events:none}.login-submit-btn:hover:not(:disabled),.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 36px #6366f18c}.login-submit-btn:active:not(:disabled),.login-btn:active:not(:disabled){transform:translateY(1px)}.login-submit-btn:disabled,.login-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.login-footer-text,.login-footer,.login-hint{margin-top:18px;font-size:11px;color:#9ca3af;text-align:center;font-family:Mulish,sans-serif}.login-hint code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;color:var(--login-text-main)}.login-test-credentials,.test-credentials{margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:12px;color:var(--login-text-muted)}.login-test-credentials ul,.test-credentials ul{margin:6px 0 0;padding-left:16px}.login-test-warning{font-size:11px;margin-top:6px;color:#ca8a04}@media (max-width: 820px){.login-container{grid-template-columns:1fr;min-height:auto}.login-left{border-right:none;padding:36px 28px}.login-left-tagline h2{font-size:26px}.login-right{padding:36px 28px}.login-card{max-width:380px;margin:0 auto}}@media (max-width: 480px){.login-root{padding:14px}.login-left,.login-right{padding:28px 20px}.login-card-title{font-size:22px}}.fsp-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:linear-gradient(135deg,#0f172a,#1e3a5f,#0f172a);position:relative}.fsp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 40%,rgba(59,130,246,.15) 0%,transparent 60%),radial-gradient(ellipse at 70% 70%,rgba(99,102,241,.1) 0%,transparent 60%);pointer-events:none}.fsp-card{position:relative;width:100%;max-width:480px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:36px 32px;box-shadow:0 25px 60px #0006;color:#f1f5f9}.fsp-logo{display:flex;align-items:center;gap:12px;margin-bottom:24px}.fsp-logo-mark{width:44px;height:44px;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff}.fsp-logo-text span{display:block;font-weight:700;font-size:16px;color:#f1f5f9}.fsp-logo-text small{font-size:12px;color:#94a3b8}.fsp-progress{display:flex;align-items:center;margin-bottom:24px}.fsp-progress-step{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;transition:color .3s}.fsp-progress-step.active{color:#3b82f6}.fsp-progress-step.done{color:#22c55e}.fsp-progress-num{width:28px;height:28px;border-radius:50%;background:#ffffff14;border:2px solid #334155;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:all .3s}.fsp-progress-step.active .fsp-progress-num{border-color:#3b82f6;background:#3b82f633;color:#3b82f6}.fsp-progress-step.done .fsp-progress-num{border-color:#22c55e;background:#22c55e33;color:#22c55e}.fsp-progress-line{flex:1;height:2px;background:#334155;margin:0 12px}.fsp-title{font-size:22px;font-weight:700;color:#f1f5f9;margin:0 0 8px}.fsp-subtitle{font-size:13px;color:#94a3b8;margin:0 0 20px;line-height:1.6}.fsp-form{display:flex;flex-direction:column;gap:14px}.fsp-hidden-input{display:none}.fsp-field{display:flex;flex-direction:column;gap:6px}.fsp-field label{font-size:13px;font-weight:500;color:#cbd5e1}.fsp-field input{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:11px 14px;font-size:14px;color:#f1f5f9;transition:all .2s;outline:none;width:100%;box-sizing:border-box}.fsp-field input:focus{border-color:#3b82f6;background:#3b82f614;box-shadow:0 0 0 3px #3b82f626}.fsp-password-hints{display:flex;flex-wrap:wrap;gap:6px}.fsp-hint{font-size:11px;padding:3px 8px;border-radius:20px;font-weight:500}.fsp-hint-ok{background:#22c55e26;color:#86efac}.fsp-hint-no{background:#ef44441f;color:#fca5a5}.fsp-submit-btn{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;padding:13px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none;display:block;width:100%;margin-top:4px;box-sizing:border-box}.fsp-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f659}.fsp-submit-btn:disabled,.fsp-btn-disabled{opacity:.5;cursor:not-allowed;transform:none!important}.fsp-camera-btn{background:linear-gradient(135deg,#0ea5e9,#3b82f6)}.fsp-skip-btn{background:transparent;color:#94a3b8;border:1px solid rgba(255,255,255,.12);padding:10px;border-radius:10px;font-size:13px;cursor:pointer;width:100%;margin-top:8px;transition:all .2s;box-sizing:border-box}.fsp-skip-btn:hover{background:#ffffff0d}.fsp-alert{padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.5}.fsp-alert-error{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.fsp-alert-success{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.25)}.fsp-footer-text{font-size:13px;text-align:center;color:#64748b}.fsp-footer-text a{color:#3b82f6;text-decoration:none;font-weight:500}.fsp-footer-text a:hover{text-decoration:underline}.fsp-step-badge{display:inline-block;background:#3b82f633;color:#93c5fd;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;margin-bottom:8px}.fsp-face-section{display:flex;flex-direction:column;gap:16px}.fsp-step-info{margin-bottom:4px}.fsp-camera-area{display:flex;flex-direction:column;gap:12px}.fsp-video-wrapper{position:relative;border-radius:14px;overflow:hidden;background:#0f172a;border:2px solid rgba(255,255,255,.1)}.fsp-video{width:100%;display:block;border-radius:12px;max-height:280px;object-fit:cover}.fsp-face-badge{position:absolute;bottom:10px;left:50%;transform:translate(-50%);padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.fsp-face-ok{background:#22c55ed9;color:#fff}.fsp-face-no{background:#ef4444d9;color:#fff}.fsp-face-tips{background:#ffffff0d;border-radius:10px;padding:10px 14px;font-size:12px;color:#94a3b8;line-height:1.6}.fsp-face-tips p{margin:0}.fsp-done-section{text-align:center;padding:20px 0}.fsp-done-icon{font-size:56px;margin-bottom:16px}@media (max-width: 520px){.fsp-card{padding:28px 20px}.fsp-title{font-size:19px}}.auth-page-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:linear-gradient(135deg,#eef2ff,#dbeafe)}.auth-card{width:100%;max-width:780px;background:#fff;border-radius:16px;padding:22px 30px;box-shadow:0 20px 50px #00000014;box-sizing:border-box;transition:.3s ease}.auth-card:hover{transform:translateY(-3px)}.auth-header{text-align:center;margin-bottom:8px}.auth-title{font-size:22px;font-weight:700;margin-bottom:10px;color:#111827}.auth-subtitle{font-size:13px;color:#6b7280}.auth-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:10px}.auth-form-grid>div{display:flex;flex-direction:column}.section-title{font-size:18px;font-weight:600;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #e5e7eb;color:#374151}.mb-3{display:flex;flex-direction:column;margin-bottom:8px}.form-label{font-size:15px;font-weight:500;margin-bottom:6px;color:#374151}.form-control{width:100%!important;box-sizing:border-box;border-radius:8px!important;border:1px solid #d1d5db!important;padding:9px 12px!important;font-size:13px;background:#f9fafb;transition:all .2s ease}.form-control:focus{border-color:#3b82f6!important;background:#fff;box-shadow:0 0 0 3px #3b82f626!important;outline:none}.auth-actions{grid-column:1 / -1;display:flex;justify-content:center;margin-top:10px}.auth-actions .btn{max-width:340px;width:100%}.btn-primary{background:#3b82f6!important;border:none!important;padding:11px!important;font-size:16px!important;font-weight:600!important;border-radius:8px!important;transition:.3s ease!important}.btn-primary:hover{background:#2563eb!important;transform:translateY(-2px);box-shadow:0 8px 18px #3b82f640}.alert{border-radius:8px;font-size:15px}.auth-footer-text{margin-top:16px;font-size:13px;text-align:center;color:#374151}.auth-footer-text a{font-weight:600;color:#3b82f6;text-decoration:none}.auth-footer-text a:hover{text-decoration:underline}@media (max-width: 900px){.auth-card{padding:30px 25px}.auth-form-grid{grid-template-columns:1fr;gap:30px}}:root{--sa-bg: #050810;--sa-bg-2: #080d1a;--sa-card: rgba(255,255,255,.04);--sa-card-hover: rgba(255,255,255,.07);--sa-card-border: rgba(255,255,255,.08);--sa-card-border-h:rgba(255,255,255,.15);--sa-indigo: #6366f1;--sa-cyan: #22d3ee;--sa-amber: #f59e0b;--sa-emerald: #10b981;--sa-rose: #f43f5e;--sa-violet: #a78bfa;--sa-text: #f0f4ff;--sa-muted: #5a6a8a;--sa-muted-2: #8899bb}@keyframes sa-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes sa-fadein{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sa-spin{to{transform:rotate(360deg)}}.sa-container{padding:32px 36px;min-height:100vh;font-family:Space Grotesk,sans-serif;color:var(--sa-text);animation:sa-fadein .5s ease;background:radial-gradient(ellipse 80% 50% at 10% 0%,rgba(99,102,241,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 90% 100%,rgba(34,211,238,.08) 0%,transparent 55%),var(--sa-bg);position:relative}.sa-container:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}.sa-container>*{position:relative;z-index:1}.sa-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.sa-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-family:JetBrains Mono,monospace;letter-spacing:2.5px;text-transform:uppercase;color:var(--sa-indigo);background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:6px;padding:4px 12px;margin-bottom:10px}.sa-title{font-size:26px;font-weight:700;margin:0;letter-spacing:-.8px;background:linear-gradient(135deg,#f0f4ff,#a8b8d8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sa-subtitle{font-size:12px;color:var(--sa-muted-2);margin-top:5px;font-family:JetBrains Mono,monospace}.sa-live-indicator{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--sa-emerald);background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:24px;padding:8px 18px;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sa-live-dot{width:8px;height:8px;border-radius:50%;background:var(--sa-emerald);animation:sa-pulse 2s infinite;box-shadow:0 0 8px var(--sa-emerald)}.sa-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px}.sa-kpi-card{background:var(--sa-card);border:1px solid var(--sa-card-border);border-radius:14px;padding:20px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;animation:sa-fadein .5s ease both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sa-kpi-card:hover{transform:translateY(-3px);border-color:var(--sa-card-border-h);box-shadow:0 12px 40px #0000004d}.sa-kpi-accent-bar{position:absolute;top:0;left:0;right:0;height:2px;border-radius:14px 14px 0 0}.sa-kpi-icon{font-size:22px;display:block;margin-bottom:12px}.sa-kpi-label{font-size:10px;font-family:JetBrains Mono,monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--sa-muted-2);margin-bottom:6px}.sa-kpi-value{font-size:28px;font-weight:700;margin:0;line-height:1;letter-spacing:-1px}.sa-kpi-sub{font-size:11px;font-family:JetBrains Mono,monospace;color:var(--sa-muted);margin-top:6px}.sa-search-bar{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.sa-search-input-wrap{position:relative;flex:1;min-width:260px}.sa-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}.sa-search-input{width:100%;background:var(--sa-card);border:1px solid var(--sa-card-border);border-radius:10px;padding:10px 38px 10px 40px;color:var(--sa-text);font-size:13.5px;font-family:Space Grotesk,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.sa-search-input::placeholder{color:var(--sa-muted)}.sa-search-input:focus{border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.sa-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--sa-muted);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px;transition:color .2s}.sa-search-clear:hover{color:var(--sa-rose)}.sa-filter-tabs{display:flex;gap:6px;background:var(--sa-card);border:1px solid var(--sa-card-border);border-radius:10px;padding:4px}.sa-filter-tab{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;border:none;background:none;color:var(--sa-muted-2);font-size:12.5px;font-family:Space Grotesk,sans-serif;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.sa-filter-tab:hover{color:var(--sa-text)}.sa-filter-tab.active{background:#6366f126;color:var(--sa-indigo);border:1px solid rgba(99,102,241,.2)}.sa-filter-tab-count{background:#ffffff14;border-radius:10px;padding:1px 7px;font-size:10px;font-family:JetBrains Mono,monospace}.sa-filter-tab.active .sa-filter-tab-count{background:#6366f133}.sa-results-info{font-size:12px;color:var(--sa-muted);font-family:JetBrains Mono,monospace;white-space:nowrap}.sa-company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:28px}.sa-company-card{background:var(--sa-card);border:1px solid var(--sa-card-border);border-radius:16px;padding:22px;transition:transform .25s,border-color .25s,box-shadow .25s;animation:sa-fadein .4s ease both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:14px}.sa-company-card:hover{transform:translateY(-4px);border-color:var(--sa-card-border-h);box-shadow:0 16px 48px #00000059}.sa-company-card.sa-company-inactive{opacity:.6}.sa-company-card.sa-company-inactive:hover{opacity:.8}.sa-company-card-header{display:flex;align-items:center;gap:12px}.sa-company-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6366f14d,#22d3ee33);border:1px solid rgba(99,102,241,.2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--sa-indigo);letter-spacing:-.5px;flex-shrink:0}.sa-company-info{flex:1;min-width:0}.sa-company-name{font-size:14.5px;font-weight:600;color:var(--sa-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sa-company-code{margin-top:4px}.sa-code-badge{display:inline-block;font-size:10px;font-family:JetBrains Mono,monospace;letter-spacing:1.5px;color:var(--sa-cyan);background:#22d3ee14;border:1px solid rgba(34,211,238,.15);border-radius:5px;padding:2px 8px}.sa-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.sa-status-dot.active{background:var(--sa-emerald);box-shadow:0 0 8px #10b98180;animation:sa-pulse 3s infinite}.sa-status-dot.inactive{background:var(--sa-rose);opacity:.7}.sa-company-meta{display:flex;flex-direction:column;gap:5px}.sa-meta-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sa-muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-meta-icon{font-size:11px;flex-shrink:0}.sa-company-stats{display:flex;align-items:center;background:#ffffff06;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:12px;gap:0}.sa-stat-item{flex:1;text-align:center;display:flex;flex-direction:column;gap:3px}.sa-stat-value{font-size:18px;font-weight:700;line-height:1;font-family:JetBrains Mono,monospace}.sa-stat-label{font-size:10px;color:var(--sa-muted);text-transform:uppercase;letter-spacing:.8px}.sa-stat-divider{width:1px;height:32px;background:#ffffff0f;flex-shrink:0}.sa-company-actions{display:flex;gap:8px}.sa-btn-enter{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:9px;border:none;background:linear-gradient(135deg,#6366f140,#6366f126);border:1px solid rgba(99,102,241,.3);color:#a5b4fc;font-size:12.5px;font-weight:600;font-family:Space Grotesk,sans-serif;cursor:pointer;transition:all .2s}.sa-btn-enter:hover:not(:disabled){background:linear-gradient(135deg,#6366f166,#6366f140);border-color:#6366f180;color:#c7d2fe;box-shadow:0 0 20px #6366f133}.sa-btn-enter:disabled{opacity:.4;cursor:not-allowed}.sa-btn-spinner{width:14px;height:14px;border:2px solid rgba(165,180,252,.3);border-top-color:#a5b4fc;border-radius:50%;animation:sa-spin .7s linear infinite;display:inline-block}.sa-btn-toggle{padding:9px 12px;border-radius:9px;border:none;font-size:11.5px;font-weight:600;font-family:Space Grotesk,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap}.sa-btn-toggle.deactivate{background:#f43f5e1a;border:1px solid rgba(244,63,94,.2);color:#fb7185}.sa-btn-toggle.deactivate:hover{background:#f43f5e33;border-color:#f43f5e66}.sa-btn-toggle.activate{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#34d399}.sa-btn-toggle.activate:hover{background:#10b98133;border-color:#10b98166}.sa-company-joined{font-size:10.5px;font-family:JetBrains Mono,monospace;color:var(--sa-muted);text-align:center;padding-top:6px;border-top:1px solid rgba(255,255,255,.04)}.sa-empty-state{text-align:center;padding:80px 20px}.sa-empty-icon{font-size:52px;margin-bottom:16px}.sa-empty-title{font-size:18px;font-weight:600;color:var(--sa-muted-2);margin-bottom:8px}.sa-empty-sub{font-size:13px;color:var(--sa-muted);font-family:JetBrains Mono,monospace}.sa-loading{text-align:center;color:var(--sa-muted);font-size:14px;padding:80px 0;font-family:JetBrains Mono,monospace;letter-spacing:1px}.sa-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px 0;flex-wrap:wrap}.sa-page-btn{padding:7px 16px;border-radius:8px;border:1px solid var(--sa-card-border);background:var(--sa-card);color:var(--sa-muted-2);font-size:12.5px;font-family:Space Grotesk,sans-serif;cursor:pointer;transition:all .2s}.sa-page-btn:hover:not(:disabled){border-color:#6366f14d;color:var(--sa-indigo)}.sa-page-btn:disabled{opacity:.3;cursor:not-allowed}.sa-page-numbers{display:flex;gap:4px}.sa-page-num{width:34px;height:34px;border-radius:8px;border:1px solid var(--sa-card-border);background:var(--sa-card);color:var(--sa-muted-2);font-size:12.5px;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.sa-page-num:hover{border-color:#6366f14d;color:var(--sa-indigo)}.sa-page-num.active{background:#6366f133;border-color:#6366f166;color:#a5b4fc;font-weight:700}.sa-page-info{font-size:11.5px;font-family:JetBrains Mono,monospace;color:var(--sa-muted)}@media (max-width: 1400px){.sa-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1280px){.sa-kpi-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 1024px){.sa-container{padding:20px}.sa-kpi-grid{grid-template-columns:repeat(3,1fr)}.sa-company-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width: 768px){.sa-container{padding:14px}.sa-kpi-grid{grid-template-columns:repeat(2,1fr)}.sa-search-bar{flex-direction:column;align-items:stretch}.sa-filter-tabs{justify-content:center}.sa-company-grid{grid-template-columns:1fr}.sa-header{flex-direction:column}}@media (max-width: 480px){.sa-kpi-grid{grid-template-columns:1fr}}.sa-kpi-card-clickable{transition:transform .2s,box-shadow .2s,border-color .2s!important}.sa-kpi-card-clickable:hover{transform:translateY(-4px)!important;box-shadow:0 16px 40px #0000004d!important;border-color:#ffffff26!important}.sa-kpi-click-hint{font-size:10px;margin-top:6px;font-family:JetBrains Mono,monospace;opacity:.7}.sa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.sa-modal{background:#0f1729;border:1px solid rgba(255,255,255,.1);border-radius:18px;width:100%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .25s ease;box-shadow:0 30px 80px #00000080}.sa-modal-wide{max-width:860px}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.sa-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.sa-modal-badge{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-family:JetBrains Mono,monospace;margin-bottom:6px}.sa-modal-title{font-size:20px;font-weight:700;color:#f0f4ff;margin:0 0 4px}.sa-modal-sub{font-size:12px;color:#94a3b8;font-family:JetBrains Mono,monospace;margin:0}.sa-modal-close{background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#94a3b8;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s}.sa-modal-close:hover{background:#f43f5e26;border-color:#f43f5e4d;color:#f43f5e}.sa-modal-export-btn{background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:8px;color:#22c55e;padding:6px 14px;font-size:12px;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .2s}.sa-modal-export-btn:hover{background:#22c55e33}.sa-modal-search-wrap{display:flex;align-items:center;gap:10px;margin:0 28px;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#94a3b8}.sa-modal-search{flex:1;background:transparent;border:none;outline:none;color:#f0f4ff;font-size:13px;font-family:Space Grotesk,sans-serif}.sa-modal-search::placeholder{color:#64748b}.sa-modal-search-clear{background:none;border:none;color:#64748b;cursor:pointer;font-size:12px;padding:0}.sa-modal-search-clear:hover{color:#f0f4ff}.sa-modal-list{flex:1;overflow-y:auto;padding:12px 28px 24px;display:flex;flex-direction:column;gap:10px}.sa-modal-list::-webkit-scrollbar{width:6px}.sa-modal-list::-webkit-scrollbar-track{background:transparent}.sa-modal-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sa-modal-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:12px;transition:border-color .2s,background .2s}.sa-modal-row:hover{background:#ffffff0d;border-color:#ffffff1f}.sa-modal-row-billing{align-items:flex-start}.sa-modal-row-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;font-family:JetBrains Mono,monospace}.sa-modal-row-info{flex:1;min-width:0}.sa-modal-row-name{font-size:14px;font-weight:600;color:#f0f4ff;margin-bottom:4px}.sa-modal-row-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:#94a3b8;font-family:JetBrains Mono,monospace;margin-bottom:6px}.sa-modal-row-stats{display:flex;gap:12px;font-size:11px;font-family:JetBrains Mono,monospace}.sa-modal-amounts{display:flex;gap:10px;margin-top:8px}.sa-modal-amt-item{background:#0003;border-radius:6px;padding:6px 12px;text-align:center}.sa-modal-amt-label{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#94a3b8;font-family:JetBrains Mono,monospace;margin-bottom:2px}.sa-modal-amt-val{font-size:12px;font-weight:700;color:#f0f4ff;font-family:JetBrains Mono,monospace}.sa-modal-activate-btn{padding:8px 16px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;font-family:Space Grotesk,sans-serif}.sa-modal-activate-btn:hover{background:#10b98140;border-color:#10b98180}.sa-modal-activate-btn:disabled{opacity:.5;cursor:not-allowed}.sa-modal-reminder-btn{padding:8px 14px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:8px;color:#f59e0b;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:Space Grotesk,sans-serif}.sa-modal-reminder-btn:hover{background:#f59e0b38;border-color:#f59e0b66}.sa-modal-empty{text-align:center;padding:50px 20px;color:#64748b;font-family:JetBrains Mono,monospace;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px}.sab-stat-card-clickable{cursor:pointer;transition:transform .2s,border-color .2s!important}.sab-stat-card-clickable:hover{transform:translateY(-3px);border-color:#ffffff2e!important}.sab-stat-click-hint{font-size:9px;margin-top:6px;font-family:JetBrains Mono,monospace;opacity:.7;letter-spacing:.5px}:root{--bg-main: #f0f4ff;--bg-card: #ffffff;--bg-card-hover: #fafbff;--border: #e4e9f5;--border-light: #eef1fa;--text-primary: #0f1c3f;--text-secondary: #4a5578;--text-muted: #8a94b0;--indigo: #4f46e5;--indigo-light: #eef0ff;--indigo-mid: #c7d2fe;--emerald: #059669;--emerald-light: #ecfdf5;--rose: #e11d48;--rose-light: #fff1f4;--amber: #d97706;--amber-light: #fffbeb;--sky: #0284c7;--sky-light: #f0f9ff;--violet: #7c3aed;--violet-light: #f5f3ff;--cyan: #0891b2;--cyan-light: #ecfeff;--shadow-sm: 0 1px 3px rgba(15,28,63,.06), 0 1px 2px rgba(15,28,63,.04);--shadow-md: 0 4px 16px rgba(15,28,63,.08), 0 2px 6px rgba(15,28,63,.05);--shadow-lg: 0 12px 32px rgba(15,28,63,.1), 0 4px 12px rgba(15,28,63,.06);--shadow-colored: 0 8px 24px rgba(79,70,229,.15);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px}.dash-root{padding:32px 36px;min-height:100vh;background:var(--bg-main);font-family:DM Sans,sans-serif;color:var(--text-primary)}.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:nowrap}.dash-role-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:DM Mono,monospace;color:var(--indigo);background:var(--indigo-light);border:1px solid var(--indigo-mid);border-radius:6px;padding:4px 12px;margin-bottom:10px}.dash-title{font-family:Outfit,sans-serif;font-size:30px;font-weight:700;color:var(--text-primary);margin:0 0 4px;letter-spacing:-.5px}.dash-subtitle{font-size:13px;color:var(--text-muted);font-family:DM Mono,monospace;margin:0}.dash-header-right{display:flex;flex-direction:row;align-items:center;gap:10px;flex-shrink:0}.dash-live-badge{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--emerald);font-family:DM Mono,monospace;background:var(--emerald-light);border:1px solid #a7f3d0;border-radius:20px;padding:5px 14px}.dash-live-dot{width:7px;height:7px;border-radius:50%;background:var(--emerald);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.dash-date{font-size:12px;color:#fff!important;font-weight:600;font-family:DM Mono,monospace;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:5px 12px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(var(--kpi-cols, 4),1fr);gap:20px;margin-bottom:28px}.dash-kpi-grid:has(.dash-kpi-card:nth-child(4):last-child){--kpi-cols: 4}.dash-kpi-grid:has(.dash-kpi-card:nth-child(5):last-child){--kpi-cols: 5}.dash-kpi-grid:has(.dash-kpi-card:nth-child(6):last-child){--kpi-cols: 6}@media (max-width: 1200px){.dash-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.dash-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.dash-kpi-grid{grid-template-columns:1fr}}.dash-kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:default;min-height:140px;display:flex;flex-direction:column;justify-content:center;animation:fadeSlideUp .4s ease both}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.dash-kpi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.dash-kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dash-kpi-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}.dash-kpi-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-family:DM Mono,monospace;margin-bottom:6px}.dash-kpi-value{font-family:Outfit,sans-serif;font-size:32px;font-weight:700;margin:0 0 4px;letter-spacing:-1px}.dash-kpi-sub{font-size:11px;color:var(--text-muted);font-family:DM Mono,monospace}.dash-kpi-card.indigo:before{background:var(--indigo)}.dash-kpi-card.indigo .dash-kpi-icon{background:var(--indigo-light)}.dash-kpi-card.indigo .dash-kpi-value{color:var(--indigo)}.dash-kpi-card.emerald:before{background:var(--emerald)}.dash-kpi-card.emerald .dash-kpi-icon{background:var(--emerald-light)}.dash-kpi-card.emerald .dash-kpi-value{color:var(--emerald)}.dash-kpi-card.rose:before{background:var(--rose)}.dash-kpi-card.rose .dash-kpi-icon{background:var(--rose-light)}.dash-kpi-card.rose .dash-kpi-value{color:var(--rose)}.dash-kpi-card.amber:before{background:var(--amber)}.dash-kpi-card.amber .dash-kpi-icon{background:var(--amber-light)}.dash-kpi-card.amber .dash-kpi-value{color:var(--amber)}.dash-kpi-card.sky:before{background:var(--sky)}.dash-kpi-card.sky .dash-kpi-icon{background:var(--sky-light)}.dash-kpi-card.sky .dash-kpi-value{color:var(--sky)}.dash-kpi-card.violet:before{background:var(--violet)}.dash-kpi-card.violet .dash-kpi-icon{background:var(--violet-light)}.dash-kpi-card.violet .dash-kpi-value{color:var(--violet)}.dash-kpi-card.cyan:before{background:var(--cyan)}.dash-kpi-card.cyan .dash-kpi-icon{background:var(--cyan-light)}.dash-kpi-card.cyan .dash-kpi-value{color:var(--cyan)}.dash-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.dash-content-grid.single{grid-template-columns:1fr}.dash-content-grid.triple{grid-template-columns:1fr 1fr 1fr}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:box-shadow .2s}.dash-card:hover{box-shadow:var(--shadow-md)}.dash-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dash-card-title{font-family:Outfit,sans-serif;font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.dash-card-action{font-size:12px;color:var(--indigo);text-decoration:none;font-family:DM Mono,monospace;cursor:pointer;background:none;border:none;padding:0}.dash-card-action:hover{text-decoration:underline}.dash-attendance-bar{display:flex;height:10px;border-radius:10px;overflow:hidden;margin-bottom:14px;gap:2px}.dash-att-seg{height:100%;border-radius:10px;transition:flex .6s ease}.dash-att-legend{display:flex;gap:16px;flex-wrap:wrap}.dash-att-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-family:DM Mono,monospace}.dash-att-dot{width:8px;height:8px;border-radius:50%}.dash-status-list{display:flex;flex-direction:column;gap:10px}.dash-status-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-main);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.dash-status-left{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}.dash-status-icon{font-size:16px}.dash-status-val{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:var(--text-primary)}.dash-my-info{display:flex;align-items:center;gap:10px;padding:6px 12px;background:linear-gradient(135deg,var(--indigo-light),#f5f3ff);border:1px solid var(--indigo-mid);border-radius:12px;white-space:nowrap;flex-shrink:0}.dash-my-avatar{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--indigo),var(--violet));display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.dash-my-name{font-family:Outfit,sans-serif;font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.2}.dash-my-role{font-size:11px;color:var(--indigo);font-family:DM Mono,monospace;line-height:1.2}.dash-my-dept{font-size:12px;color:var(--text-muted);margin-top:2px}.dash-today-status{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;font-family:DM Mono,monospace}.dash-today-status.present{background:var(--emerald-light);color:var(--emerald);border:1px solid #a7f3d0}.dash-today-status.absent{background:var(--rose-light);color:var(--rose);border:1px solid #fecdd3}.dash-today-status.leave{background:var(--amber-light);color:var(--amber);border:1px solid #fde68a}.dash-quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.dash-quick-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-decoration:none;color:var(--text-secondary);font-size:12px;font-family:DM Mono,monospace;text-align:center}.dash-quick-btn:hover{border-color:var(--indigo-mid);background:var(--indigo-light);color:var(--indigo);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dash-quick-btn-icon{font-size:22px}.dash-leave-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.dash-leave-item{text-align:center;padding:14px 10px;background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.dash-leave-count{font-family:Outfit,sans-serif;font-size:24px;font-weight:700;color:var(--indigo)}.dash-leave-type{font-size:10px;color:var(--text-muted);font-family:DM Mono,monospace;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.dash-salary-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#4f46e5,#7c3aed 60%,#a855f7);border-radius:var(--radius-md);padding:22px 20px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;box-shadow:0 8px 24px #4f46e54d;transition:box-shadow .2s,transform .2s}.dash-salary-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #4f46e566}.dash-salary-card:before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:#ffffff12;border-radius:50%;pointer-events:none}.dash-salary-card:after{content:"";position:absolute;bottom:-20px;left:40%;width:80px;height:80px;background:#ffffff0d;border-radius:50%;pointer-events:none}.dash-salary-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;opacity:.75;font-family:DM Mono,monospace;margin-bottom:6px}.dash-salary-val{font-family:Outfit,sans-serif;font-size:24px;font-weight:800;letter-spacing:-.5px;line-height:1.1}.dash-salary-meta{font-size:11px;opacity:.6;font-family:DM Mono,monospace;margin-top:4px}.dash-salary-btn{flex-shrink:0;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);border-radius:30px;color:#fff;padding:10px 20px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:all .2s;font-family:DM Sans,sans-serif;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dash-salary-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.03)}.dash-loading{display:flex;align-items:center;gap:12px;padding:60px 20px;color:var(--text-muted);font-family:DM Mono,monospace;font-size:13px;justify-content:center}.dash-spinner{width:20px;height:20px;border:2px solid var(--indigo-mid);border-top-color:var(--indigo);border-radius:50%;animation:spin .7s linear infinite}.dash-error{background:var(--rose-light);border:1px solid #fecdd3;border-radius:var(--radius-sm);padding:12px 16px;color:var(--rose);font-size:13px;margin-bottom:20px}.dash-section-title{font-family:Outfit,sans-serif;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin:24px 0 12px;display:flex;align-items:center;gap:8px}.dash-section-title:after{content:"";flex:1;height:1px;background:var(--border)}.dash-pending-list{display:flex;flex-direction:column;gap:8px}.dash-pending-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);transition:background .15s,border-color .15s}.dash-pending-item:hover{background:var(--indigo-light);border-color:var(--indigo-mid)}.dash-pending-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;font-family:DM Mono,monospace}.dash-pending-badge.amber{background:var(--amber-light);color:var(--amber)}.dash-pending-badge.rose{background:var(--rose-light);color:var(--rose)}@media (max-width: 1200px){.dash-root{padding:24px}.dash-content-grid{grid-template-columns:1fr}.dash-content-grid.triple{grid-template-columns:1fr 1fr}.dash-title{font-size:26px}}@media (max-width: 992px){.dash-root{padding:20px}.dash-header{flex-wrap:wrap;gap:14px}.dash-header-right{flex-wrap:wrap;gap:8px}.dash-title{font-size:24px}.dash-content-grid.triple{grid-template-columns:1fr}.dash-kpi-card{padding:20px 16px;min-height:120px}.dash-kpi-value{font-size:26px}}@media (max-width: 768px){.dash-root{padding:16px}.dash-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.dash-header-right{width:100%;flex-wrap:wrap;gap:8px;justify-content:flex-start}.dash-my-info{flex:1;min-width:0}.dash-title{font-size:22px}.dash-date{font-size:11px}.dash-kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.dash-kpi-card{padding:18px 14px;min-height:110px}.dash-kpi-icon{width:36px;height:36px;font-size:18px;margin-bottom:10px}.dash-kpi-value{font-size:24px}.dash-kpi-label{font-size:10px}.dash-content-grid{grid-template-columns:1fr;gap:14px}.dash-card{padding:18px}.dash-card-title{font-size:14px}.dash-quick-actions{grid-template-columns:repeat(3,1fr);gap:10px}.dash-quick-btn{padding:14px 8px;font-size:11px}.dash-quick-btn-icon{font-size:20px}.dash-att-legend{gap:10px}.dash-att-legend-item{font-size:11px}.dash-pending-item{font-size:12px;padding:10px 12px}.dash-pending-badge{font-size:10px;padding:3px 8px}.dash-status-row{padding:9px 12px}.dash-status-left{font-size:12px}.dash-status-val{font-size:16px}.dash-salary-card{flex-direction:column;gap:14px;align-items:flex-start}.dash-salary-btn{width:100%;text-align:center;justify-content:center}.dash-salary-val{font-size:20px}}@media (max-width: 576px){.dash-root{padding:12px}.dash-title{font-size:20px}.dash-role-badge{font-size:10px;padding:3px 10px}.dash-live-badge{padding:4px 10px;font-size:11px}.dash-date{display:none}.dash-kpi-grid{gap:10px;margin-bottom:12px}.dash-kpi-card{padding:14px 12px;min-height:100px;border-radius:14px}.dash-kpi-icon{width:32px;height:32px;font-size:16px;margin-bottom:8px}.dash-kpi-value{font-size:22px;letter-spacing:-.5px}.dash-kpi-sub{font-size:10px}.dash-card{padding:14px;border-radius:14px}.dash-card-header{margin-bottom:14px}.dash-quick-actions{grid-template-columns:repeat(2,1fr);gap:8px}.dash-quick-btn{padding:12px 8px;gap:6px;border-radius:12px}.dash-quick-btn-icon{font-size:18px}.dash-status-left{gap:8px;font-size:12px}.dash-status-icon{font-size:14px}.dash-today-status{font-size:11px;padding:4px 10px}.dash-section-title{font-size:11px;margin:16px 0 8px}.dash-salary-card{padding:16px 14px}.dash-salary-val{font-size:18px}}@media (max-width: 400px){.dash-root{padding:10px}.dash-kpi-grid{grid-template-columns:1fr;gap:8px}.dash-kpi-card{flex-direction:row;align-items:center;gap:14px;min-height:auto;padding:14px}.dash-kpi-icon{margin-bottom:0;flex-shrink:0}.dash-kpi-value{font-size:20px}.dash-quick-actions{grid-template-columns:repeat(2,1fr)}.dash-header-right{gap:6px}.dash-my-name{font-size:12px}.dash-my-role{font-size:10px}}.sab-root{padding:28px 32px;min-height:100vh;background:transparent;font-family:Space Grotesk,sans-serif;color:#e5ecff}.sab-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:#a5b4fc;background:#a5b4fc1f;border:1px solid rgba(165,180,252,.35);border-radius:6px;padding:4px 12px;font-family:JetBrains Mono,monospace;margin-bottom:10px}.sab-title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 4px;color:#fff!important;-webkit-text-fill-color:#ffffff!important;background:none!important;background-clip:unset!important;-webkit-background-clip:unset!important;opacity:1!important}.sab-subtitle{font-size:13px;color:#9ca3c8;margin:0 0 24px;font-family:JetBrains Mono,monospace}.sab-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px}.sab-stat-card{background:#0f172ad9;border:1px solid rgba(99,102,241,.25);border-radius:14px;padding:16px 18px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.sab-stat-card:hover{transform:translateY(-2px);border-color:#6366f199}.sab-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#6366f1,#818cf8,#a5b4fc);opacity:.9}.sab-stat-label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#9ca3c8;font-family:JetBrains Mono,monospace;margin-bottom:8px}.sab-stat-value{font-size:22px;font-weight:700;letter-spacing:-.5px;color:#f9fafb}.sab-stat-sub{font-size:10px;color:#f97373;margin-top:4px;font-family:JetBrains Mono,monospace}.sab-toolbar{display:flex;gap:14px;align-items:center;margin-bottom:20px;flex-wrap:wrap;overflow:visible;flex-direction:row}.sab-search-wrap{position:relative;flex:1;min-width:240px}.sab-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:#9ca3c8}.sab-search{width:100%;box-sizing:border-box;padding:10px 14px 10px 36px;background:#0f172af2;border:1px solid rgba(99,102,241,.35);border-radius:10px;color:#e5ecff;font-size:13px;font-family:Space Grotesk,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}.sab-search:focus{border-color:#6366f1e6;box-shadow:0 0 0 3px #6366f133}.sab-search::placeholder{color:#9ca3c8;opacity:1}.sab-search::-webkit-input-placeholder{color:#9ca3c8;opacity:1}.sab-filters{display:flex;gap:6px;flex-wrap:wrap;overflow:visible;flex-shrink:0}.sab-filter-btn{padding:8px 16px;background:#6366f11f;border:1px solid rgba(99,102,241,.45);border-radius:8px;color:#a5b4fc;font-size:12px;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:max-content;width:auto;overflow:visible;text-overflow:unset;flex-shrink:0}.sab-filter-btn:hover{background:#6366f140;color:#c7d2fe;border-color:#6366f1cc}.sab-filter-btn.active{background:#4f46e540;border-color:#6366f1;color:#e0e7ff;font-weight:600}.sab-results-info{font-size:11px;color:#9ca3c8;font-family:JetBrains Mono,monospace;margin-bottom:16px}.sab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.sab-card{background:#0f172ae6;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s}.sab-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px #0f172acc;border-color:#6366f1b3}.sab-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.sab-avatar{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;font-family:JetBrains Mono,monospace;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff}.sab-card-title-wrap{flex:1;min-width:0}.sab-card-name{font-size:14px;font-weight:600;color:#f9fafb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sab-card-id{font-size:10px;color:#9ca3c8;font-family:JetBrains Mono,monospace;margin-top:2px}.sab-status-badge{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 8px;border-radius:6px;font-family:JetBrains Mono,monospace;flex-shrink:0;background:#16a34a2e;color:#bbf7d0;border:1px solid rgba(34,197,94,.4)}.sab-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.sab-amount-item{background:#6366f114;border-radius:10px;padding:10px 10px 8px;text-align:center;border:1px solid rgba(99,102,241,.2)}.sab-amount-label{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#9ca3c8;font-family:JetBrains Mono,monospace;margin-bottom:4px}.sab-amount-value{font-size:13px;font-weight:700;color:#e0e7ff;font-family:JetBrains Mono,monospace}.sab-progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sab-progress-bar{flex:1;height:5px;border-radius:999px;background:#6366f133;overflow:hidden}.sab-progress-fill{height:100%;border-radius:999px;transition:width .6s ease}.sab-progress-pct{font-size:10px;color:#9ca3c8;font-family:JetBrains Mono,monospace;white-space:nowrap}.sab-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:#9ca3c8;font-family:JetBrains Mono,monospace;margin-bottom:14px}.sab-enter-btn{width:100%;padding:10px;background:linear-gradient(135deg,#6366f140,#818cf833);border:1px solid rgba(99,102,241,.7);border-radius:10px;color:#c7d2fe;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Space Grotesk,sans-serif}.sab-enter-btn:hover{background:linear-gradient(135deg,#6366f173,#818cf859);border-color:#818cf8;color:#e0e7ff;transform:translateY(-1px)}.sab-loading{display:flex;align-items:center;gap:14px;padding:40px 20px;color:#9ca3c8;font-family:JetBrains Mono,monospace;font-size:13px;justify-content:center}.sab-spinner{width:20px;height:20px;border:2px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .7s linear infinite}.sab-error{background:#f871711a;border:1px solid rgba(248,113,113,.4);border-radius:12px;padding:14px 18px;color:#fecaca;font-size:13px;margin-bottom:20px}.sab-empty{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#9ca3c8;font-size:14px;font-family:JetBrains Mono,monospace}@media (max-width: 1400px){.sab-stats-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 1200px){.sab-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.sab-root{padding:16px}.sab-stats-grid{grid-template-columns:repeat(2,1fr)}.sab-toolbar{flex-direction:column}.sab-grid{grid-template-columns:1fr}}.sab-header{margin-bottom:24px;background:transparent}.sab-toolbar-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.face-punching-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:#f0f4f8;padding:32px 16px 48px;font-family:Segoe UI,system-ui,sans-serif}.punch-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #0f172a1a,0 1px 4px #0f172a0f;border:1px solid #e5e7eb;max-width:460px;width:100%;overflow:hidden}.punch-card-header{background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#3b82f6);padding:22px 24px 18px;position:relative;overflow:hidden}.punch-card-header:before{content:"";position:absolute;top:-30px;right:-30px;width:110px;height:110px;border-radius:50%;background:#ffffff12}.punch-card-header h2{margin:0 0 4px;font-size:19px;font-weight:700;color:#fff;position:relative;z-index:1}.punch-card-header p{margin:0;font-size:13px;color:#ffffffb8;position:relative;z-index:1}.punch-card-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.gps-banner{padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.gps-checking{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.gps-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.gps-warn{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.gps-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.btn-start-camera{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .18s;box-shadow:0 4px 14px #2563eb4d}.btn-start-camera:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb66}.btn-start-camera:disabled{opacity:.6;cursor:not-allowed;transform:none}.camera-wrapper{position:relative;border-radius:14px;overflow:hidden;background:#0f172a;border:2px solid #e5e7eb;aspect-ratio:4/3}.face-status{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.face-status.detected{background:#16a34aeb;color:#fff}.face-status.not-detected{background:#dc2626d9;color:#fff}.punch-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.punch-type-option{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:10px;border:2px solid #e5e7eb;background:#f9fafb;cursor:pointer;font-size:14px;font-weight:600;color:#6b7280;transition:all .15s}.punch-type-option input[type=radio]{display:none}.punch-type-option.selected-in{border-color:#16a34a;background:#f0fdf4;color:#15803d}.punch-type-option.selected-out{border-color:#dc2626;background:#fef2f2;color:#b91c1c}.punch-type-option:hover{border-color:#9ca3af;background:#f3f4f6}.btn-punch-main{width:100%;padding:14px;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .18s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-punch-main.punch-in{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 4px 16px #16a34a4d}.btn-punch-main.punch-out{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 16px #dc26264d}.btn-punch-main:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07)}.btn-punch-main:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}.btn-stop-camera{width:100%;padding:10px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;color:#6b7280;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.btn-stop-camera:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.message{padding:12px 14px;border-radius:10px;font-size:13px;font-weight:500;animation:fpSlideIn .25s ease;display:flex;align-items:flex-start;gap:8px}.message-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-left:4px solid #16a34a}.message-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-left:4px solid #dc2626}@keyframes fpSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 500px){.face-punching-container{padding:16px 10px 32px}.punch-card-header{padding:18px 18px 14px}.punch-card-body{padding:16px 18px;gap:12px}}.shift-page{max-width:1100px;margin:0 auto;padding:28px 32px 60px;background:#f0f4ff;font-family:DM Sans,Segoe UI,system-ui,sans-serif}.shift-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:24px 28px;background:linear-gradient(135deg,#3730a3,#6366f1 60%,#818cf8);border-radius:16px;box-shadow:0 8px 32px #6366f140;color:#fff}.shift-page-title{margin:0;font-size:clamp(18px,2.5vw,22px);font-weight:700;color:#fff;letter-spacing:-.3px}.shift-page-subtitle{margin:4px 0 0;font-size:13px;color:#ffffffd9}.shift-header-right{display:flex;align-items:center;gap:8px}.shift-summary-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);color:#fffffff2;font-size:12px;font-weight:500}.shift-summary-pill .dot{width:8px;height:8px;border-radius:999px;background:#22c55e}.shift-page-error,.shift-page__error{background-color:#ef44441a;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid #dc2626;font-size:13px}.shift-page-success{background-color:#10b9811a;color:#10b981;padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid #10b981;font-size:13px}.shift-page__empty{text-align:center;color:var(--color-text-secondary);padding:40px 24px}.shift-page__loading{font-size:13px;color:var(--color-text-secondary)}.shift-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0f172a1f}.shift-table thead{background:linear-gradient(90deg,#3730a3,#6366f1)}.shift-table th{padding:11px 16px;text-align:left;font-weight:700;font-size:11px;color:#ffffffeb;border-bottom:none;text-transform:uppercase;letter-spacing:.6px}.shift-table td{padding:12px 16px;border-bottom:1px solid var(--color-border);font-size:13px;color:var(--color-text)}.shift-table tbody tr:hover{background-color:#0f172a05;transition:background-color .15s ease}.shift-table__actions{display:flex;gap:8px}.shift-status-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500}.shift-status-active{background:#dcfce7;color:#166534}.shift-status-inactive{background:#fee2e2;color:#b91c1c}.shift-card,.shift-form-card{max-width:1000px;margin:0 auto;background:#fff;border-radius:16px;padding:24px 28px;box-shadow:0 4px 24px #0f172a12;border:1px solid #e4e9f5}.shift-list-card{margin-top:4px}.shift-form{display:flex;flex-direction:column}.shift-section,.shift-form__section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.shift-section:last-of-type,.shift-form__section:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.shift-section-title,.shift-form__section-title{margin:0 0 18px;font-size:14px;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em}.shift-grid,.shift-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:20px;margin-bottom:8px}.shift-row,.shift-form__row{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:10px}.shift-field,.shift-form__group{display:flex;flex-direction:column;gap:8px}.shift-label,.shift-form__label{font-size:13px;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:4px}.shift-input,.shift-form__input{padding:9px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:13px;background:#fff;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.shift-input:focus,.shift-form__input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.shift-input--time,.shift-form__input--time{max-width:160px}.shift-input--number,.shift-form__input--number{max-width:140px}.shift-checkbox-label,.shift-form__checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none}.shift-checkbox-label:hover,.shift-form__checkbox-label:hover{color:var(--color-primary)}.shift-checkbox,.shift-form__checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.shift-weekdays,.shift-form__weekdays{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:6px}.shift-weekday-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--color-border);background:#f9fafb;font-size:12px;color:var(--color-text);cursor:pointer;transition:all .12s ease}.shift-weekday-dot{width:6px;height:6px;border-radius:999px;background:#9ca3af}.shift-weekday-chip--active{background:#eef0ff;border-color:#6366f1;color:#4f46e5}.shift-weekday-chip--active .shift-weekday-dot{background:#6366f1}.shift-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--color-text);-webkit-user-select:none;user-select:none}.shift-switch input{display:none}.shift-switch-track{width:40px;height:20px;border-radius:999px;background:#e5e7eb;position:relative;transition:background .15s ease}.shift-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .15s ease}.shift-switch input:checked+.shift-switch-track{background:#22c55e}.shift-switch input:checked+.shift-switch-track .shift-switch-thumb{transform:translate(20px)}.shift-switch-label{font-size:13px}.list-header__right{display:flex;align-items:center;gap:12px}.list-header__search-wrapper{position:relative}.list-header__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.55}.list-header__search{padding:8px 10px 8px 26px;border-radius:999px;border:1px solid var(--color-border);font-size:13px;background:#fff;min-width:220px}.shift-list-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--color-border)}.shift-list-count{font-size:12px;color:var(--color-text-secondary)}.shift-actions,.shift-form__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--color-border)}.btn-primary,.btn-secondary,.btn-danger{padding:9px 18px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:DM Sans,Segoe UI,system-ui,sans-serif}.btn-secondary:hover{background-color:#e5e7eb;border-color:#9ca3af}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef444440}.btn-danger:hover{box-shadow:0 6px 20px #ef444459;transform:translateY(-1px)}.info-text{font-size:12px;color:var(--color-text-secondary);margin-top:6px;margin-bottom:0;font-style:italic}.muted-text{color:var(--color-text-secondary);font-size:12px}@media (max-width: 960px){.shift-page{padding:20px 16px}.shift-card,.shift-form-card{padding:20px 22px}.shift-grid,.shift-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:16px}.shift-page-header{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width: 640px){.shift-page{padding:16px 12px}.shift-card,.shift-form-card{padding:16px}.shift-grid,.shift-form-grid{grid-template-columns:1fr;row-gap:14px}.shift-actions,.shift-form__actions{flex-direction:column-reverse;gap:10px}.btn-primary,.btn-secondary{width:100%}.list-header__right{width:100%;flex-direction:column;align-items:stretch}.list-header__search{width:100%}}.attendance-page{padding:28px 24px 60px;background-color:#f0f4ff;min-height:100vh;font-family:DM Sans,Segoe UI,system-ui,sans-serif}.attendance-card{max-width:1100px;margin:0 auto;background:#fff;border-radius:16px;padding:0;box-shadow:0 4px 24px #0f172a12;border:1px solid #e4e9f5;overflow:hidden}.attendance-card:before{content:"";display:block;height:6px;background:linear-gradient(90deg,#3730a3,#6366f1,#818cf8)}.attendance-title{margin:0 0 4px;font-size:clamp(18px,2.5vw,22px);font-weight:700;color:#0f1c3f;padding:24px 24px 0}.attendance-page-subtitle{margin:0;font-size:13px;color:#8a94b0;padding:0 24px 16px}.attendance-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:16px;padding:0 24px}.attendance-field{display:flex;flex-direction:column;min-width:200px}.attendance-field label{font-size:11.5px;font-weight:700;color:#4a5578;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.attendance-field input[type=date],.attendance-field input[type=text],.attendance-field input[type=number],.attendance-field select{border:1.5px solid #e4e9f5;border-radius:10px;padding:9px 12px;font-size:13px;background:#fafbff;color:#0f1c3f;outline:none;transition:all .2s}.attendance-field input:focus,.attendance-field select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;background:#fff}.btn-primary,.btn-secondary{border:none;border-radius:10px;padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:DM Sans,system-ui,sans-serif}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 14px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1.5px solid #e4e9f5}.btn-secondary:hover{background-color:#e5e7eb}.attendance-error{margin:0 24px 12px;padding:10px 14px;border-radius:10px;background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca;font-size:13px}.attendance-detail-page{padding:28px 24px 60px;background:#f0f4ff;min-height:100vh;font-family:DM Sans,system-ui,sans-serif}.attendance-detail-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:24px 28px;background:linear-gradient(135deg,#3730a3,#6366f1 60%,#818cf8);border-radius:16px;box-shadow:0 8px 32px #6366f140;color:#fff}.detail-title{font-size:clamp(18px,2.5vw,24px);font-weight:700;color:#fff;margin:0 0 6px}.detail-subtitle{color:#ffffffd9;margin:0;font-size:13px}.detail-subtitle strong{color:#fff;font-weight:600}.detail-header-actions{display:flex;align-items:center;gap:8px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:14px}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.alert-success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.summary-card{background:#fff;border-radius:10px;border:1px solid #e5e7eb;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.summary-section{display:flex;flex-direction:column;gap:20px}.summary-item{display:flex;flex-direction:column;gap:6px}.summary-item label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.summary-value{font-size:18px;font-weight:600;color:#111827;margin:0}.summary-value.ot-highlight{color:#ef4444}.status-badge{display:inline-block;padding:8px 16px;border-radius:6px;font-weight:600;font-size:14px;width:fit-content}.punch-table-card{background:#fff;border-radius:10px;border:1px solid #e5e7eb;padding:24px;box-shadow:0 1px 3px #0000001a}.card-title{font-size:18px;font-weight:700;color:#111827;margin:0 0 16px}.table-wrapper{overflow-x:auto;border-radius:6px;border:1px solid #e5e7eb}.punch-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.punch-table thead{background:linear-gradient(90deg,#3730a3,#6366f1)}.punch-table th{padding:11px 12px;text-align:left;font-weight:700;font-size:11px;color:#ffffffeb;border-bottom:none;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.punch-table td{padding:12px;border-bottom:1px solid #e5e7eb;color:#111827}.punch-table tbody tr:hover{background:#f9fafb}.time-cell{font-weight:600;font-family:Monaco,Menlo,monospace;color:#1f2937}.punch-type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-weight:600;font-size:12px;white-space:nowrap}.punch-type-badge.in{background:#d1fae5;color:#059669}.punch-type-badge.out{background:#fee2e2;color:#dc2626}.ot-cell{color:#ef4444;font-weight:600}.status-badges{display:flex;gap:6px;flex-wrap:wrap}.badge-late,.badge-early-exit,.badge-ot{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.badge-late{background:#fef3c7;color:#b45309}.badge-early-exit{background:#fed7aa;color:#92400e}.badge-ot{background:#fee2e2;color:#dc2626}.empty-state{text-align:center;padding:40px 12px;color:#9ca3af;font-size:14px}.punch-table-wrapper{margin-top:16px;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}.punch-table-title{margin:0 0 12px;font-size:15px;font-weight:600;color:#374151;padding:12px 0 0}.punch-table-scroll{overflow-x:auto}.punch-table{width:100%;border-collapse:collapse;font-size:12px;background-color:#fff}.punch-table thead{background:linear-gradient(90deg,#3730a3,#6366f1);border-bottom:none}.punch-table th{padding:10px 8px;text-align:left;font-weight:700;color:#ffffffeb;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.punch-table td{padding:8px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.punch-table tbody tr:hover{background-color:#f9fafb}.punch-table tbody tr:last-child td{border-bottom:none}.punch-table-empty{text-align:center;padding:24px!important;color:#6b7280;font-style:italic}.ot-col,.undertime-col{text-align:center}.ot-badge{display:inline-block;background-color:#fef3c7;color:#d97706;padding:4px 8px;border-radius:4px;font-weight:600;font-size:11px;white-space:nowrap}.undertime-badge{display:inline-block;background-color:#fee2e2;color:#dc2626;padding:4px 8px;border-radius:4px;font-weight:600;font-size:11px;white-space:nowrap}.status-badge.ot{background-color:#dbeafe;color:#0284c7}.status-badge.early{background-color:#fecaca;color:#991b1b}.status-badge.late{background-color:#fed7aa;color:#9a3412}.attendance-table-wrapper{overflow-x:auto;margin-top:8px;padding:0 24px 24px;width:100%}.attendance-table{width:100%;border-collapse:collapse;font-size:11.5px;table-layout:auto}.attendance-table thead{background:linear-gradient(90deg,#3730a3,#6366f1)}.attendance-table th,.attendance-table td{padding:8px 5px;border-bottom:1px solid #f1f5f9;text-align:left;white-space:nowrap}.attendance-table th{font-weight:700;font-size:10px;color:#ffffffeb;text-transform:uppercase;letter-spacing:.4px;border-bottom:none}.attendance-table tbody tr:hover{background-color:#f5f3ff}.attendance-actions-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.attendance-actions-cell .btn-secondary{padding:4px 8px;font-size:10.5px;margin-left:0!important;white-space:nowrap;width:100%;text-align:center}.text-center{text-align:center}.attendance-autopair-card{margin-top:16px;padding:12px 14px;border-radius:6px;background-color:#f9fafb;border:1px solid #e5e7eb}.attendance-autopair-card h3{margin:0 0 8px;font-size:16px;font-weight:600}.autopair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 16px}.autopair-grid p{margin:0;font-size:13px;color:#374151}.autopair-grid span{font-weight:500;color:#111827}.attendance-card-header{padding:22px 24px 0;margin-bottom:20px}.attendance-card-header .attendance-title{padding:0;margin:0 0 4px}.attendance-card-header .attendance-page-subtitle{padding:0;margin:0}.monthly-filters-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px 24px 20px;background:#f5f7ff;border-top:1px solid #e8ecf8;border-bottom:1px solid #e8ecf8;margin-bottom:20px}.monthly-filter-field{display:flex;flex-direction:column;gap:5px;min-width:150px}.monthly-filter-label{font-size:10.5px;font-weight:700;color:#4a5578;text-transform:uppercase;letter-spacing:.6px}.monthly-filter-input{border:1.5px solid #e4e9f5;border-radius:10px;padding:9px 12px;font-size:13px;background:#fff;color:#0f1c3f;outline:none;transition:all .2s;font-family:DM Sans,system-ui,sans-serif}.monthly-filter-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.monthly-filter-hint{font-size:11px;color:#8a94b0}.attendance-summary-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;margin-top:10px;padding:0 24px}.attendance-summary-card{flex:1 1 110px;min-width:110px;border-radius:14px;padding:14px 16px;background-color:#fafbff;border:1.5px solid #e4e9f5;transition:transform .15s ease,box-shadow .15s ease}.attendance-summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f11f}.attendance-summary-card .label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#8a94b0;font-weight:700;margin-bottom:8px}.attendance-summary-card .value{font-size:26px;font-weight:800;color:#3730a3;line-height:1}.attendance-summary-card.present{border-color:#6ee7b7;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.attendance-summary-card.present .value{color:#059669}.attendance-summary-card.absent{border-color:#fca5a5;background:linear-gradient(135deg,#fff1f2,#fee2e2)}.attendance-summary-card.absent .value{color:#dc2626}.attendance-summary-card.leave{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.attendance-summary-card.leave .value{color:#b45309}.attendance-summary-card.wo{border-color:#c4b5fd;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.attendance-summary-card.wo .value{color:#7c3aed}.attendance-summary-card.ho{border-color:#a5b4fc;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.attendance-summary-card.ho .value{color:#4f46e5}.attendance-summary-card.hours{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.attendance-summary-card.hours .value{color:#1d4ed8;font-size:20px}.attendance-summary-card.total{border-color:#d1d5db;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.attendance-summary-card.total .value{color:#374151}.attendance-regularization-page{padding:24px;background-color:#f5f7fb;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.attendance-regularization-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px}.reg-card{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 2px #0f172a14;border:1px solid #e5e7eb}.reg-form-card{align-self:flex-start}.reg-list-card{min-height:260px}.reg-alert{padding:8px 10px;border-radius:6px;font-size:13px;margin-bottom:10px}.reg-alert-error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.reg-alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.reg-form{display:flex;flex-direction:column;gap:12px}.reg-field label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:#4b5563}.reg-field input,.reg-field select,.reg-field textarea{width:100%;border-radius:6px;border:1px solid #d1d5db;padding:8px 10px;font-size:13px;outline:none}.reg-field input:focus,.reg-field select:focus,.reg-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb40}.reg-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reg-actions{margin-top:4px}.btn-link,.btn-link:visited{background:transparent;border:none;color:#2563eb;padding:0;font-size:13px;cursor:pointer}.btn-link:hover{text-decoration:underline}.reg-list-empty{font-size:13px;color:#6b7280;padding:20px 4px}.reg-table-wrapper{overflow-x:auto}.reg-table{width:100%;border-collapse:collapse;font-size:13px}.reg-table th,.reg-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.reg-table thead{background:#f9fafb}.reg-table th{font-weight:500;color:#4b5563}.actions-inline{display:flex;gap:8px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.badge-success{background:#dcfce7;color:#15803d}.badge-danger{background:#fee2e2;color:#b91c1c}.badge-warning{background:#fef3c7;color:#92400e}@media (max-width: 900px){.attendance-regularization-grid{grid-template-columns:minmax(0,1fr)}.reg-form-card{order:1}.reg-list-card{order:2}}@media (max-width: 640px){.attendance-page{padding:16px 12px}.attendance-card{padding:16px 14px 18px}.attendance-filters{flex-direction:column;align-items:stretch}.attendance-field{min-width:100%}.attendance-field input,.attendance-field select{width:100%}.attendance-detail-header{flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:1fr;gap:20px}}.attendance-punch-success-banner{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-weight:500;font-size:15px}.dash-root .dash-header{background:linear-gradient(135deg,#6366f1,#818cf8,#a5b4fc)!important;border-radius:16px;padding:18px 28px;margin-bottom:28px;box-shadow:0 4px 24px #6366f133}.dash-root .dash-title{color:#fff!important}.dash-root .dash-subtitle{color:#ffffffbf!important}.dash-root .dash-role-badge{background:#ffffff2e!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important}@media (max-width: 768px){.attendance-page{padding:12px 8px}.attendance-card{border-radius:10px}.attendance-title{font-size:16px;padding:16px 16px 0}.attendance-page-subtitle{padding:0 16px 12px;font-size:12px}.attendance-filters{padding:0 12px;gap:10px}.attendance-field{min-width:100%}.attendance-table-wrapper{overflow-x:auto;padding:0 8px 16px;-webkit-overflow-scrolling:touch}.attendance-table{font-size:11px;min-width:600px}.attendance-table th,.attendance-table td{padding:7px 6px;white-space:nowrap}.attendance-summary-row{padding:0 12px;gap:8px}.attendance-summary-card{flex:1 1 80px;min-width:80px;padding:10px}.attendance-summary-card .value{font-size:20px}.attendance-summary-card .label{font-size:9px}.monthly-filters-bar{padding:12px;gap:10px}.monthly-filter-field{min-width:100%}.punch-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.punch-table{min-width:500px}.reg-inline-fields{grid-template-columns:1fr}.attendance-regularization-page{padding:12px}.attendance-detail-header{padding:16px}.detail-title{font-size:16px}.summary-card,.punch-table-card{padding:16px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.punch-table{min-width:450px}}.att-table-wrapper{margin-top:12px;background:#fff;border-radius:8px;padding:16px 18px 18px;box-shadow:0 1px 4px #0f172a0f}.att-table-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.att-table-title{margin:0;font-size:16px;font-weight:600;color:#111827}.att-table-legend{display:flex;align-items:center;gap:8px;font-size:12px;color:#4b5563}.att-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}.att-status-present{background-color:#ecfdf3;color:#166534;border-color:#bbf7d0}.att-status-absent{background-color:#fef2f2;color:#b91c1c;border-color:#fecaca}.att-status-wo{background-color:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.att-status-ho{background-color:#fefce8;color:#92400e;border-color:#facc15}.att-table-scroll{overflow-x:auto}.att-table{width:100%;border-collapse:collapse;font-size:13px}.att-table thead{background-color:#f3f4f6}.att-table th,.att-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.att-table th{font-weight:600;color:#374151}.att-table tbody tr:hover{background-color:#f9fafb}.att-table-loader,.att-table-error,.att-table-empty{padding:8px 10px;font-size:13px}.att-table-error{color:#b91c1c;background-color:#fef2f2;border-radius:4px}.att-table-empty{text-align:center;color:#6b7280}.web-punch-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px 48px;background:#f9fafb;font-family:Inter,Segoe UI,system-ui,sans-serif}.punch-container{width:100%;max-width:480px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 32px 80px #0006,0 0 0 1px #ffffff0d}.punch-header{background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#3b82f6);padding:24px 24px 20px;position:relative;overflow:hidden}.punch-header:before{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:#ffffff0f}.punch-header:after{content:"";position:absolute;bottom:-30px;left:20px;width:90px;height:90px;border-radius:50%;background:#ffffff0a}.punch-header h2{margin:0 0 4px;font-size:20px;font-weight:700;color:#fff;letter-spacing:-.3px;position:relative;z-index:1}.punch-header p{margin:0;font-size:13px;color:#ffffffb8;position:relative;z-index:1}.punch-clock{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#f8faff;border-bottom:1px solid #e5e7eb}.clock-time{font-size:28px;font-weight:700;color:#0f172a;letter-spacing:-1px;font-variant-numeric:tabular-nums}.clock-date{font-size:13px;color:#6b7280;font-weight:500;text-align:right}.punch-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.wp-label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#374151;margin-bottom:6px}.wp-input{width:100%;height:40px;padding:0 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:14px;color:#111827;background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:inherit}.wp-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.wp-input:disabled{opacity:.6;cursor:not-allowed}.wp-input::placeholder{color:#c4ccd6}.wp-location{display:flex;align-items:flex-start;gap:9px;padding:10px 14px;border-radius:10px;font-size:12.5px;line-height:1.5}.wp-location.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.wp-location.warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.wp-location-icon{font-size:15px;flex-shrink:0;margin-top:1px}.wp-location-text{word-break:break-word}.wp-toggle-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#f8faff;border:1.5px solid #e0e7ff;border-radius:10px}.wp-toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0;margin-top:1px}.wp-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.wp-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:999px;cursor:pointer;transition:background .2s}.wp-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000040;transition:transform .2s}.wp-toggle-switch input:checked+.wp-toggle-slider{background:#2563eb}.wp-toggle-switch input:checked+.wp-toggle-slider:before{transform:translate(18px)}.wp-toggle-switch input:disabled+.wp-toggle-slider{opacity:.5;cursor:not-allowed}.wp-toggle-title{font-size:13.5px;font-weight:600;color:#111827;margin-bottom:2px}.wp-toggle-hint{font-size:11.5px;color:#6b7280;line-height:1.4}.face-box{background:#0f172a;border-radius:14px;overflow:hidden;border:1px solid #1e293b}.face-title{margin:0;padding:12px 16px;font-size:14px;font-weight:600;color:#e2e8f0;border-bottom:1px solid #1e293b;background:#1e293b}.face-box-inner{padding:16px;display:flex;flex-direction:column;gap:12px}.camera-wrapper{position:relative;border-radius:10px;overflow:hidden;background:#000;aspect-ratio:4/3}.camera-canvas{width:100%;height:100%;display:block;object-fit:cover}.face-status{position:absolute;bottom:10px;left:50%;transform:translate(-50%);padding:4px 14px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.face-status.detected{background:#22c55e;color:#fff}.face-status.not-detected{background:#ef4444;color:#fff}.face-punch-controls{display:flex;flex-direction:column;gap:10px}.punch-type-selector{display:flex;gap:12px}.punch-type-selector label{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1;cursor:pointer}.wp-message{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;border-radius:10px;font-size:13px;line-height:1.5}.wp-message.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.wp-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.wp-message-redirect{font-size:11.5px;opacity:.75;margin-top:3px}.punch-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-punch{padding:13px 10px;border-radius:14px;font-size:15px;font-weight:700;border:none;cursor:pointer;transition:all .18s ease;display:flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.2px}.btn-punch.in{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 4px 16px #16a34a59}.btn-punch.out{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 16px #dc262659}.btn-punch:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-punch:not(:disabled):active{transform:translateY(0)}.btn-punch:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn{padding:9px 16px;border-radius:10px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#1e293b;color:#cbd5e1;border:1px solid #334155}.btn-secondary:hover:not(:disabled){background:#334155}.btn-success{background:#16a34a;color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-disabled{background:#374151;color:#9ca3af;cursor:not-allowed}.btn:disabled{opacity:.55;cursor:not-allowed}.message{padding:9px 12px;border-radius:8px;font-size:13px;margin-top:8px}.message-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.message-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.punch-history{border-top:1px solid #f1f5f9;padding:16px 24px 20px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-header h3{margin:0;font-size:13px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px}.btn-clear{padding:4px 12px;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;font-size:11.5px;color:#6b7280;cursor:pointer;transition:all .12s}.btn-clear:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:#dc2626}.btn-clear:disabled{opacity:.5;cursor:default}.history-list{display:flex;flex-direction:column;gap:7px;max-height:200px;overflow-y:auto}.history-item{display:grid;grid-template-columns:46px 1fr 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#f8faff;border:1px solid #e5e7eb;font-size:12.5px}.history-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-weight:700;font-size:11px}.history-badge.in{background:#dcfce7;color:#166534}.history-badge.out{background:#fee2e2;color:#b91c1c}.history-time{font-weight:600;color:#111827}.history-date{color:#9ca3af;font-size:11.5px}.history-worked{font-weight:600;color:#2563eb;text-align:right;font-size:12px}@media (max-width: 520px){.web-punch-page{padding:16px 10px 32px;align-items:flex-start}.punch-header{padding:20px 18px 16px}.punch-body{padding:16px 18px}.punch-history{padding:14px 18px 18px}.clock-time{font-size:22px}.punch-clock{padding:12px 18px}.history-item{grid-template-columns:40px 1fr auto;grid-template-rows:auto auto}.history-date{grid-column:2;grid-row:2}.history-worked{grid-column:3;grid-row:1 / 3;align-self:center}}*{margin:0;padding:0;box-sizing:border-box}.kiosk-root{width:100vw;height:100vh;background:#0a0e1a;color:#fff;font-family:Segoe UI,DM Sans,sans-serif;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.kiosk-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.kiosk-company{display:flex;align-items:center;gap:16px}.kiosk-company-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;flex-shrink:0}.kiosk-company-name{font-size:22px;font-weight:700;letter-spacing:-.3px;color:#fff}.kiosk-company-sub{font-size:13px;color:#fff6;margin-top:2px;letter-spacing:1px;text-transform:uppercase}.kiosk-clock{text-align:right}.kiosk-time{font-size:36px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-1px}.kiosk-date{font-size:13px;color:#ffffff73;margin-top:4px}.kiosk-main{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.kiosk-idle{text-align:center;padding:40px}.kiosk-idle-icon{font-size:80px;margin-bottom:24px;opacity:.8}.kiosk-idle-title{font-size:36px;font-weight:700;color:#fff;margin-bottom:12px;letter-spacing:-.5px}.kiosk-idle-sub{font-size:18px;color:#ffffff80;margin-bottom:40px}.kiosk-start-btn{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:20px;padding:20px 56px;font-size:22px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 8px 32px #4f46e566;letter-spacing:.3px}.kiosk-start-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 40px #4f46e580}.kiosk-start-btn:disabled{opacity:.5;cursor:not-allowed}.kiosk-location{margin-top:24px;font-size:14px;color:#ffffff59}.kiosk-scan-area{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px}.kiosk-camera-wrap{position:relative;width:min(640px,90vw);height:min(480px,60vh);border-radius:20px;overflow:hidden;background:#000;border:2px solid rgba(255,255,255,.1)}.kiosk-camera-wrap video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:18px;z-index:1}.kiosk-camera-wrap canvas{display:none!important}.kiosk-canvas{width:100%;height:100%;object-fit:cover;border-radius:18px}.kiosk-face-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:2}.kiosk-face-frame{width:220px;height:280px;border-radius:50%;border:3px solid rgba(255,255,255,.2);transition:border-color .3s}.kiosk-face-overlay.detected .kiosk-face-frame{border-color:#22c55e;box-shadow:0 0 0 6px #22c55e33;animation:face-pulse .8s ease-in-out infinite}@keyframes face-pulse{0%,to{box-shadow:0 0 0 6px #22c55e33}50%{box-shadow:0 0 0 14px #22c55e1a}}.kiosk-face-status{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:30px;padding:10px 24px;font-size:16px;font-weight:600;white-space:nowrap;color:#fff;border:1px solid rgba(255,255,255,.15)}.kiosk-face-overlay.detected .kiosk-face-status{color:#22c55e;border-color:#22c55e4d}.kiosk-retry-badge{position:absolute;top:16px;right:16px;background:#d97706e6;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;color:#fff}.kiosk-scan-hint{font-size:16px;color:#fff6;text-align:center}.kiosk-cancel-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff9;border-radius:12px;padding:12px 32px;font-size:15px;cursor:pointer;transition:all .2s}.kiosk-cancel-btn:hover{background:#ffffff24;color:#fff}.kiosk-result{text-align:center;padding:40px;max-width:600px;animation:result-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes result-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.kiosk-success-icon{font-size:80px;margin-bottom:20px;animation:bounce-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes bounce-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.kiosk-punch-type{display:inline-block;font-size:28px;font-weight:800;padding:10px 32px;border-radius:50px;margin-bottom:20px;letter-spacing:1px}.kiosk-punch-type.in{background:#22c55e26;color:#22c55e;border:2px solid rgba(34,197,94,.3)}.kiosk-punch-type.out{background:#ef444426;color:#ef4444;border:2px solid rgba(239,68,68,.3)}.kiosk-emp-name{font-size:42px;font-weight:800;color:#fff;letter-spacing:-1px;margin-bottom:8px}.kiosk-emp-meta{font-size:18px;color:#ffffff80;margin-bottom:8px}.kiosk-emp-code{display:inline-block;background:#ffffff14;border-radius:8px;padding:4px 16px;font-size:14px;color:#ffffff80;font-family:monospace;margin-bottom:16px}.kiosk-punch-time{font-size:48px;font-weight:800;color:#4f46e5;font-variant-numeric:tabular-nums;letter-spacing:-1px}.kiosk-punch-date{font-size:16px;color:#fff6;margin-bottom:16px}.kiosk-confidence{font-size:13px;color:#ffffff4d;margin-bottom:16px}.kiosk-countdown{font-size:15px;color:#ffffff59;margin-bottom:20px}.kiosk-next-btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:50px;padding:16px 48px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 6px 20px #4f46e566}.kiosk-next-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #4f46e580}.kiosk-fail-icon{font-size:72px;margin-bottom:20px}.kiosk-fail-title{font-size:32px;font-weight:700;color:#ef4444;margin-bottom:16px}.kiosk-fail-msg{font-size:16px;color:#fff9;margin-bottom:12px;white-space:pre-line;max-width:400px;margin-left:auto;margin-right:auto}.kiosk-fail-hint{font-size:14px;color:#ffffff59;margin-bottom:24px}.kiosk-retry-btn{background:#ef444426;border:2px solid rgba(239,68,68,.3);color:#ef4444;border-radius:50px;padding:14px 40px;font-size:17px;font-weight:700;cursor:pointer;transition:all .2s}.kiosk-retry-btn:hover{background:#ef444440}.kiosk-bottombar{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#ffffff40;flex-shrink:0;letter-spacing:.5px}.kiosk-error-screen{align-items:center;justify-content:center}.kiosk-error-box{text-align:center;padding:40px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:20px;max-width:480px}.kiosk-error-icon{font-size:60px;margin-bottom:20px}.kiosk-error-box h2{font-size:28px;color:#ef4444;margin-bottom:12px}.kiosk-error-box p{font-size:16px;color:#fff9;margin-bottom:8px}.kiosk-error-hint{font-size:13px;color:#ffffff4d;margin-top:12px}.kiosk-error-hint code{background:#ffffff1a;padding:2px 8px;border-radius:4px;font-family:monospace}@media (max-width: 768px){.kiosk-topbar{padding:12px 16px}.kiosk-time{font-size:26px}.kiosk-company-name{font-size:18px}.kiosk-idle-title{font-size:26px}.kiosk-idle-sub{font-size:15px}.kiosk-start-btn{font-size:18px;padding:16px 40px}.kiosk-emp-name{font-size:32px}.kiosk-punch-time{font-size:36px}.kiosk-punch-type{font-size:22px}.kiosk-bottombar{padding:8px 16px;font-size:11px}}.kiosk-method-toggle{display:flex;gap:12px;justify-content:center;margin-bottom:32px}.kiosk-method-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:#fff9;border-radius:50px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.kiosk-method-btn.active{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;color:#fff;box-shadow:0 4px 16px #4f46e566}.kiosk-method-btn:hover:not(.active){background:#ffffff1f;color:#fff}.kiosk-pin-box{width:100%;max-width:420px;text-align:center}.kiosk-pin-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.kiosk-pin-input{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:18px 24px;font-size:20px;color:#fff;text-align:center;letter-spacing:2px;outline:none;transition:border-color .2s}.kiosk-pin-input::placeholder{color:#ffffff4d;font-size:15px;letter-spacing:0}.kiosk-pin-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e533}.kiosk-pin-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600}:root{--lv-bg: #f0f4ff;--lv-white: #ffffff;--lv-border: #e2e8f0;--lv-blue: #2563eb;--lv-blue-dark: #1d4ed8;--lv-blue-mid: #3b82f6;--lv-blue-soft: #eff6ff;--lv-blue-pale: #dbeafe;--lv-green: #16a34a;--lv-green-soft: #f0fdf4;--lv-green-pale: #bbf7d0;--lv-amber: #d97706;--lv-amber-soft: #fffbeb;--lv-amber-pale: #fde68a;--lv-red: #dc2626;--lv-red-soft: #fef2f2;--lv-red-pale: #fecaca;--lv-gray: #64748b;--lv-gray-light: #94a3b8;--lv-dark: #0f172a;--lv-navy: #1e3a8a;--lv-radius: 16px;--lv-radius-sm: 10px;--lv-shadow: 0 4px 24px rgba(15,23,42,.08);--lv-shadow-md: 0 8px 32px rgba(15,23,42,.12);--lv-font: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--lv-mono: "JetBrains Mono", "Fira Code", monospace}.lv-page{max-width:1120px;margin:0 auto;padding:28px 24px 64px;font-family:var(--lv-font);background:var(--lv-bg);min-height:100vh;color:var(--lv-dark)}.lv-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:24px 30px;background:linear-gradient(135deg,#1e3a8a,#2563eb 55%,#60a5fa);border-radius:20px;box-shadow:0 8px 32px #2563eb4d;position:relative;overflow:hidden;margin-bottom:24px}.lv-header:before{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:#ffffff12;pointer-events:none}.lv-header:after{content:"";position:absolute;bottom:-30px;left:20px;width:120px;height:120px;border-radius:50%;background:#ffffff0a;pointer-events:none}.lv-header-left{position:relative;z-index:1}.lv-header-title{margin:0 0 4px;font-size:clamp(18px,2.5vw,22px);font-weight:800;color:#fff;letter-spacing:-.4px}.lv-header-sub{margin:0;font-size:13px;color:#ffffffb8;font-weight:400}.lv-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1;flex-wrap:wrap}.lv-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px}.lv-stat-card{background:var(--lv-white);border:1px solid var(--lv-border);border-radius:var(--lv-radius);padding:18px 20px;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;cursor:default}.lv-stat-card:hover{transform:translateY(-3px);box-shadow:var(--lv-shadow-md)}.lv-stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--lv-radius) var(--lv-radius) 0 0}.lv-stat-card.sc-total:after{background:linear-gradient(90deg,#2563eb,#60a5fa)}.lv-stat-card.sc-approved:after{background:linear-gradient(90deg,#16a34a,#4ade80)}.lv-stat-card.sc-pending:after{background:linear-gradient(90deg,#d97706,#fbbf24)}.lv-stat-card.sc-rejected:after{background:linear-gradient(90deg,#dc2626,#f87171)}.lv-stat-card.sc-cancelled:after{background:linear-gradient(90deg,#64748b,#94a3b8)}.lv-stat-icon{font-size:22px;margin-bottom:10px;display:block}.lv-stat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--lv-gray);margin-bottom:4px}.lv-stat-value{font-size:30px;font-weight:800;line-height:1;color:var(--lv-dark);font-family:var(--lv-mono)}.lv-card{background:var(--lv-white);border-radius:var(--lv-radius);border:1px solid var(--lv-border);box-shadow:var(--lv-shadow);margin-bottom:20px;overflow:hidden}.lv-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--lv-border);background:linear-gradient(90deg,#fafbff,#f8f9ff)}.lv-card-title{font-size:12.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--lv-dark);display:flex;align-items:center;gap:8px;margin:0}.lv-card-icon{width:28px;height:28px;border-radius:8px;background:var(--lv-blue-soft);display:flex;align-items:center;justify-content:center;font-size:14px}.lv-card-meta{font-size:11.5px;color:var(--lv-gray-light);font-weight:500;background:var(--lv-blue-soft);padding:3px 10px;border-radius:999px;border:1px solid var(--lv-blue-pale)}.lv-card-body{padding:20px 22px}.lv-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 22px;background:#fafbff;border-bottom:1px solid var(--lv-border)}.lv-search-box{display:flex;align-items:center;gap:8px;background:var(--lv-white);border:1.5px solid var(--lv-border);border-radius:999px;padding:0 16px;height:38px;min-width:230px;transition:border-color .15s,box-shadow .15s}.lv-search-box:focus-within{border-color:var(--lv-blue);box-shadow:0 0 0 3px #2563eb1a}.lv-search-box input{border:none;outline:none;background:transparent;font-size:13px;color:var(--lv-dark);width:100%;font-family:var(--lv-font)}.lv-search-box input::placeholder{color:#c4ccd6}.lv-filter-select{height:38px;padding:0 14px;background:var(--lv-white);border:1.5px solid var(--lv-border);border-radius:999px;font-size:13px;color:#374151;font-family:var(--lv-font);outline:none;cursor:pointer;transition:border-color .15s;min-width:140px}.lv-filter-select:focus{border-color:var(--lv-blue);box-shadow:0 0 0 3px #2563eb1a}.lv-status-pills{display:flex;gap:6px;flex-wrap:wrap}.lv-status-pill{padding:5px 14px;border-radius:999px;font-size:12px;font-weight:600;border:1.5px solid var(--lv-border);background:var(--lv-white);color:var(--lv-gray);cursor:pointer;transition:all .15s}.lv-status-pill:hover{background:#f1f5f9;border-color:#94a3b8}.lv-status-pill.active-ALL{background:var(--lv-blue-soft);border-color:var(--lv-blue);color:var(--lv-blue)}.lv-status-pill.active-PENDING{background:var(--lv-amber-soft);border-color:var(--lv-amber-pale);color:var(--lv-amber)}.lv-status-pill.active-APPROVED{background:var(--lv-green-soft);border-color:var(--lv-green-pale);color:var(--lv-green)}.lv-status-pill.active-REJECTED{background:var(--lv-red-soft);border-color:var(--lv-red-pale);color:var(--lv-red)}.lv-status-pill.active-CANCELLED{background:#f1f5f9;border-color:#94a3b8;color:#475569}.lv-table-wrap{overflow-x:auto}.lv-table{width:100%;border-collapse:collapse;font-size:13px}.lv-table thead tr{background:linear-gradient(90deg,#1e3a8a,#2563eb)}.lv-table thead th{padding:11px 16px;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#ffffffd9;border:none;white-space:nowrap}.lv-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.lv-table tbody tr:last-child{border-bottom:none}.lv-table tbody tr:hover{background:#f8faff}.lv-table tbody td{padding:12px 16px;color:#374151;vertical-align:middle;white-space:nowrap}.lv-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.lv-badge:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0}.lv-badge-PENDING{background:var(--lv-amber-soft);color:var(--lv-amber);border:1px solid var(--lv-amber-pale)}.lv-badge-PENDING:before{background:var(--lv-amber)}.lv-badge-APPROVED{background:var(--lv-green-soft);color:var(--lv-green);border:1px solid var(--lv-green-pale)}.lv-badge-APPROVED:before{background:var(--lv-green)}.lv-badge-REJECTED{background:var(--lv-red-soft);color:var(--lv-red);border:1px solid var(--lv-red-pale)}.lv-badge-REJECTED:before{background:var(--lv-red)}.lv-badge-CANCELLED{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.lv-badge-CANCELLED:before{background:#94a3b8}.lv-type-tag{display:inline-block;padding:3px 10px;border-radius:7px;font-size:11.5px;font-weight:700;background:var(--lv-blue-soft);color:var(--lv-blue);border:1px solid var(--lv-blue-pale);font-family:var(--lv-mono)}.lv-days-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--lv-blue-soft);color:var(--lv-blue);font-size:12px;font-weight:700;font-family:var(--lv-mono);border:1.5px solid var(--lv-blue-pale)}.lv-emp-code{display:inline-block;padding:2px 9px;border-radius:6px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569;font-family:var(--lv-mono)}.lv-tbl-actions{display:flex;gap:6px;align-items:center}.lv-btn-approve,.lv-btn-reject,.lv-btn-cancel{padding:5px 13px;border-radius:999px;font-size:11.5px;font-weight:700;cursor:pointer;border:1.5px solid transparent;transition:all .15s;font-family:var(--lv-font);white-space:nowrap}.lv-btn-approve{background:var(--lv-green-soft);color:var(--lv-green);border-color:var(--lv-green-pale)}.lv-btn-approve:hover:not(:disabled){background:var(--lv-green);color:#fff}.lv-btn-reject{background:var(--lv-amber-soft);color:var(--lv-amber);border-color:var(--lv-amber-pale)}.lv-btn-reject:hover:not(:disabled){background:var(--lv-amber);color:#fff}.lv-btn-cancel{background:var(--lv-red-soft);color:var(--lv-red);border-color:var(--lv-red-pale)}.lv-btn-cancel:hover:not(:disabled){background:var(--lv-red);color:#fff}.lv-btn-approve:disabled,.lv-btn-reject:disabled,.lv-btn-cancel:disabled{opacity:.35;cursor:not-allowed}.lv-btn-primary{padding:9px 22px;border:none;border-radius:999px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 4px 14px #2563eb4d;font-family:var(--lv-font);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.lv-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 22px #2563eb66}.lv-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.lv-btn-ghost{padding:9px 18px;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff1f;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--lv-font);display:inline-flex;align-items:center;gap:5px}.lv-btn-ghost:hover:not(:disabled){background:#ffffff38}.lv-btn-secondary{padding:9px 18px;border:1.5px solid var(--lv-border);border-radius:999px;background:var(--lv-white);color:#374151;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--lv-font);display:inline-flex;align-items:center;gap:5px}.lv-btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.lv-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.lv-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.lv-bal-card{background:linear-gradient(145deg,#f8faff,#f0f4ff);border:1px solid #e0e7ff;border-radius:12px;padding:16px 18px;position:relative;overflow:hidden}.lv-bal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lv-blue),var(--lv-blue-mid));border-radius:12px 12px 0 0}.lv-bal-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--lv-blue);margin-bottom:12px;display:flex;align-items:center;gap:6px}.lv-bal-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12.5px;border-bottom:1px dashed #e0e7ff;color:var(--lv-gray)}.lv-bal-row:last-of-type{border-bottom:none}.lv-bal-row span:last-child{font-weight:700;color:var(--lv-dark);font-family:var(--lv-mono);font-size:13px}.lv-bal-closing{margin-top:10px;padding:8px 12px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid #bfdbfe}.lv-bal-closing span:first-child{font-size:12px;font-weight:700;color:var(--lv-blue)}.lv-bal-closing span:last-child{font-size:18px;font-weight:800;color:var(--lv-navy);font-family:var(--lv-mono)}.lv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.lv-form-full{grid-column:1 / -1}.lv-field-label{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#374151;margin-bottom:7px}.lv-field-label .req{color:var(--lv-red);margin-left:2px}.lv-field-input,.lv-field-select,.lv-field-textarea{width:100%;padding:10px 14px;border:1.5px solid var(--lv-border);border-radius:var(--lv-radius-sm);font-size:13.5px;color:var(--lv-dark);background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:var(--lv-font)}.lv-field-input:focus,.lv-field-select:focus,.lv-field-textarea:focus{border-color:var(--lv-blue);box-shadow:0 0 0 3px #2563eb1a;background:#fff}.lv-field-input::placeholder,.lv-field-textarea::placeholder{color:#c4ccd6}.lv-field-select{cursor:pointer;height:44px}.lv-field-textarea{resize:vertical;min-height:96px}.lv-field-err{font-size:12px;color:var(--lv-red);margin-top:5px;font-weight:500}.lv-toggle-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--lv-blue-soft);border:1.5px solid var(--lv-blue-pale);border-radius:var(--lv-radius-sm)}.lv-toggle{position:relative;width:42px;height:24px;flex-shrink:0}.lv-toggle input{opacity:0;width:0;height:0;position:absolute}.lv-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:999px;cursor:pointer;transition:background .2s}.lv-toggle-track:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000038;transition:transform .2s}.lv-toggle input:checked+.lv-toggle-track{background:var(--lv-blue)}.lv-toggle input:checked+.lv-toggle-track:before{transform:translate(18px)}.lv-toggle-text{font-size:14px;font-weight:700;color:var(--lv-dark)}.lv-toggle-hint{font-size:12px;color:var(--lv-gray)}.lv-info-box{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--lv-blue-soft);border:1px solid var(--lv-blue-pale);border-left:4px solid var(--lv-blue);border-radius:var(--lv-radius-sm);font-size:13px;color:#1e40af;line-height:1.6;margin-bottom:22px}.lv-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.lv-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--lv-radius-sm);font-size:13px;font-weight:500;margin-bottom:16px;animation:lvFadeIn .25s ease}.lv-alert-error{background:var(--lv-red-soft);border:1px solid var(--lv-red-pale);border-left:4px solid var(--lv-red);color:#991b1b}.lv-alert-success{background:var(--lv-green-soft);border:1px solid var(--lv-green-pale);border-left:4px solid var(--lv-green);color:#14532d}.lv-alert-info{background:var(--lv-blue-soft);border:1px solid var(--lv-blue-pale);border-left:4px solid var(--lv-blue);color:#1e40af}@keyframes lvFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.lv-loading{display:flex;align-items:center;gap:12px;padding:36px 22px;color:var(--lv-gray);font-size:14px}.lv-spinner{width:22px;height:22px;border:2.5px solid #dbeafe;border-top-color:var(--lv-blue);border-radius:50%;animation:lvSpin .65s linear infinite;flex-shrink:0}@keyframes lvSpin{to{transform:rotate(360deg)}}.lv-empty{text-align:center;padding:44px 24px;color:var(--lv-gray)}.lv-empty-icon{font-size:40px;margin-bottom:12px}.lv-empty p{font-size:14px;margin:0}@media (max-width: 768px){.lv-page{padding:16px 12px 48px}.lv-header{padding:18px 20px}.lv-form-grid{grid-template-columns:1fr}.lv-stats-row{grid-template-columns:repeat(2,1fr)}.lv-balance-grid{grid-template-columns:1fr 1fr}.lv-card-body{padding:16px}.lv-toolbar{padding:10px 14px}}@media (max-width: 500px){.lv-stats-row{grid-template-columns:repeat(2,1fr)}.lv-balance-grid{grid-template-columns:1fr}.lv-header{flex-direction:column;align-items:flex-start}.lv-search-box{min-width:unset;width:100%}}.lpc-fy-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:10px;padding:12px 18px;margin-bottom:20px;font-size:13.5px;color:#1e40af}.lpc-fy-banner-icon{font-size:22px}.lpc-tabs{display:flex;gap:6px;border-bottom:2px solid #e5e7eb;margin-bottom:24px}.lpc-tab{padding:10px 20px;border:none;background:transparent;cursor:pointer;font-size:13.5px;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:6px 6px 0 0;transition:all .2s}.lpc-tab:hover{color:#374151;background:#f9fafb}.lpc-tab-active{color:#4f46e5;border-bottom-color:#4f46e5;background:#eef2ff}.lpc-tab-content{animation:lpc-fadein .2s ease}@keyframes lpc-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lpc-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.lpc-config-card{background:#fff;border:1px solid #e5e7eb;border-top:4px solid #4f46e5;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f;transition:box-shadow .2s}.lpc-config-card:hover{box-shadow:0 4px 16px #0000001a}.lpc-config-header{display:flex;align-items:center;gap:10px;padding:16px 20px 12px;border-bottom:1px solid #f3f4f6}.lpc-config-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px}.lpc-config-title{font-size:15px;font-weight:600;color:#111827;margin:0;flex:1}.lpc-unsaved-dot{color:#f59e0b;font-size:20px;line-height:1}.lpc-config-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.lpc-config-footer{padding:12px 20px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-end}.lpc-field{display:flex;flex-direction:column;gap:5px}.lpc-label{font-size:12.5px;font-weight:600;color:#374151}.lpc-hint{font-size:11.5px;color:#9ca3af}.lpc-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:7px;font-size:13.5px;color:#111827;background:#fff;transition:border-color .2s}.lpc-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.lpc-nested{margin-left:14px;padding-left:12px;border-left:3px solid #e0e7ff}.lpc-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lpc-toggle-label{font-size:13px;font-weight:600;color:#374151}.lpc-toggle-hint{font-size:11.5px;color:#9ca3af;margin-top:2px}.lpc-switch{position:relative;width:42px;height:24px;flex-shrink:0;cursor:pointer}.lpc-switch input{opacity:0;width:0;height:0}.lpc-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:24px;transition:background .2s}.lpc-switch-track:before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.lpc-switch input:checked+.lpc-switch-track{background:#4f46e5}.lpc-switch input:checked+.lpc-switch-track:before{transform:translate(18px)}.lpc-preview-box{background:#f8faff;border:1px solid #e0e7ff;border-radius:8px;padding:12px 14px}.lpc-preview-title{font-size:12px;font-weight:700;color:#4f46e5;margin-bottom:8px}.lpc-preview-row{display:flex;justify-content:space-between;font-size:12.5px;color:#374151;padding:3px 0;border-bottom:1px solid #e0e7ff}.lpc-preview-row:last-child{border-bottom:none}.lpc-preview-val{font-weight:700;color:#4f46e5}.lpc-btn-save{padding:7px 18px;background:#4f46e5;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.lpc-btn-save:hover:not(:disabled){background:#4338ca}.lpc-btn-save:disabled{opacity:.55;cursor:not-allowed}.lpc-allocator,.lpc-fy-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 4px #0000000f}.lpc-section-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#111827;margin-bottom:8px}.lpc-section-icon{font-size:22px}.lpc-section-desc{font-size:13.5px;color:#6b7280;margin-bottom:20px}.lpc-alloc-form,.lpc-fy-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin-bottom:16px}.lpc-alloc-btns{display:flex;gap:10px;align-items:flex-end;padding-bottom:0}.lpc-btn-preview{padding:9px 18px;border:2px solid #6366f1;background:#fff;color:#6366f1;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.lpc-btn-preview:hover:not(:disabled){background:#eef2ff}.lpc-btn-allocate{padding:9px 18px;background:#10b981;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.lpc-btn-allocate:hover:not(:disabled){background:#059669}.lpc-btn-preview:disabled,.lpc-btn-allocate:disabled{opacity:.55;cursor:not-allowed}.lpc-preview-result{margin-top:20px}.lpc-preview-info{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:#374151;background:#f8faff;border:1px solid #e0e7ff;border-radius:8px;padding:12px 16px;margin-bottom:14px}.lpc-preview-info span strong{color:#4f46e5}.lpc-alloc-table{width:100%;border-collapse:collapse;font-size:13px}.lpc-alloc-table th{background:#f3f4f6;padding:10px 14px;text-align:left;font-size:12px;font-weight:700;color:#6b7280;border-bottom:1px solid #e5e7eb}.lpc-alloc-table td{padding:10px 14px;border-bottom:1px solid #f3f4f6;color:#374151}.lpc-alloc-table tr:last-child td{border-bottom:none}.lpc-type-tag{display:inline-block;padding:2px 10px;background:#eef2ff;color:#4f46e5;border-radius:20px;font-size:12px;font-weight:700}.lpc-highlight{font-size:15px;color:#059669}.lpc-status-tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600}.lpc-status-already_exists{background:#fef9c3;color:#a16207}.lpc-status-will_create,.lpc-status-created{background:#dcfce7;color:#166534}.lpc-status-skipped{background:#f3f4f6;color:#6b7280}.lpc-alert{padding:10px 16px;border-radius:8px;font-size:13.5px;margin:12px 0}.lpc-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.lpc-alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.lpc-btn-fy{padding:10px 22px;background:#dc2626;color:#fff;border:none;border-radius:7px;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .2s;align-self:flex-end}.lpc-btn-fy:hover:not(:disabled){background:#b91c1c}.lpc-btn-fy:disabled{opacity:.55;cursor:not-allowed}.lpc-fy-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:18px 20px;margin-top:16px}.lpc-fy-result-title{font-size:15px;font-weight:700;color:#166534;margin-bottom:14px}.lpc-fy-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.lpc-fy-stat{background:#fff;border:1px solid #d1fae5;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.lpc-fy-stat span{font-size:11.5px;color:#6b7280}.lpc-fy-stat strong{font-size:16px;color:#166534}@media (max-width: 640px){.lpc-cards-grid,.lpc-alloc-form,.lpc-fy-form{grid-template-columns:1fr}.lpc-alloc-btns{flex-direction:column}.lpc-alloc-table{font-size:11.5px}.lpc-alloc-table th,.lpc-alloc-table td{padding:7px 8px}.lpc-preview-info{flex-direction:column;gap:6px}}:root{--navy-950: #0a0f1e;--navy-900: #0f172a;--navy-800: #1e293b;--navy-700: #334155;--navy-600: #475569;--navy-400: #94a3b8;--navy-200: #e2e8f0;--navy-100: #f1f5f9;--navy-50: #f8fafc;--amber-500: #f59e0b;--amber-400: #fbbf24;--amber-300: #fcd34d;--amber-100: #fef3c7;--amber-50: #fffbeb;--red-600: #dc2626;--red-100: #fee2e2;--red-50: #fef2f2;--green-600: #16a34a;--green-100: #dcfce7;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--shadow-card: 0 1px 3px rgba(10,15,30,.06), 0 4px 16px rgba(10,15,30,.08);--shadow-hover: 0 2px 6px rgba(10,15,30,.06), 0 8px 28px rgba(10,15,30,.13);--shadow-btn: 0 2px 8px rgba(245,158,11,.3)}.holiday-page{padding:28px 32px;background-color:var(--navy-100);min-height:100vh;box-sizing:border-box;font-family:DM Sans,sans-serif;color:var(--navy-900)}.holiday-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.holiday-header h2{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:600;margin:0;color:var(--navy-900);letter-spacing:-.3px;position:relative}.holiday-header h2:after{content:"";position:absolute;left:0;bottom:-4px;width:36px;height:3px;background:var(--amber-400);border-radius:2px}.holiday-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.holiday-controls label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:13px;color:var(--navy-600)}.holiday-controls input{padding:8px 12px;border:1.5px solid var(--navy-200);border-radius:var(--radius-md);font-size:14px;font-family:DM Sans,sans-serif;width:110px;background-color:#fff;color:var(--navy-900);transition:border-color .15s,box-shadow .15s}.holiday-controls input:focus{outline:none;border-color:var(--amber-400);box-shadow:0 0 0 3px #fbbf242e}.holiday-layout{display:grid;grid-template-columns:1.05fr 2fr;gap:22px;align-items:start}@media (max-width: 1024px){.holiday-layout{grid-template-columns:1fr}}.holiday-form-card,.holiday-table-card{background:#fff;border-radius:var(--radius-xl);padding:24px 26px;box-shadow:var(--shadow-card);border:1.5px solid var(--navy-200);transition:box-shadow .2s}.holiday-form-card:hover,.holiday-table-card:hover{box-shadow:var(--shadow-hover)}.holiday-form-card h3,.holiday-table-card h3{margin:0 0 18px;font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:600;color:var(--navy-800);display:flex;align-items:center;gap:8px}.holiday-form-card h3:before{content:"✦";color:var(--amber-400);font-size:12px}.holiday-table-card h3:before{content:"◈";color:var(--amber-400);font-size:13px}.holiday-error{background-color:var(--red-50);color:var(--red-600);padding:10px 14px;border-radius:var(--radius-md);margin-bottom:14px;font-size:13px;border:1px solid #fecaca;display:flex;align-items:center;gap:6px}.holiday-error:before{content:"⚠";font-size:14px}.holiday-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:500;font-size:12.5px;color:var(--navy-600);letter-spacing:.3px;text-transform:uppercase}.required{color:var(--red-600);margin-left:2px}.form-group input[type=text],.form-group input[type=date],.form-group select{padding:9px 12px;border:1.5px solid var(--navy-200);border-radius:var(--radius-md);font-size:14px;font-family:DM Sans,sans-serif;background-color:var(--navy-50);color:var(--navy-900);box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group select:focus{outline:none;border-color:var(--amber-400);box-shadow:0 0 0 3px #fbbf242e;background-color:#fff}.input-error{border-color:var(--red-600)!important;background-color:var(--red-50)!important}.error-message{color:var(--red-600);font-size:12px;margin-top:2px}.checkbox-group{display:flex;flex-direction:row;align-items:center;gap:10px;background:var(--navy-50);border:1.5px solid var(--navy-200);border-radius:var(--radius-md);padding:9px 12px;transition:border-color .15s}.checkbox-group:hover{border-color:var(--amber-300)}.checkbox-group label{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px;color:var(--navy-700);text-transform:none;letter-spacing:0;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{accent-color:var(--amber-500);width:15px;height:15px;cursor:pointer}.btn{padding:9px 18px;border:none;border-radius:999px;font-size:13px;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .18s ease;white-space:nowrap;letter-spacing:.2px}.btn-primary{background:linear-gradient(135deg,var(--amber-500) 0%,var(--amber-400) 100%);color:var(--navy-900);box-shadow:var(--shadow-btn)}.btn-primary:hover{background:linear-gradient(135deg,#d97706 0%,var(--amber-500) 100%);transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b73}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--navy-100);color:var(--navy-700);border:1.5px solid var(--navy-200)}.btn-secondary:hover{background-color:var(--navy-200);border-color:var(--navy-400)}.btn-sm{padding:5px 12px;font-size:12px}.btn-edit{background:var(--navy-800);color:#fff;margin-right:6px}.btn-edit:hover{background:var(--navy-900);transform:translateY(-1px);box-shadow:0 3px 10px #0f172a38}.btn-delete{background:var(--red-600);color:#fff}.btn-delete:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 3px 10px #dc262647}.loading-msg,.no-data-msg{text-align:center;color:var(--navy-400);padding:40px 16px;font-size:14px}.no-data-msg:before{content:"📭";display:block;font-size:28px;margin-bottom:8px}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1.5px solid var(--navy-200)}.holiday-table{width:100%;border-collapse:collapse;font-size:13.5px}.holiday-table thead{background:linear-gradient(to right,var(--navy-900),var(--navy-800))}.holiday-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--amber-300);border-bottom:none;white-space:nowrap}.holiday-table td{padding:12px 16px;border-bottom:1px solid var(--navy-100);color:var(--navy-800);vertical-align:middle}.holiday-table tbody tr{transition:background .12s}.holiday-table tbody tr:hover{background-color:var(--amber-50)}.holiday-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.2px}.badge-active{background:var(--green-100);color:var(--green-600)}.badge-inactive{background:var(--navy-100);color:var(--navy-600)}.badge-optional{background:var(--amber-100);color:#92400e}.badge-no{background:var(--navy-100);color:var(--navy-600)}.type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-sm);font-size:11.5px;font-weight:600;background:var(--navy-100);color:var(--navy-700);border:1px solid var(--navy-200)}.type-badge.NATIONAL{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.type-badge.COMPANY{background:#f3e8ff;color:#7c3aed;border-color:#e9d5ff}.type-badge.OPTIONAL{background:var(--amber-100);color:#92400e;border-color:var(--amber-300)}.type-badge.FESTIVAL{background:#fce7f3;color:#be185d;border-color:#fbcfe8}.actions-cell{white-space:nowrap}@media (max-width: 640px){.holiday-page{padding:16px}.holiday-header{flex-direction:column;align-items:flex-start}.holiday-controls{width:100%}.holiday-controls input{width:100%;max-width:140px}.holiday-form-card,.holiday-table-card{padding:18px;border-radius:var(--radius-lg)}}.holiday-form-card{animation:fadeUp .35s ease both}.holiday-table-card{animation:fadeUp .35s ease .1s both}:root{--pr-bg: #f0f4ff;--pr-white: #ffffff;--pr-border: #e2e8f0;--pr-blue: #2563eb;--pr-blue-dark: #1d4ed8;--pr-blue-mid: #3b82f6;--pr-blue-soft: #eff6ff;--pr-blue-pale: #dbeafe;--pr-green: #16a34a;--pr-green-soft: #f0fdf4;--pr-green-pale: #bbf7d0;--pr-amber: #d97706;--pr-amber-soft: #fffbeb;--pr-amber-pale: #fde68a;--pr-red: #dc2626;--pr-red-soft: #fef2f2;--pr-red-pale: #fecaca;--pr-purple: #7c3aed;--pr-purple-soft:#f5f3ff;--pr-purple-pale:#ddd6fe;--pr-gray: #64748b;--pr-gray-light: #94a3b8;--pr-dark: #0f172a;--pr-navy: #1e3a8a;--pr-radius: 16px;--pr-radius-sm: 10px;--pr-shadow: 0 4px 24px rgba(15,23,42,.08);--pr-shadow-md: 0 8px 32px rgba(15,23,42,.12);--pr-font: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--pr-mono: "JetBrains Mono", "Fira Code", monospace}.pr-page{max-width:1140px;margin:0 auto;padding:28px 24px 64px;font-family:var(--pr-font);background:var(--pr-bg);min-height:100vh;color:var(--pr-dark)}.pr-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 30px;background:linear-gradient(135deg,#1e3a8a,#2563eb 55%,#60a5fa);border-radius:20px;box-shadow:0 8px 32px #2563eb4d;position:relative;overflow:hidden;margin-bottom:24px}.pr-header:before{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:#ffffff12;pointer-events:none}.pr-header:after{content:"";position:absolute;bottom:-30px;left:20px;width:120px;height:120px;border-radius:50%;background:#ffffff0a;pointer-events:none}.pr-header-left{position:relative;z-index:1}.pr-header-title{margin:0 0 4px;font-size:clamp(18px,2.5vw,22px);font-weight:800;color:#fff;letter-spacing:-.4px}.pr-header-sub{margin:0;font-size:13px;color:#ffffffb8}.pr-header-actions{display:flex;gap:8px;align-items:center;position:relative;z-index:1;flex-wrap:wrap}.pr-run-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative;z-index:1}.pr-select-glass,.pr-input-glass{height:40px;padding:0 14px;background:#ffffff26;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;font-size:13.5px;font-family:var(--pr-font);outline:none;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s,border-color .15s}.pr-select-glass option{background:#1e3a8a;color:#fff}.pr-input-glass{min-width:100px}.pr-input-glass::placeholder{color:#ffffff8c}.pr-select-glass:focus,.pr-input-glass:focus{background:#ffffff38;border-color:#fff9}.pr-card{background:var(--pr-white);border-radius:var(--pr-radius);border:1px solid var(--pr-border);box-shadow:var(--pr-shadow);margin-bottom:20px;overflow:hidden}.pr-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--pr-border);background:linear-gradient(90deg,#fafbff,#f8f9ff);flex-wrap:wrap;gap:10px}.pr-card-title{font-size:12.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--pr-dark);display:flex;align-items:center;gap:8px;margin:0}.pr-card-icon{width:28px;height:28px;border-radius:8px;background:var(--pr-blue-soft);display:flex;align-items:center;justify-content:center;font-size:14px}.pr-card-meta{font-size:11.5px;color:var(--pr-gray-light);font-weight:500;background:var(--pr-blue-soft);padding:3px 10px;border-radius:999px;border:1px solid var(--pr-blue-pale);font-family:var(--pr-mono)}.pr-card-body{padding:20px 22px}.pr-table-wrap{overflow-x:auto}.pr-table{width:100%;border-collapse:collapse;font-size:13px}.pr-table thead tr{background:linear-gradient(90deg,#1e3a8a,#2563eb)}.pr-table thead th{padding:11px 16px;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#ffffffd9;border:none;white-space:nowrap}.pr-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.pr-table tbody tr:last-child{border-bottom:none}.pr-table tbody tr:hover{background:#f8faff}.pr-table tbody td{padding:12px 16px;color:#374151;vertical-align:middle;white-space:nowrap}.pr-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.pr-badge:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0}.pr-badge-DRAFT{background:var(--pr-red-soft);color:var(--pr-red);border:1px solid var(--pr-red-pale)}.pr-badge-DRAFT:before{background:var(--pr-red)}.pr-badge-FINALIZED{background:var(--pr-amber-soft);color:var(--pr-amber);border:1px solid var(--pr-amber-pale)}.pr-badge-FINALIZED:before{background:var(--pr-amber)}.pr-badge-PAID{background:var(--pr-green-soft);color:var(--pr-green);border:1px solid var(--pr-green-pale)}.pr-badge-PAID:before{background:var(--pr-green)}.pr-month-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:7px;background:var(--pr-blue-soft);color:var(--pr-blue);border:1px solid var(--pr-blue-pale);font-size:12px;font-weight:700;font-family:var(--pr-mono)}.pr-id-chip{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569;font-family:var(--pr-mono)}.pr-tbl-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pr-btn-view{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--pr-blue-pale);background:var(--pr-blue-soft);color:var(--pr-blue);transition:all .15s;font-family:var(--pr-font)}.pr-btn-view:hover:not(:disabled){background:var(--pr-blue);color:#fff}.pr-btn-generate{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--pr-purple-pale);background:var(--pr-purple-soft);color:var(--pr-purple);transition:all .15s;font-family:var(--pr-font)}.pr-btn-generate:hover:not(:disabled){background:var(--pr-purple);color:#fff}.pr-btn-finalize{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--pr-amber-pale);background:var(--pr-amber-soft);color:var(--pr-amber);transition:all .15s;font-family:var(--pr-font)}.pr-btn-finalize:hover:not(:disabled){background:var(--pr-amber);color:#fff}.pr-btn-paid{padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--pr-green-pale);background:var(--pr-green-soft);color:var(--pr-green);transition:all .15s;font-family:var(--pr-font)}.pr-btn-paid:hover:not(:disabled){background:var(--pr-green);color:#fff}.pr-btn-view:disabled,.pr-btn-generate:disabled,.pr-btn-finalize:disabled,.pr-btn-paid:disabled{opacity:.38;cursor:not-allowed}.pr-btn-primary{padding:9px 22px;border:none;border-radius:999px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 4px 14px #2563eb4d;font-family:var(--pr-font);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.pr-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 22px #2563eb66}.pr-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.pr-btn-ghost{padding:9px 18px;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;background:#ffffff1f;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--pr-font);display:inline-flex;align-items:center;gap:5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pr-btn-ghost:hover:not(:disabled){background:#ffffff38}.pr-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.pr-btn-secondary{padding:9px 18px;border:1.5px solid var(--pr-border);border-radius:999px;background:var(--pr-white);color:#374151;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--pr-font);display:inline-flex;align-items:center;gap:5px}.pr-btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pr-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.pr-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--pr-radius-sm);font-size:13px;font-weight:500;margin-bottom:16px;animation:prFadeIn .25s ease}.pr-alert-error{background:var(--pr-red-soft);border:1px solid var(--pr-red-pale);border-left:4px solid var(--pr-red);color:#991b1b}.pr-alert-success{background:var(--pr-green-soft);border:1px solid var(--pr-green-pale);border-left:4px solid var(--pr-green);color:#14532d}@keyframes prFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.pr-loading{display:flex;align-items:center;gap:12px;padding:36px 22px;color:var(--pr-gray);font-size:14px}.pr-spinner{width:22px;height:22px;border:2.5px solid #dbeafe;border-top-color:var(--pr-blue);border-radius:50%;animation:prSpin .65s linear infinite;flex-shrink:0}@keyframes prSpin{to{transform:rotate(360deg)}}.pr-empty{text-align:center;padding:44px 24px;color:var(--pr-gray)}.pr-empty-icon{font-size:38px;margin-bottom:10px}.pr-empty p{font-size:14px;margin:0}.pr-amount{font-family:var(--pr-mono);font-weight:600;font-size:13px;color:var(--pr-dark)}.pr-amount-net{font-family:var(--pr-mono);font-weight:800;font-size:14px;color:var(--pr-green)}.pr-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.pr-config-full{grid-column:1 / -1}.pr-section-divider{grid-column:1 / -1;padding:10px 0 4px;border-top:1px solid var(--pr-border);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--pr-gray);display:flex;align-items:center;gap:8px}.pr-field-label{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#374151;margin-bottom:7px}.pr-field-label .req{color:var(--pr-red);margin-left:2px}.pr-field-input,.pr-field-select{width:100%;padding:10px 14px;border:1.5px solid var(--pr-border);border-radius:var(--pr-radius-sm);font-size:13.5px;color:var(--pr-dark);background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:var(--pr-font)}.pr-field-input:focus,.pr-field-select:focus{border-color:var(--pr-blue);box-shadow:0 0 0 3px #2563eb1a;background:#fff}.pr-field-input::placeholder{color:#c4ccd6}.pr-field-input:disabled{background:#f3f4f6;color:var(--pr-gray);cursor:not-allowed}.pr-field-select{cursor:pointer;height:44px}.pr-toggle-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--pr-blue-soft);border:1.5px solid var(--pr-blue-pale);border-radius:var(--pr-radius-sm)}.pr-toggle{position:relative;width:42px;height:24px;flex-shrink:0}.pr-toggle input{opacity:0;width:0;height:0;position:absolute}.pr-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:999px;cursor:pointer;transition:background .2s}.pr-toggle-track:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000038;transition:transform .2s}.pr-toggle input:checked+.pr-toggle-track{background:var(--pr-blue)}.pr-toggle input:checked+.pr-toggle-track:before{transform:translate(18px)}.pr-toggle-text{font-size:14px;font-weight:700;color:var(--pr-dark)}.pr-toggle-hint{font-size:12px;color:var(--pr-gray);margin-top:2px}.pr-checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8faff;border:1.5px solid var(--pr-border);border-radius:var(--pr-radius-sm)}.pr-checkbox-label{font-size:13.5px;font-weight:600;color:var(--pr-dark)}.pr-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:8px}.pr-payslip-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:16px}.pr-payslip-wrapper{background:var(--pr-white);border-radius:var(--pr-radius);border:1px solid var(--pr-border);box-shadow:var(--pr-shadow);padding:28px 32px}@media (max-width: 900px){.pr-page{padding:16px 12px 48px}.pr-header{padding:18px 20px;flex-direction:column;align-items:flex-start}.pr-config-grid{grid-template-columns:1fr}.pr-card-body{padding:16px}.pr-run-form{width:100%}}@media (max-width: 500px){.pr-tbl-actions{flex-direction:column;align-items:flex-start}}@media print{.no-print{display:none!important}body{background:#fff}.pr-page{background:#fff;padding:0}.pr-payslip-wrapper{box-shadow:none;border:none;border-radius:0;padding:0}}.employee-list-page{max-width:100%;margin:0;padding:16px 20px 32px;font-family:Inter,Segoe UI,system-ui,sans-serif;min-height:100vh;background:#f0f4ff}.employee-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:20px 24px;background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#3b82f6);border-radius:16px;box-shadow:0 8px 32px #2563eb4d;color:#fff}.page-title{margin:0 0 4px;font-size:clamp(18px,2.5vw,24px);font-weight:700;letter-spacing:-.3px;color:#fff;display:flex;align-items:center;gap:10px}.emp-title-icon{font-size:22px}.text-muted{font-size:13px;color:#fffffff2;margin:0}.emp-header-stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.emp-stat-pill{display:flex;flex-direction:column;align-items:center;padding:10px 18px;border-radius:12px;min-width:68px}.emp-stat-total{background:#ffffff2e}.emp-stat-active{background:#22c55e40}.emp-stat-inactive{background:#ef444433}.emp-stat-num{font-size:20px;font-weight:700;color:#fff;line-height:1}.emp-stat-label{font-size:11px;color:#fffc;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.emp-tabs-row{margin-bottom:14px}.employment-type-tabs{display:inline-flex;gap:0;padding:4px;border-radius:999px;background:#dbeafe;box-shadow:0 2px 8px #2563eb1f}.tab-btn{border:none;padding:7px 18px;border-radius:999px;font-size:12.5px;font-weight:500;cursor:pointer;background:transparent;color:#1d4ed8;transition:all .18s ease;white-space:nowrap}.tab-btn:hover{background:#ffffffb3}.tab-btn-active{background:#2563eb;color:#fff;box-shadow:0 3px 12px #2563eb66}.emp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.emp-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1}.emp-toolbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.emp-dept-filter{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:0 12px;height:36px;box-shadow:0 1px 4px #0000000f;transition:border-color .15s}.emp-dept-filter:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.emp-dept-icon{font-size:14px}.emp-dept-select{border:none;outline:none;background:transparent;font-size:13px;color:#374151;cursor:pointer;padding:0;min-width:140px}.emp-export-wrapper{position:relative}.btn-export{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:999px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .18s;box-shadow:0 1px 4px #0000000f;white-space:nowrap}.btn-export:hover{background:#f3f4f6;border-color:#9ca3af}.emp-caret{font-size:10px;color:#9ca3af}.emp-export-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:200;min-width:180px;animation:dropIn .15s ease}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.emp-export-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;font-size:13px;color:#374151;cursor:pointer;text-align:left;transition:background .12s}.emp-export-item:hover{background:#f3f8ff;color:#2563eb}.emp-export-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:22px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.5px;flex-shrink:0}.csv-icon{background:#d1fae5;color:#065f46}.xls-icon{background:#dcfce7;color:#14532d}.pdf-icon{background:#fee2e2;color:#991b1b}.btn-primary{padding:8px 18px;border:none;border-radius:999px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 4px 14px #2563eb4d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #2563eb66}.btn-secondary{padding:6px 14px;border:1px solid #d1d5db;border-radius:999px;background:#f9fafb;font-size:12.5px;color:#374151;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.45;cursor:default}.emp-active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:8px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;font-size:12.5px}.emp-filter-label{color:#1d4ed8;font-weight:600}.emp-filter-chip{display:inline-flex;align-items:center;gap:5px;background:#dbeafe;color:#1d4ed8;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.emp-filter-chip button{background:none;border:none;color:#2563eb;cursor:pointer;font-size:11px;padding:0;line-height:1;margin-left:2px}.emp-clear-all{background:none;border:none;color:#dc2626;font-size:12px;cursor:pointer;font-weight:500;padding:2px 6px;border-radius:6px;margin-left:4px}.emp-clear-all:hover{background:#fee2e2}.table-wrapper{overflow-x:hidden;border-radius:14px;box-shadow:0 2px 16px #0f172a14;background:#fff;border:1px solid #e5e7eb;width:100%}.employee-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}.employee-table th:nth-child(1){width:36px}.employee-table th:nth-child(2){width:80px}.employee-table th:nth-child(3){width:170px}.employee-table th:nth-child(4){width:100px}.employee-table th:nth-child(5){width:110px}.employee-table th:nth-child(6){width:85px}.employee-table th:nth-child(7){width:82px}.employee-table th:nth-child(8){width:150px}.employee-table th:nth-child(9){width:70px}.employee-table th:nth-child(10){width:75px}.employee-table th:nth-child(11){width:120px}.employee-table thead{background:linear-gradient(90deg,#1e3a8a,#2563eb)}.employee-table thead th{padding:10px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#ffffffe0;white-space:nowrap;border-bottom:none;overflow:hidden;text-overflow:ellipsis}.employee-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s}.employee-table tbody tr:hover{background:#f0f7ff}.employee-table tbody td{padding:9px 10px;vertical-align:middle;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-idx-cell{color:#9ca3af;font-size:11px}.emp-code-badge{display:inline-block;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:2px 6px;border-radius:6px;font-size:11px;font-weight:600;font-family:Courier New,monospace}.emp-name-cell{display:flex;align-items:center;gap:8px;min-width:0}.emp-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;letter-spacing:.5px}.emp-fullname{font-weight:600;font-size:12.5px;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-email-small{font-size:11px;color:#9ca3af;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-email-cell,.emp-date-cell{color:#6b7280;font-size:12px}.emp-dept-tag{display:inline-block;background:#f3e8ff;color:#6b21a8;border:1px solid #e9d5ff;padding:2px 7px;border-radius:6px;font-size:11.5px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-type-badge{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600}.emp-type-permanent{background:#dcfce7;color:#166534}.emp-type-contract{background:#fef3c7;color:#92400e}.emp-type-intern{background:#e0f2fe;color:#075985}.employee-actions{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}.btn-action{width:26px;height:26px;border:none;border-radius:6px;background:#f9fafb;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.btn-edit:hover{background:#dbeafe;transform:scale(1.1)}.btn-delete:hover{background:#fee2e2;transform:scale(1.1)}.btn-access:hover{background:#fef3c7;transform:scale(1.1)}.btn-docs:hover{background:#ede9fe;transform:scale(1.1)}.employee-status-active{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;background:#dcfce7;color:#166534}.employee-status-inactive{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;background:#fee2e2;color:#b91c1c}.employee-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.employee-pagination-info{color:#6b7280;font-size:13px}.emp-page-btns{display:flex;align-items:center;gap:6px}.emp-page-btn{padding:5px 12px;font-size:12.5px}.emp-page-indicator{font-size:13px;font-weight:600;color:#374151;min-width:60px;text-align:center}.emp-empty-state{text-align:center;padding:56px 24px;background:#fff;border-radius:14px;border:2px dashed #e5e7eb}.emp-empty-icon{font-size:40px;margin-bottom:12px}.emp-empty-state p{color:#6b7280;font-size:14px;margin-bottom:16px}.emp-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:80px 24px;color:#6b7280}.emp-spinner{width:36px;height:36px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite}.emp-spinner.small{width:20px;height:20px;border-width:2px}.emp-error-state{padding:20px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-size:14px}.employee-access-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;justify-content:flex-end;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.employee-access-drawer{width:420px;max-width:100%;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-8px 0 32px #00000024;padding:20px;overflow-y:auto;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.employee-access-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.employee-access-header h2{margin:0 0 4px;font-size:17px;font-weight:700;color:#111827}.employee-access-subtitle{font-size:13px;color:#6b7280;margin:0}.employee-access-subtitle .muted{color:#9ca3af}.btn-icon{width:32px;height:32px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.btn-icon:hover{background:#fee2e2;border-color:#fca5a5}.employee-access-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.employee-access-loading{display:flex;align-items:center;gap:10px;color:#6b7280;font-size:13px;padding:16px 0}.employee-access-section{margin-bottom:20px}.employee-access-section h3{font-size:13.5px;font-weight:600;color:#1e3a8a;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.section-header h3{margin:0}.badge-small{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.employee-access-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}.form-group input[type=number]{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;color:#111827;outline:none;transition:border-color .15s}.form-group input[type=number]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:7px;font-size:13px;color:#374151;cursor:pointer;font-weight:500}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.pill-success{background:#dcfce7;color:#166534}.pill-muted{background:#f3f4f6;color:#6b7280}.empty-row{padding:16px;text-align:center;color:#9ca3af;font-size:13px}.empty-row.compact{padding:10px}.table-wrapper.compact{border-radius:8px;box-shadow:none;border:1px solid #e5e7eb}.compact-table th,.compact-table td{padding:7px 10px!important;font-size:12px!important}@media (max-width: 900px){.employee-list-page{padding:12px}.employee-page-header{padding:16px}.emp-toolbar{flex-direction:column;align-items:stretch}.emp-toolbar-left,.emp-toolbar-right{width:100%}.emp-toolbar-right{justify-content:flex-end}.emp-email-cell{display:none}.employee-table th:nth-child(8),.employee-table td:nth-child(8){display:none}}@media (max-width: 600px){.emp-header-stats{gap:6px}.emp-stat-pill{padding:7px 12px;min-width:54px}.employment-type-tabs{width:100%;overflow-x:auto}.employee-pagination{flex-direction:column;align-items:center}}body{overflow-x:hidden}.emp-unified-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 10px #0f172a12;margin-bottom:10px;flex-wrap:wrap}.emp-search-box{display:flex;align-items:center;gap:7px;background:#f8faff;border:1.5px solid #e0e7ff;border-radius:999px;padding:0 12px;height:36px;min-width:200px;transition:border-color .15s,box-shadow .15s}.emp-search-box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.emp-search-icon{font-size:13px;flex-shrink:0}.emp-search-input{border:none;outline:none;background:transparent;font-size:13px;color:#111827;width:100%;min-width:0}.emp-search-input::placeholder{color:#9ca3af}.emp-search-clear{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:11px;padding:0;flex-shrink:0;line-height:1;transition:color .12s}.emp-search-clear:hover{color:#ef4444}.emp-toolbar-divider{width:1px;height:24px;background:#e5e7eb;flex-shrink:0;margin:0 2px}.emp-status-toggle{display:inline-flex;align-items:center;gap:2px;background:#f1f5f9;border-radius:999px;padding:3px;flex-shrink:0}.emp-status-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer;background:transparent;color:#6b7280;transition:all .15s ease;white-space:nowrap}.emp-status-btn:hover:not(.emp-status-btn--active){background:#fffc;color:#374151}.emp-status-btn--active.emp-status-btn--all{background:#fff;color:#1e40af;box-shadow:0 1px 6px #0000001a;font-weight:600}.emp-status-btn--active.emp-status-btn--active{background:#dcfce7;color:#166534;box-shadow:0 1px 6px #22c55e33;font-weight:600}.emp-status-btn--active.emp-status-btn--inactive{background:#fee2e2;color:#b91c1c;box-shadow:0 1px 6px #ef444433;font-weight:600}.emp-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.emp-dot--green{background:#22c55e}.emp-dot--red{background:#ef4444}.emp-select-wrap{display:flex;align-items:center;gap:6px;background:#f8faff;border:1.5px solid #e0e7ff;border-radius:999px;padding:0 12px;height:36px;transition:border-color .15s,box-shadow .15s;flex-shrink:0}.emp-select-wrap:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.emp-select-icon{font-size:13px;flex-shrink:0}.emp-inline-select{border:none;outline:none;background:transparent;font-size:13px;color:#374151;cursor:pointer;padding:0;min-width:120px}@media (max-width: 900px){.emp-unified-toolbar{gap:8px;padding:10px}.emp-toolbar-divider{display:none}.emp-search-box{min-width:160px;flex:1}}@media (max-width: 600px){.emp-unified-toolbar{flex-direction:column;align-items:stretch}.emp-search-box{min-width:100%}.emp-status-toggle{width:100%;justify-content:center}.emp-select-wrap{width:100%}}.emp-form-page{max-width:900px;margin:32px auto;padding:0 20px 60px;font-family:Inter,Segoe UI,system-ui,sans-serif}.emp-form-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.emp-form-back-btn{width:38px;height:38px;border-radius:10px;border:1.5px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;color:#374151;flex-shrink:0;transition:all .15s;box-shadow:0 1px 4px #0000000f}.emp-form-back-btn:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.emp-form-title{margin:0 0 2px;font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.3px}.emp-form-subtitle{margin:0;font-size:13px;color:#6b7280}.emp-form-error{display:flex;align-items:center;gap:10px;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;color:#b91c1c;padding:12px 16px;border-radius:10px;font-size:13.5px;margin-bottom:20px}.emp-form-card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 4px 20px #0f172a12;overflow:hidden}.emp-form-section{padding:24px 28px;border-bottom:1px solid #f1f5f9}.emp-form-section:last-of-type{border-bottom:none}.emp-form-section-title{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#1e3a8a}.emp-form-section-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.emp-section-icon-blue{background:#dbeafe}.emp-section-icon-green{background:#dcfce7}.emp-section-icon-orange{background:#ffedd5}.emp-section-icon-purple{background:#f3e8ff}.emp-section-icon-amber{background:#fef3c7}.emp-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 20px}.emp-form-grid-2{grid-template-columns:repeat(2,1fr)}.emp-form-grid-4{grid-template-columns:repeat(4,1fr)}.emp-form-col-full{grid-column:1 / -1}.emp-field-label{display:block;font-size:11.5px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.emp-field-label .emp-required{color:#ef4444;margin-left:2px}.emp-field-input,.emp-field-select{width:100%;height:38px;padding:0 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13.5px;color:#111827;background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:inherit}.emp-field-input:focus,.emp-field-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;background:#fff}.emp-field-input::placeholder{color:#d1d5db;font-size:13px}.emp-field-select{cursor:pointer}.emp-field-input[type=date]{color:#374151}.emp-toggle-field{display:flex;flex-direction:column;gap:6px}.emp-toggle-wrap{display:flex;align-items:center;gap:10px;height:38px}.emp-toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0}.emp-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.emp-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:999px;cursor:pointer;transition:background .2s}.emp-toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003;transition:transform .2s}.emp-toggle-switch input:checked+.emp-toggle-slider{background:#2563eb}.emp-toggle-switch input:checked+.emp-toggle-slider:before{transform:translate(20px)}.emp-toggle-label-text{font-size:13.5px;color:#374151;font-weight:500}.emp-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:20px 28px;background:#f8faff;border-top:1px solid #e5e7eb}.emp-btn-save{display:flex;align-items:center;gap:7px;padding:9px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #2563eb59}.emp-btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #2563eb73}.emp-btn-save:disabled{opacity:.65;cursor:not-allowed;transform:none}.emp-btn-cancel{padding:9px 20px;background:#fff;color:#374151;border:1.5px solid #d1d5db;border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;transition:all .15s}.emp-btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.emp-form-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:300px;color:#6b7280;font-size:14px}.emp-form-spinner{width:36px;height:36px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:efSpin .7s linear infinite}@keyframes efSpin{to{transform:rotate(360deg)}}@media (max-width: 768px){.emp-form-page{padding:0 12px 40px;margin:16px auto}.emp-form-grid,.emp-form-grid-4{grid-template-columns:1fr 1fr}.emp-form-section{padding:18px 16px}.emp-form-actions{padding:16px}}@media (max-width: 500px){.emp-form-grid,.emp-form-grid-2,.emp-form-grid-4{grid-template-columns:1fr}.emp-form-title{font-size:18px}}:root{--bi-indigo-dark: #3730a3;--bi-indigo-mid: #4f46e5;--bi-indigo-base: #6366f1;--bi-indigo-light: #818cf8;--bi-lavender: #c7d2fe;--bi-surface: #f0f4ff;--bi-card: #ffffff;--bi-border: #e4e9f5;--bi-text: #0f1c3f;--bi-muted: #6b7280;--bi-faint: #9ca3af}.bi-page{min-height:100vh;background:var(--bi-surface);padding:32px 28px 60px;max-width:1000px;margin:0 auto;font-family:DM Sans,system-ui,sans-serif}.bi-header{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,var(--bi-indigo-dark) 0%,var(--bi-indigo-base) 60%,var(--bi-lavender) 100%);border-radius:18px;padding:24px 28px;margin-bottom:24px;box-shadow:0 8px 32px #6366f140;color:#fff}.bi-header-icon{font-size:40px;line-height:1;flex-shrink:0}.bi-title{margin:0 0 4px;font-family:Outfit,sans-serif;font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.5px;color:#fff}.bi-subtitle{margin:0;font-size:13px;color:#ffffffd1;line-height:1.5}.bi-tabs{display:flex;gap:8px;margin-bottom:16px}.bi-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;border:1.5px solid var(--bi-border);background:var(--bi-card);color:var(--bi-muted);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .18s ease}.bi-tab:hover{border-color:var(--bi-indigo-light);color:var(--bi-indigo-base)}.bi-tab-active{background:linear-gradient(135deg,var(--bi-indigo-base),var(--bi-indigo-mid));color:#fff!important;border-color:transparent;box-shadow:0 4px 14px #6366f14d}.bi-card{background:var(--bi-card);border-radius:18px;border:1px solid var(--bi-border);box-shadow:0 4px 24px #0f172a12;overflow:hidden;margin-bottom:20px}.bi-card:before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--bi-indigo-dark),var(--bi-indigo-base),var(--bi-lavender))}.bi-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid #f0f1f8}.bi-card-title{font-family:Outfit,sans-serif;font-size:17px;font-weight:700;color:var(--bi-text);margin-bottom:4px}.bi-card-desc{font-size:12.5px;color:var(--bi-muted);line-height:1.5}.bi-badge{flex-shrink:0;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;font-family:DM Mono,monospace;letter-spacing:.3px}.bi-badge-blue{background:#eef2ff;color:var(--bi-indigo-mid);border:1px solid var(--bi-lavender)}.bi-badge-green{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.bi-panel{padding:20px 24px 24px}.bi-columns-ref{margin-bottom:18px}.bi-columns-label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--bi-faint);margin-bottom:8px;font-family:DM Sans,sans-serif}.bi-columns-tags{display:flex;flex-wrap:wrap;gap:6px}.bi-col-tag{padding:3px 9px;background:#f0f4ff;border:1px solid var(--bi-lavender);border-radius:6px;font-size:11px;font-family:DM Mono,monospace;color:var(--bi-indigo-dark)}.bi-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.bi-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;border:none;font-family:DM Sans,sans-serif;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap}.bi-btn-icon{font-size:15px;line-height:1}.bi-btn-outline{background:#f0f4ff;color:var(--bi-indigo-mid);border:1.5px solid var(--bi-lavender)}.bi-btn-outline:hover{background:var(--bi-lavender);color:var(--bi-indigo-dark)}.bi-btn-primary{background:linear-gradient(135deg,var(--bi-indigo-base),var(--bi-indigo-mid));color:#fff;box-shadow:0 4px 14px #6366f14d}.bi-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.bi-btn-disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.bi-file-label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px dashed var(--bi-border);border-radius:10px;background:#fafbff;cursor:pointer;transition:all .18s ease;min-width:200px;max-width:300px}.bi-file-label:hover{border-color:var(--bi-indigo-light);background:#f0f4ff}.bi-file-icon{font-size:16px;flex-shrink:0}.bi-file-text{font-size:13px;color:var(--bi-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:DM Sans,sans-serif}.bi-alert{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:500;margin-bottom:14px}.bi-alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.bi-result{margin-top:8px;padding-top:16px;border-top:1px solid #eef1fa}.bi-result-title{font-family:Outfit,sans-serif;font-size:15px;font-weight:700;color:var(--bi-text);margin-bottom:14px}.bi-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.bi-stat{flex:1;min-width:130px;padding:14px 16px;border-radius:12px;border:1px solid transparent;text-align:center}.bi-stat-num{font-family:Outfit,sans-serif;font-size:28px;font-weight:800;line-height:1;margin-bottom:4px}.bi-stat-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.bi-stat-green{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.bi-stat-blue{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.bi-stat-amber{background:#fffbeb;border-color:#fde68a;color:#92400e}.bi-stat-red{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.bi-errors{margin-top:4px}.bi-errors-title{font-size:13px;font-weight:700;color:#b91c1c;margin-bottom:8px}.bi-table-wrap{max-height:260px;overflow:auto;border:1px solid #e5e7eb;border-radius:10px}.bi-table{width:100%;border-collapse:collapse;font-size:13px}.bi-table thead{background:#f3f4f6;position:sticky;top:0}.bi-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--bi-muted)}.bi-table td{padding:8px 12px;border-bottom:1px solid #f3f4f6;color:#374151}.bi-row-num{font-family:DM Mono,monospace;font-size:12px;color:var(--bi-faint)!important;width:60px}.bi-success-banner{padding:12px 16px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:10px;color:#065f46;font-size:14px;font-weight:600}.bi-instructions{background:var(--bi-card);border-radius:16px;border:1px solid var(--bi-border);padding:20px 24px;box-shadow:0 2px 12px #0f172a0a}.bi-instr-title{font-family:Outfit,sans-serif;font-size:15px;font-weight:700;color:var(--bi-text);margin-bottom:14px}.bi-instr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.bi-instr-item{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--bi-muted);line-height:1.5}.bi-instr-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--bi-indigo-base),var(--bi-indigo-mid));color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;margin-top:1px}@media (max-width: 768px){.bi-page{padding:16px 12px 40px}.bi-header{padding:18px 16px;gap:12px}.bi-header-icon{font-size:30px}.bi-tabs{flex-direction:column}.bi-tab{justify-content:center}.bi-actions{flex-direction:column;align-items:stretch}.bi-btn{justify-content:center}.bi-file-label{max-width:100%}.bi-stats{flex-direction:column}.bi-stat{min-width:unset}.bi-card-head{flex-direction:column}}@media (max-width: 480px){.bi-page{padding:10px 8px 30px}.bi-instr-grid{grid-template-columns:1fr}}.doc-page{padding:24px;max-width:1100px;margin:0 auto}.alert-banner{display:flex;align-items:center;gap:10px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#856404;font-size:14px}.doc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.doc-header h2{margin:0;font-size:22px;color:#1e293b}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.btn-icon{border:none;background:none;cursor:pointer;padding:6px 10px;border-radius:6px;font-size:16px;transition:background .15s}.btn-download:hover{background:#dbeafe}.btn-delete:hover{background:#fee2e2}.action-btns{display:flex;gap:4px}.msg{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:14px}.msg-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.msg-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.upload-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-bottom:24px}.upload-card h3{margin:0 0 16px;font-size:16px;color:#1e293b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group input,.form-group select{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1e293b;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #e0e7ff}.hint{color:#6b7280;font-size:11px;font-weight:400}.file-size-hint{display:block;margin-top:5px;font-size:12px;color:#4f46e5;font-weight:500}.filter-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.filter-row select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.doc-count{color:#6b7280;font-size:13px}.doc-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #e2e8f0}.doc-table{width:100%;border-collapse:collapse;background:#fff}.doc-table th{background:#f1f5f9;padding:12px 14px;font-size:13px;font-weight:600;color:#374151;text-align:left;border-bottom:1px solid #e2e8f0}.doc-table td{padding:12px 14px;font-size:13px;color:#374151;border-bottom:1px solid #f1f5f9;vertical-align:middle}.doc-table tr:last-child td{border-bottom:none}.doc-table tr:hover td{background:#f8fafc}.row-expired td{background:#fff7f7}.doc-name{font-weight:500;color:#1e293b}.doc-notes{font-size:11px;color:#6b7280;margin-top:2px}.file-info{display:flex;flex-direction:column;gap:2px}.file-size{font-size:11px;color:#9ca3af}.na{color:#9ca3af}.badge{display:inline-block;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:600}.badge-expired{background:#fee2e2;color:#dc2626}.badge-danger{background:#ffedd5;color:#ea580c}.badge-warning{background:#fef9c3;color:#ca8a04}.badge-ok{background:#dcfce7;color:#16a34a}.type-badge{display:inline-block;padding:3px 8px;background:#ede9fe;color:#5b21b6;border-radius:6px;font-size:11px;font-weight:500}.empty-state{text-align:center;padding:60px 24px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.empty-state p{color:#6b7280;margin-bottom:16px}.loading{text-align:center;padding:40px;color:#6b7280}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.doc-header{flex-direction:column;gap:12px;align-items:flex-start}}:root{--indigo-dark: #3730a3;--indigo-mid: #4f46e5;--indigo-base: #6366f1;--indigo-light: #818cf8;--lavender-1: #c7d2fe;--lavender-2: #ddd6fe;--lavender-3: #ede9fe;--surface: #f0f4ff;--card-bg: #ffffff;--border: #e4e9f5;--text-primary: #0f1c3f;--text-secondary:#4a5578;--text-muted: #8a94b0}.user-page{padding:32px 28px 60px;max-width:1000px;margin:0 auto;font-family:DM Sans,Segoe UI,system-ui,sans-serif;background:#f0f4ff;min-height:100vh}.user-card{background:var(--card-bg);border-radius:20px;padding:0;box-shadow:0 4px 24px #0f172a12;border:1px solid var(--border);overflow:hidden}.user-card:before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--indigo-dark),var(--indigo-base),var(--lavender-1));border-radius:20px 20px 0 0}.user-card>*:not(.user-table-wrapper){padding-left:28px;padding-right:28px}.user-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 28px;background:linear-gradient(135deg,var(--indigo-dark) 0%,var(--indigo-base) 60%,var(--lavender-1) 100%);border-radius:16px;box-shadow:0 8px 32px #6366f140;margin-bottom:24px;color:#fff}.user-title{margin:0 0 4px;font-family:Outfit,sans-serif;font-size:clamp(20px,2.5vw,26px);font-weight:700;color:var(--text-primary);letter-spacing:-.3px;padding-top:24px}.user-subtitle{margin:0 0 20px;font-size:13px;color:var(--text-muted);font-family:DM Mono,monospace;font-size:12px;letter-spacing:.2px}.user-card>div[style]{padding:24px 28px 0!important;align-items:flex-start!important}.user-form{display:flex;flex-direction:column;gap:18px;padding:0 28px 28px}.user-field{display:flex;flex-direction:column;gap:6px}.user-field label{font-size:11.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-family:DM Sans,sans-serif}.user-field input,.user-field select{padding:10px 14px;border-radius:10px;border:1.5px solid var(--border);font-size:14px;font-family:DM Sans,sans-serif;background:#fafbff;color:var(--text-primary);transition:all .2s ease;outline:none}.user-field input:focus,.user-field select:focus{border-color:var(--indigo-base);background:#fff;box-shadow:0 0 0 3px #6366f11f}.user-field input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.user-field input::placeholder{color:#b0b8cc;font-size:13px}.user-field.checkbox{flex-direction:row;align-items:center;gap:10px;padding:12px 14px;background:#fafbff;border:1.5px solid var(--border);border-radius:10px}.user-field.checkbox label{text-transform:none;font-size:13.5px;font-weight:500;color:var(--text-primary);letter-spacing:0;display:flex;align-items:center;gap:8px;cursor:pointer}.user-field.checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--indigo-base);cursor:pointer;padding:0;border:none;background:none;box-shadow:none}.activation-notice{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1.5px solid var(--lavender-1);border-radius:12px}.activation-icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px}.activation-notice strong{display:block;font-size:13px;font-weight:700;color:var(--indigo-dark);margin-bottom:4px;font-family:DM Sans,sans-serif}.activation-notice p{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5;font-family:DM Sans,sans-serif}.user-alert{padding:11px 14px;border-radius:10px;font-size:13px;font-weight:500;margin:0 28px 14px;display:flex;align-items:center;gap:8px}.user-alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.user-alert.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.user-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:20px;border-top:1px solid #eef1fa;flex-wrap:wrap}.user-table-wrapper{margin:0;overflow-x:auto;border-radius:0 0 20px 20px;background:#fff}.user-table{width:100%;border-collapse:collapse;font-size:13px;min-width:750px}.user-table thead{background:linear-gradient(90deg,var(--indigo-dark),var(--indigo-base))}.user-table thead th{padding:11px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#ffffffeb;white-space:nowrap;font-family:DM Mono,monospace;border-bottom:none}.user-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s}.user-table tbody tr:hover{background:#f5f3ff}.user-table tbody td{padding:10px 14px;vertical-align:middle;color:#374151;white-space:nowrap;font-size:13px}.user-table tbody td:first-child{color:#9ca3af;font-family:DM Mono,monospace;font-size:12px}.user-table tbody td:nth-child(5){font-size:11.5px;font-weight:600}.user-table tbody td:nth-child(7){font-weight:600;color:var(--indigo-mid)}.btn-primary{padding:9px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--indigo-base),var(--indigo-mid));color:#fff;font-size:13.5px;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 4px 14px #6366f14d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.btn-secondary{padding:7px 14px;border-radius:10px;border:1.5px solid var(--border);background:#f3f4f6;color:#374151;font-size:13px;font-family:DM Sans,sans-serif;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.user-card>div:only-child{padding:40px 28px;color:var(--text-muted);font-family:DM Mono,monospace;font-size:13px}@media (max-width: 900px){.user-page{margin:16px;padding:16px}}@media (max-width: 768px){.user-page{padding:12px}.user-card>*:not(.user-table-wrapper){padding-left:18px;padding-right:18px}.user-form{padding:0 18px 20px}.user-alert{margin:0 18px 12px}.user-actions{justify-content:flex-start}.user-card>div[style]{padding:18px 18px 0!important}}@media (max-width: 480px){.user-page{padding:10px}.user-card>*:not(.user-table-wrapper){padding-left:14px;padding-right:14px}.user-form{padding:0 14px 16px}.user-actions{flex-direction:column;align-items:stretch}.user-actions .btn-primary,.user-actions .btn-secondary{width:100%;text-align:center}.user-table{font-size:12px}}.company-settings-page{max-width:1000px;margin:0 auto;padding:32px 28px 60px;font-family:DM Sans,Inter,system-ui,sans-serif;background:#f0f4ff;min-height:100vh}.company-settings-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding:28px 32px;background:linear-gradient(135deg,#6366f1,#818cf8 60%,#a5b4fc);border-radius:20px;box-shadow:0 8px 32px #6366f140;color:#fff}.company-settings-header h1{margin:0 0 6px;font-family:Outfit,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#fff;letter-spacing:-.5px}.company-settings-header p{margin:0;color:#ffffffeb;font-size:.9rem;font-weight:500}.company-header-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:DM Mono,monospace;color:#ffffffe6;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:4px 12px;margin-bottom:10px;width:fit-content}.loading-spinner{display:flex;align-items:center;gap:12px;padding:60px 20px;color:#6b7280;font-family:DM Mono,monospace;font-size:13px;justify-content:center}.company-settings-card{background:#fff;border-radius:20px;border:1px solid #e4e9f5;padding:32px;box-shadow:0 4px 24px #0f172a12;margin-bottom:20px}.section-heading{display:flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;font-size:15px;font-weight:700;color:#0f1c3f;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #eef1fa}.section-heading span{font-size:18px}.section-subheading{font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:#4f46e5;margin:28px 0 16px;padding:8px 14px;background:#eef0ff;border-left:3px solid #6366f1;border-radius:0 8px 8px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.form-row{display:flex;flex-direction:column;gap:6px}label{font-size:12px;color:#4a5578;font-weight:600;letter-spacing:.4px;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px}.input,.textarea,.file-input{width:100%;border-radius:10px;border:1.5px solid #e4e9f5;padding:10px 14px;font-size:.9rem;font-family:DM Sans,sans-serif;outline:none;background:#fafbff;color:#0f1c3f;transition:all .2s ease}.input:focus,.textarea:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.input:disabled,.textarea:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.textarea{resize:vertical;min-height:100px}.file-input{padding:8px 12px;cursor:pointer;background:#fafbff}.helper-text{font-size:11.5px;color:#8a94b0;font-family:DM Mono,monospace;margin-top:2px}.checkbox-row{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fafbff;border:1.5px solid #e4e9f5;border-radius:10px;cursor:pointer;transition:all .15s}.checkbox-row:hover{border-color:#c7d2fe;background:#eef0ff}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.checkbox-row label{text-transform:none;font-size:13.5px;font-weight:500;color:#0f1c3f;letter-spacing:0;cursor:pointer;margin:0}.logo-upload-area{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;padding:20px;background:#fafbff;border:2px dashed #c7d2fe;border-radius:14px;transition:border-color .2s}.logo-upload-area:hover{border-color:#6366f1}.logo-preview-box{display:flex;flex-direction:column;align-items:center;gap:10px}.logo-preview{display:flex;align-items:center;justify-content:center;border:1.5px solid #e4e9f5;border-radius:12px;background:#fff;padding:10px;width:150px;height:100px;box-shadow:0 2px 8px #0f172a0f}.logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:150px;height:100px;border:2px dashed #c7d2fe;border-radius:12px;background:#eef0ff;color:#8a94b0;font-size:11px;text-align:center}.logo-placeholder span{font-size:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;border:1px solid transparent;padding:10px 20px;font-size:.875rem;font-family:DM Sans,sans-serif;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:#6366f1;box-shadow:0 4px 14px #6366f14d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #6366f166;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#f3f4f6;color:#374151;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:20px;border-top:1px solid #eef1fa;flex-wrap:wrap}@media (max-width: 768px){.company-settings-page{padding:16px}.company-settings-header,.company-settings-card{padding:20px}.form-grid{grid-template-columns:1fr}}@media (max-width: 576px){.company-settings-page{padding:12px}.form-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.logo-upload-area{flex-direction:column}}.branch-page{max-width:1100px;margin:0 auto;padding:32px 28px 60px;font-family:DM Sans,Inter,system-ui,sans-serif;background:#f0f4ff;min-height:100vh}.branch-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding:28px 32px;background:linear-gradient(135deg,#6366f1,#818cf8 60%,#a5b4fc);border-radius:20px;box-shadow:0 8px 32px #6366f140;color:#fff}.branch-header-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:DM Mono,monospace;color:#ffffffe6;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:4px 12px;margin-bottom:10px;width:fit-content}.branch-page-header h1{margin:0 0 6px;font-family:Outfit,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#fff;letter-spacing:-.5px}.branch-page-header p{margin:0;color:#ffffffeb;font-size:.9rem;font-weight:500}.branch-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.branch-header-stats{display:flex;gap:10px}.branch-stat-pill{display:flex;flex-direction:column;align-items:center;padding:10px 20px;border-radius:12px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);min-width:70px}.branch-stat-num{font-size:22px;font-weight:700;color:#fff;font-family:Outfit,sans-serif;line-height:1}.branch-stat-label{font-size:10px;color:#ffffffd9;margin-top:3px;text-transform:uppercase;letter-spacing:.5px}.btn-add-branch{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:#fff3;border:1.5px solid rgba(255,255,255,.4);border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:DM Sans,sans-serif}.btn-add-branch:hover{background:#ffffff4d;transform:translateY(-1px)}.alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:.875rem;font-weight:500}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.branch-form-card{background:#fff;border-radius:20px;border:1px solid #e4e9f5;padding:28px 32px;box-shadow:0 4px 24px #0f172a12;margin-bottom:20px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.branch-form-title{display:flex;align-items:center;gap:10px;font-family:Outfit,sans-serif;font-size:16px;font-weight:700;color:#0f1c3f;margin:0 0 22px;padding-bottom:14px;border-bottom:2px solid #eef1fa}.branch-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px 20px}.branch-form-row{display:flex;flex-direction:column;gap:6px}.branch-form-row.span-2{grid-column:span 2}.branch-form-row.span-3{grid-column:span 3}.branch-form-row label{font-size:11.5px;color:#4a5578;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.required{color:#dc2626}.branch-input{width:100%;border-radius:10px;border:1.5px solid #e4e9f5;padding:10px 14px;font-size:.9rem;font-family:DM Sans,sans-serif;outline:none;background:#fafbff;color:#0f1c3f;transition:all .2s ease}.branch-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.branch-checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fafbff;border:1.5px solid #e4e9f5;border-radius:10px;cursor:pointer;transition:all .15s;margin-top:22px}.branch-checkbox-row:hover{border-color:#c7d2fe;background:#eef0ff}.branch-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.branch-checkbox-row span{font-size:13px;font-weight:500;color:#0f1c3f}.branch-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:18px;border-top:1px solid #eef1fa}.btn-save{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #6366f14d;font-family:DM Sans,sans-serif}.btn-save:hover:not(:disabled){box-shadow:0 6px 20px #6366f166;transform:translateY(-1px)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-cancel{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:DM Sans,sans-serif}.btn-cancel:hover{background:#e5e7eb}.branch-list-card{background:#fff;border-radius:20px;border:1px solid #e4e9f5;box-shadow:0 4px 24px #0f172a12;overflow:hidden}.branch-list-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid #eef1fa}.branch-list-title{font-family:Outfit,sans-serif;font-size:15px;font-weight:700;color:#0f1c3f;display:flex;align-items:center;gap:8px}.branch-count-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:#eef0ff;color:#4f46e5;font-family:DM Mono,monospace}.branch-table-wrapper{overflow-x:auto}.branch-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:700px}.branch-table thead{background:linear-gradient(90deg,#eef0ff,#f5f3ff)}.branch-table thead th{padding:12px 16px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#4f46e5;white-space:nowrap;border-bottom:2px solid #e4e9f5}.branch-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s}.branch-table tbody tr:hover{background:#f5f3ff}.branch-table tbody td{padding:13px 16px;color:#374151;vertical-align:middle;white-space:nowrap}.branch-name-cell{display:flex;align-items:center;gap:10px}.branch-avatar{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.branch-name-text{font-weight:600;color:#0f1c3f}.branch-sub-text{font-size:11.5px;color:#8a94b0;margin-top:1px}.branch-code-badge{display:inline-block;padding:3px 10px;border-radius:6px;background:#eef0ff;color:#4f46e5;font-size:11.5px;font-weight:600;font-family:DM Mono,monospace}.branch-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11.5px;font-weight:600}.branch-status-badge.active{background:#ecfdf5;color:#065f46}.branch-status-badge.inactive{background:#f3f4f6;color:#6b7280}.branch-status-dot{width:6px;height:6px;border-radius:50%}.branch-status-badge.active .branch-status-dot{background:#10b981}.branch-status-badge.inactive .branch-status-dot{background:#9ca3af}.branch-actions{display:flex;gap:6px;align-items:center}.btn-edit{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:#eef0ff;color:#4f46e5;border:1px solid #c7d2fe;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn-edit:hover{background:#e0e7ff;border-color:#a5b4fc}.btn-delete{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn-delete:hover{background:#fee2e2;border-color:#fca5a5}.branch-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#8a94b0;gap:12px}.branch-empty-icon{font-size:40px}.branch-empty-text{font-size:14px;font-weight:500}.branch-loading{display:flex;align-items:center;gap:10px;padding:30px;color:#8a94b0;font-size:13px;justify-content:center;font-family:DM Mono,monospace}@media (max-width: 900px){.branch-page{padding:20px 16px}.branch-page-header,.branch-form-card{padding:20px}.branch-form-grid{grid-template-columns:1fr 1fr}.branch-form-row.span-3{grid-column:span 2}}@media (max-width: 600px){.branch-page{padding:12px}.branch-form-grid{grid-template-columns:1fr}.branch-form-row.span-2,.branch-form-row.span-3{grid-column:span 1}.branch-form-actions{flex-direction:column}.btn-save,.btn-cancel{width:100%;justify-content:center}.branch-header-stats{display:none}.branch-checkbox-row{margin-top:0}}.billing-page-root{padding:28px 28px 48px;background:#f0f4ff;min-height:calc(100vh - 60px);box-sizing:border-box;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.billing-page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:22px 28px;background:linear-gradient(135deg,#3730a3,#6366f1 60%,#818cf8);border-radius:16px;box-shadow:0 8px 32px #6366f140}.billing-title{margin:0;font-size:clamp(18px,2.5vw,22px);font-weight:700;color:#fff;letter-spacing:-.3px}.billing-subtitle{margin:4px 0 0;font-size:13px;color:#ffffffd1}.billing-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.billing-summary-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);color:#fffffff2;font-size:12px;font-weight:500}.billing-summary-pill .dot{width:8px;height:8px;border-radius:999px;background:#22c55e}.billing-card{background:#fff;border-radius:16px;border:1px solid #e4e9f5;box-shadow:0 4px 24px #0f172a0f;margin-bottom:16px;overflow:hidden}.billing-card-header{padding:16px 20px 12px;border-bottom:1px solid #f0f4ff;background:#fafbff}.billing-card-header h2{margin:0;font-size:15px;font-weight:700;color:#0f1c3f}.billing-card-header p{margin:4px 0 0;font-size:12.5px;color:#8a94b0}.billing-card-body{padding:18px 20px}.billing-alert{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:13px}.billing-alert-danger{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.billing-alert-success{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.billing-empty{padding:32px 0;font-size:13px;color:#8a94b0;text-align:center}.billing-form{padding:14px 20px 18px}.billing-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 16px}.billing-form-field{display:flex;flex-direction:column;gap:5px}.billing-form-field label{font-size:11px;font-weight:700;color:#4a5578;text-transform:uppercase;letter-spacing:.5px}.billing-form-field input,.billing-form-field select,.billing-form-field .input{padding:9px 12px;border-radius:10px;border:1.5px solid #e4e9f5;font-size:13px;font-family:inherit;background:#fafbff;color:#0f1c3f;transition:all .2s;outline:none}.billing-form-field input:focus,.billing-form-field select:focus,.billing-form-field .input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;background:#fff}.billing-form-actions{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.billing-active-flag{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4a5578}.billing-form-buttons{display:inline-flex;gap:8px}.billing-btn-primary{padding:9px 18px;border-radius:10px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #6366f14d;transition:all .2s ease;font-family:inherit}.billing-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.billing-btn-primary:disabled{opacity:.65;cursor:default;box-shadow:none;transform:none}.billing-btn-secondary{padding:9px 16px;border-radius:10px;border:1.5px solid #e4e9f5;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.billing-btn-secondary:hover{background:#f5f7ff;border-color:#c7d2fe}.billing-btn-secondary.billing-btn-sm{padding:6px 12px;font-size:12px}.billing-btn-danger{padding:6px 12px;border-radius:8px;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 3px 10px #ef444440;transition:all .2s;font-family:inherit}.billing-btn-danger:hover{transform:translateY(-1px);box-shadow:0 5px 16px #ef444459}.billing-link-btn{padding:5px 10px;border-radius:8px;border:none;background:#eef0ff;color:#4f46e5;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.billing-link-btn:hover{background:#e0e7ff}.billing-link-danger{background:#fef2f2;color:#dc2626}.billing-link-danger:hover{background:#fee2e2}.billing-table-card{padding:0}.billing-table-wrapper{width:100%;overflow-x:auto}.billing-table{width:100%;border-collapse:collapse;font-size:13px}.billing-table thead{background:linear-gradient(90deg,#3730a3,#6366f1)}.billing-table th{padding:11px 12px;text-align:left;font-weight:700;font-size:11px;color:#ffffffeb;border-bottom:none;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.billing-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#0f1c3f;white-space:nowrap}.billing-table tbody tr:hover{background-color:#f5f3ff}.billing-row-actions{text-align:right;display:flex;gap:6px;justify-content:flex-end}.billing-status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600}.billing-status-active{background:#dcfce7;color:#166534}.billing-status-inactive{background:#f3f4f6;color:#4b5563}.billing-status-paid{background:#dcfce7;color:#15803d}.billing-status-overdue{background:#fee2e2;color:#b91c1c}.billing-status-draft{background:#fef3c7;color:#b45309}.billing-gst-type-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;background:#eef0ff;color:#4f46e5}.billing-gst-type-pill.igst{background:#fef3c7;color:#92400e}.billing-gst-type-pill.cgst-sgst{background:#dcfce7;color:#166534}.billing-items-block{margin-top:16px}.billing-items-block h3{margin:0 0 10px;font-size:14px;font-weight:700;color:#0f1c3f}.billing-items-scroll{overflow-x:auto}.billing-items-table{border-radius:12px;border:1.5px solid #e4e9f5;overflow:hidden;min-width:800px}.billing-items-head{display:grid;grid-template-columns:2fr .6fr .9fr .9fr 1fr 1fr .8fr .8fr 32px;background:linear-gradient(90deg,#3730a3,#6366f1);padding:8px 10px;column-gap:4px}.billing-items-head span{font-size:10.5px;font-weight:700;color:#ffffffe6;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.billing-items-row{display:grid;grid-template-columns:2fr .6fr .9fr .9fr 1fr 1fr .8fr .8fr 32px;padding:5px 10px;column-gap:4px;align-items:center}.billing-items-row input,.billing-items-row select{width:100%;border-radius:7px;border:1.5px solid #e4e9f5;padding:5px 7px;font-size:12px;background:#fafbff;box-sizing:border-box;outline:none;transition:all .2s;font-family:inherit}.billing-items-row input:focus,.billing-items-row select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f;background:#fff}.billing-items-row+.billing-items-row{border-top:1px solid #f1f5f9}.billing-totals-row{margin-top:12px;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:flex-start}.billing-totals-card{border-radius:12px;border:1.5px solid #e4e9f5;background:#fafbff;padding:12px 16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;font-size:12px}.billing-totals-card div span{display:block;color:#8a94b0;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.billing-totals-card div strong{display:block;color:#0f1c3f;margin-top:3px;font-size:13px}.billing-total-final{border-left:2px solid #6366f1;padding-left:10px}.billing-notes{display:flex;flex-direction:column;gap:5px}.billing-notes label{font-size:11px;font-weight:700;color:#4a5578;text-transform:uppercase;letter-spacing:.5px}.form-textarea{border-radius:10px;border:1.5px solid #e4e9f5;padding:9px 12px;font-size:13px;font-family:inherit;background:#fafbff;color:#0f1c3f;outline:none;transition:all .2s}.form-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;background:#fff}.billing-loading{font-size:13px;color:#8a94b0;padding:20px;text-align:center}@media (max-width: 1024px){.billing-totals-card{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.billing-page-header,.billing-form-actions{flex-direction:column;align-items:flex-start}.billing-form-buttons{width:100%;justify-content:flex-end}.billing-totals-row{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.billing-page-root{padding:14px 12px 20px}.billing-card-body{padding:14px}.billing-form{padding:12px 14px 16px}.billing-totals-card{grid-template-columns:1fr}}.invoice-detail-page .billing-card{padding:0}.invoice-header-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.invoice-actions{display:flex;gap:10px;margin-top:10px}.invoice-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;background:linear-gradient(135deg,#3730a3,#6366f1 60%,#818cf8);border-radius:0}.invoice-card-header .billing-title{margin:0;font-size:20px;color:#fff}.invoice-card-header .billing-subtitle{margin:4px 0 0;font-size:12.5px;color:#ffffffd1}.invoice-detail-page .billing-status-pill{padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;letter-spacing:.5px}.billing-status-draft{background-color:#f59e0b}.billing-status-sent{background-color:#6366f1}.billing-status-paid{background-color:#16a34a}.billing-status-overdue{background-color:#dc2626}.billing-status-inactive{background-color:#6b7280}.invoice-status-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:10px 24px;border-bottom:1px solid #f0f4ff;background:#fafbff}.invoice-content,.billing-card-body,.invoice-detail-body{padding:20px 24px}.invoice-header-block{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:16px;border-radius:12px;background:#fafbff;border:1.5px solid #e4e9f5;margin-bottom:16px}.invoice-company h3{margin:0 0 4px;font-size:15px;color:#0f1c3f;font-weight:700}.invoice-company p{margin:0;font-size:12px;color:#4b5563;line-height:1.6}.invoice-billto-row{margin-bottom:16px}.invoice-billto{padding:14px;border-radius:12px;border:1.5px solid #e4e9f5;background:#fafbff}.invoice-billto h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#6366f1;font-weight:700}.invoice-billto p{margin:0;font-size:12.5px;color:#374151;line-height:1.6}.invoice-meta{min-width:230px;display:flex;flex-direction:column;gap:0;font-size:12px;padding:14px;background:#fafbff;border-radius:12px;border:1.5px solid #e4e9f5}.invoice-meta>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #f1f5f9}.invoice-meta>div:last-child{border-bottom:none}.invoice-meta span{color:#8a94b0}.invoice-meta strong{font-weight:600;color:#0f1c3f}.invoice-section{margin-bottom:24px}.invoice-section h3,.invoice-section-title{margin-bottom:10px;color:#0f1c3f;border-bottom:2px solid #e4e9f5;padding-bottom:8px;font-size:13px;font-weight:700}.invoice-text{margin:4px 0;color:#4b5563;font-size:13px}.invoice-items-block{margin-bottom:16px}.invoice-items-wrapper{overflow-x:auto}.invoice-items-table,.invoice-table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:12.5px;border-radius:10px;overflow:hidden}.invoice-items-table{min-width:700px}.invoice-items-table thead,.invoice-table thead{background:linear-gradient(90deg,#3730a3,#6366f1)}.invoice-items-table th,.invoice-table th{padding:10px;text-align:left;font-weight:700;color:#ffffffeb;font-size:10.5px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;border-bottom:none}.invoice-items-table td,.invoice-table td{padding:9px 10px;border-bottom:1px solid #f1f5f9;color:#374151;font-size:12.5px}.invoice-items-table tbody tr:hover,.invoice-table tbody tr:hover{background-color:#f5f3ff}.invoice-items-table td:nth-child(1),.invoice-items-table td:nth-child(4),.invoice-items-table td:nth-child(5),.invoice-items-table td:nth-child(7),.invoice-items-table td:nth-child(8),.invoice-items-table td:nth-child(9){text-align:right}.invoice-totals-row{display:flex;justify-content:flex-end;gap:24px;margin-top:12px}.invoice-totals-card,.invoice-totals{min-width:260px;padding:14px 16px;background:#fafbff;border-radius:12px;border:1.5px solid #e4e9f5}.invoice-totals{margin:20px 0 8px}.invoice-totals-card>div,.totals-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12.5px;border-bottom:1px solid #f1f5f9}.totals-row:last-child{border-bottom:none}.invoice-totals-card span{color:#8a94b0}.invoice-total-final,.total-amount{padding-top:8px;margin-top:6px;border-top:2px solid #6366f1!important;border-bottom:none!important;font-weight:700;font-size:14px}.invoice-notes{flex:1;font-size:12px}.invoice-notes h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#4a5578;font-weight:700}.invoice-notes p{margin:0;white-space:pre-wrap;color:#374151;font-size:13px}@media (max-width: 900px){.invoice-card-header{flex-direction:column;align-items:flex-start;gap:12px}.invoice-header-block{flex-direction:column}.invoice-meta{margin-top:8px}.invoice-totals-row{flex-direction:column-reverse}.invoice-totals-card,.invoice-totals{width:100%}}@media print{body{background-color:#fff}.invoice-detail-page{padding:10mm}.invoice-card-header{background:#f3f4f6!important;-webkit-print-color-adjust:exact}.invoice-card-header .billing-title{color:#111827!important}.invoice-card-header .billing-subtitle{color:#6b7280!important}.invoice-detail-page .billing-card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.invoice-detail-page .no-print{display:none!important}.invoice-detail-page .invoice-content,.invoice-detail-page .billing-card-body{padding:0}.invoice-items-table th{background-color:#e5e5e5!important;color:#111!important}.invoice-totals-card{border-left:2px solid #000;background-color:#fff}}.page-container{max-width:1100px;margin:24px auto;padding:16px 20px;box-sizing:border-box}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;gap:8px}.page-title{font-size:20px;font-weight:600;margin:0}.text-muted{color:#6b7280}.text-sm{font-size:13px}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0f172a14;padding:16px 20px;margin-bottom:16px;border:1px solid #e5e7eb}.card-title{font-size:16px;font-weight:600;margin:0 0 6px}.card-list{display:grid;gap:1rem}.table-wrapper,.table-responsive-custom{width:100%;overflow-x:auto;box-sizing:border-box}.data-table,.table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead,.table thead{background:#f9fafb}.data-table th,.data-table td,.table th,.table td{border-bottom:1px solid #e5e7eb;padding:8px 10px;text-align:left}.data-table th,.table th{font-weight:600;color:#4b5563}.clickable-row:hover,.table tbody tr:hover{background:#f9fafb;cursor:pointer}.empty-row{text-align:center;color:#6b7280;font-size:13px}.table-responsive-custom .table{width:100%;min-width:800px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}.filter-field{display:flex;flex-direction:column;font-size:12px}.filter-field label{margin-bottom:3px;color:#4b5563}.filter-field input,.filter-field select{border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;min-width:160px;font-size:13px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.form-row.full-width{grid-column:1 / -1}.form-row label{display:block;font-size:12px;color:#6b7280;margin-bottom:2px}.form-row input,.form-row textarea,.form-row select{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font-size:13px;background:#fff;box-sizing:border-box}.btn.btn-primary{background:#2563eb;color:#fff;border:none;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;font-weight:500}.btn.btn-secondary,.btn-secondary{background:#f9fafb;color:#111827;border:1px solid #d1d5db;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.btn-sm{padding:2px 8px;font-size:12px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.badge-applied{background:#dbeafe;color:#1d4ed8}.badge-screening{background:#fef3c7;color:#92400e}.badge-interview{background:#e0f2fe;color:#0369a1}.badge-offer,.badge-open{background:#dcfce7;color:#166534}.badge-rejected{background:#fee2e2;color:#b91c1c}.badge-closed{background:#e5e7eb;color:#4b5563}.badge-select{padding:2px 6px;font-size:12px;border-radius:12px;border:1px solid #ddd;background-color:#f9fafb}.badge-select.badge-applied{background-color:#e0f2fe}.badge-select.badge-screening{background-color:#fef3c7}.badge-select.badge-interview{background-color:#e5e7eb}.badge-select.badge-offer{background-color:#dcfce7}.badge-select.badge-open{background-color:#bbf7d0}.badge-select.badge-rejected{background-color:#fee2e2}.pagination{display:flex;gap:6px;justify-content:flex-end;margin-top:10px}.pagination button{padding:4px 8px;font-size:12px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer}.pagination button.active{background:#2563eb;color:#fff;border-color:#2563eb}.pagination button:disabled{opacity:.5;cursor:default}@media (max-width: 640px){.page-container{padding:12px}.page-header{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}}:root{--brand-navy: #1a1f4e;--brand-navy-2: #232863;--brand-navy-3: #2d347a;--brand-accent: #4f5bd5;--page-bg: #f0f2f8;--sidebar-bg: #ffffff;--card-bg: #ffffff;--text-primary: #1a1f4e;--text-secondary: #5a6080;--text-muted: #9399b5;--text-inverse: #ffffff;--blue-stat: #4f5bd5;--blue-stat-bg: #eef0fc;--green-stat: #22a55b;--green-stat-bg: #e8f7ee;--red-stat: #e84040;--red-stat-bg: #fdeaea;--orange-stat: #f5930a;--orange-stat-bg: #fff3e0;--purple-stat: #7c3aed;--purple-stat-bg: #f3eeff;--border: #e2e5f0;--border-light: #eef0f8;--shadow-xs: 0 1px 3px rgba(26,31,78,.07);--shadow-sm: 0 2px 8px rgba(26,31,78,.09);--shadow-md: 0 4px 16px rgba(26,31,78,.1);--shadow-lg: 0 8px 28px rgba(26,31,78,.12);--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--t: .18s;--ease: cubic-bezier(.4,0,.2,1)}.perf-page-root{padding:20px 24px 40px;min-height:100vh;background:var(--page-bg);box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;color:var(--text-primary)}.perf-page-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:linear-gradient(135deg,#3b40a0,#4f5bd5,#6b72e8);border-radius:var(--r-lg);margin-bottom:20px;gap:16px;box-shadow:0 4px 20px #4f5bd559;position:relative;overflow:hidden}.perf-page-header:before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;border-radius:50%;background:#ffffff0f;pointer-events:none}.perf-page-header:after{content:"";position:absolute;bottom:-60px;left:30%;width:260px;height:260px;border-radius:50%;background:#ffffff0a;pointer-events:none}.perf-title{font-size:22px;font-weight:700;margin:0;color:#fff;letter-spacing:-.3px;line-height:1.2;position:relative;z-index:1}.perf-subtitle{margin:5px 0 0;font-size:13px;font-weight:400;color:#ffffffb3;line-height:1.4;position:relative;z-index:1}.perf-primary-btn{padding:9px 18px;font-size:13px;font-family:Inter,sans-serif;font-weight:600;border-radius:var(--r-sm);border:none;background:linear-gradient(135deg,var(--brand-accent),#3b40a0);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 3px 12px #4f5bd559;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),filter var(--t) var(--ease);white-space:nowrap;position:relative;z-index:1}.perf-primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4f5bd573;filter:brightness(1.08)}.perf-primary-btn:active:not(:disabled){transform:translateY(0)}.perf-primary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.perf-page-header .perf-primary-btn{background:#ffffff26;border:1.5px solid rgba(255,255,255,.4);box-shadow:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.perf-page-header .perf-primary-btn:hover:not(:disabled){background:#ffffff40;box-shadow:none}.perf-secondary-btn{padding:9px 16px;font-size:13px;font-family:Inter,sans-serif;font-weight:500;border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-xs);transition:all var(--t) var(--ease);white-space:nowrap}.perf-secondary-btn:hover:not(:disabled){background:var(--page-bg);border-color:var(--text-muted);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.perf-secondary-btn:disabled{opacity:.45;cursor:not-allowed}.perf-summary-grid,.perf-review-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.perf-summary-card{background:var(--card-bg);border:1.5px solid var(--border-light);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease);cursor:default}.perf-summary-card:nth-child(1){border-top:3px solid var(--blue-stat)}.perf-summary-card:nth-child(2){border-top:3px solid var(--green-stat)}.perf-summary-card:nth-child(3){border-top:3px solid var(--red-stat)}.perf-summary-card:nth-child(4){border-top:3px solid var(--orange-stat)}.perf-summary-card:nth-child(5){border-top:3px solid var(--purple-stat)}.perf-summary-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.perf-summary-card .label{font-size:10.5px;font-weight:600;color:var(--text-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.8px}.perf-summary-card .label:before{content:"◈";margin-right:5px;font-size:10px;opacity:.6}.perf-summary-card .value{font-size:32px;font-weight:700;margin:0 0 4px;line-height:1;letter-spacing:-1px}.perf-summary-card:nth-child(1) .value{color:var(--blue-stat)}.perf-summary-card:nth-child(2) .value{color:var(--green-stat)}.perf-summary-card:nth-child(3) .value{color:var(--red-stat)}.perf-summary-card:nth-child(4) .value{color:var(--orange-stat)}.perf-summary-card:nth-child(5) .value{color:var(--purple-stat)}.perf-summary-card .value-active{color:var(--green-stat)}.perf-summary-card .value-draft{color:var(--orange-stat)}.perf-summary-card .value-closed{color:var(--text-muted)}.perf-alert{padding:11px 15px;border-radius:var(--r-sm);margin-bottom:14px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:9px;animation:fadeIn .2s var(--ease)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.perf-alert-danger{background:#fff5f5;border:1.5px solid #fecdd3;color:#be123c;border-left:4px solid var(--red-stat)}.perf-alert-success{background:#f0fdf4;border:1.5px solid #bbf7d0;color:#15803d;border-left:4px solid var(--green-stat)}.perf-card{background:var(--card-bg);border:1.5px solid var(--border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden;transition:box-shadow var(--t) var(--ease)}.perf-card:hover{box-shadow:var(--shadow-md)}.perf-card-header{padding:14px 20px;background:var(--card-bg);border-bottom:2px solid var(--border-light);display:flex;flex-direction:column;gap:3px;position:relative;overflow:hidden}.perf-card-header:after{display:none}.perf-card-header h2{margin:0;font-size:14px;font-weight:700;color:var(--brand-navy);letter-spacing:.1px}.perf-card-header p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.perf-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px 18px;padding:18px 20px}.perf-form-field{display:flex;flex-direction:column;gap:6px}.perf-form-field label{font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.perf-form-field input,.perf-form-field select,.perf-form-field textarea{width:100%;padding:8px 11px;border-radius:var(--r-sm);border:1.5px solid var(--border);font-size:13px;font-family:Inter,sans-serif;color:var(--text-primary);background:#fafbff;transition:border-color var(--t),box-shadow var(--t),background var(--t);box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:var(--shadow-xs)}.perf-form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%239399b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.perf-form-field input:focus,.perf-form-field select:focus,.perf-form-field textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #4f5bd51f;background:#fff}.perf-form-field input::placeholder,.perf-form-field textarea::placeholder{color:var(--text-muted)}.perf-form-field textarea{resize:vertical}.perf-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;padding-top:14px;margin-top:4px;border-top:1.5px solid var(--border-light)}.perf-table-card{overflow:hidden}.perf-table-wrapper{width:100%;overflow-x:auto}.perf-table{width:100%;border-collapse:collapse;font-size:13px}.perf-table thead tr{background:var(--page-bg);border-bottom:2px solid var(--border)}.perf-table th{padding:10px 14px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;text-align:left;white-space:nowrap}.perf-table td{padding:11px 14px;border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:13px}.perf-table td:first-child{color:var(--text-primary);font-weight:600}.perf-table tbody tr{transition:background var(--t)}.perf-table tbody tr:hover{background:#f5f6ff}.perf-table tbody tr:hover td{color:var(--text-primary)}.perf-table td:last-child{text-align:right}.perf-row-actions{text-align:right}.perf-link-btn{padding:5px 12px;font-size:12px;font-family:Inter,sans-serif;font-weight:600;border-radius:var(--r-xs);border:1.5px solid #dde0f7;background:#eef0fc;color:var(--brand-accent);cursor:pointer;transition:all var(--t) var(--ease)}.perf-link-btn:hover{background:#dde0f7;border-color:var(--brand-accent);color:#3b40a0;transform:translateY(-1px)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3px}.status-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.status-draft{background:#fff8e6;color:#b45309;border:1px solid #fde68a}.status-active{background:var(--green-stat-bg);color:var(--green-stat);border:1px solid #a7f3d0}.status-closed{background:#f1f2f8;color:var(--text-muted);border:1px solid var(--border)}.period-chip{display:inline-flex;padding:2px 9px;border-radius:999px;background:var(--blue-stat-bg);color:var(--blue-stat);font-size:11px;font-weight:700;border:1px solid #c7ccf5;letter-spacing:.3px}.filters-row,.perf-filters-row{display:flex;flex-wrap:wrap;gap:14px 18px;margin-bottom:16px;padding:16px 20px;align-items:flex-end;background:#fafbff;border-bottom:1.5px solid var(--border-light)}.filters-row>div,.perf-filters-row>div{display:flex;flex-direction:column;min-width:195px}.filters-row label,.perf-filters-row label{font-size:11.5px;font-weight:600;margin-bottom:5px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filters-row select,.perf-filters-row select{padding:8px 28px 8px 11px;border-radius:var(--r-sm);border:1.5px solid var(--border);font-size:13px;font-family:Inter,sans-serif;color:var(--text-primary);background:var(--card-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%239399b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:var(--shadow-xs);transition:border-color var(--t),box-shadow var(--t)}.filters-row select:focus,.perf-filters-row select:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #4f5bd51f}.perf-goals-list{display:flex;flex-direction:column;gap:12px;padding:16px 20px}.perf-goal-card{border-radius:var(--r-md);border:1.5px solid var(--border-light);background:var(--card-bg);overflow:hidden;transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.perf-goal-card:hover{transform:translateY(-2px);border-color:#c7ccf5;box-shadow:var(--shadow-md)}.perf-goal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:linear-gradient(90deg,#eef0fc,#f5f6ff);border-bottom:1.5px solid #dde0f7}.goal-title{font-size:13.5px;font-weight:600;color:var(--brand-navy);letter-spacing:-.1px}.goal-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;margin-top:2px}.goal-meta{font-size:12px;flex-shrink:0}.goal-weight{padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,var(--brand-accent),#3b40a0);color:#fff;font-size:11.5px;font-weight:700}.perf-goal-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:0}.perf-goal-column{padding:14px 16px;border-right:1.5px solid var(--border-light)}.perf-goal-column:last-child{border-right:none}.column-title{font-size:11px;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.7px;padding:5px 10px;border-radius:var(--r-xs);display:inline-flex;align-items:center;gap:5px}.column-title:before{content:"●";font-size:7px}.column-title.self{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.column-title.manager{background:#faf0ff;color:#7c3aed;border:1px solid #e9d5ff}.perf-input-group{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.perf-input-group label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.perf-input-group select,.perf-input-group textarea,.perf-input-group input{border-radius:var(--r-sm);border:1.5px solid var(--border);padding:8px 10px;font-size:13px;font-family:Inter,sans-serif;color:var(--text-primary);background:#fafbff;transition:border-color var(--t),box-shadow var(--t);-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:var(--shadow-xs)}.perf-input-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%239399b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:26px}.perf-input-group select:focus,.perf-input-group textarea:focus,.perf-input-group input:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #4f5bd51f;background:#fff}.perf-input-group textarea{resize:vertical;min-height:76px;line-height:1.5}.perf-input-group input::placeholder,.perf-input-group textarea::placeholder{color:var(--text-muted)}.perf-input-group-inline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.perf-input-group-inline label{font-size:13px;color:var(--text-secondary);font-weight:500}.perf-input-group-inline select{padding:8px 28px 8px 11px;border-radius:var(--r-sm);border:1.5px solid var(--border);font-size:13px;font-family:Inter,sans-serif;color:var(--text-primary);background:#fafbff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%239399b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:var(--shadow-xs);transition:border-color var(--t),box-shadow var(--t)}.perf-input-group-inline select:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px #4f5bd51f}.perf-review-status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;position:relative;z-index:1}.perf-review-status-pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.status-completed{background:var(--green-stat-bg);color:var(--green-stat);border:1.5px solid #a7f3d0}.status-in-progress{background:#fff3;color:#fff;border:1.5px solid rgba(255,255,255,.4)}.perf-review-actions-card{margin-top:0}.perf-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px}.rating-block{background:#fafbff;border-radius:var(--r-md);padding:16px 18px;border:1.5px solid var(--border-light);transition:border-color var(--t),box-shadow var(--t)}.rating-block:hover{border-color:#c7ccf5;box-shadow:var(--shadow-sm)}.rating-block h3{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--brand-navy);padding-bottom:10px;border-bottom:1.5px solid var(--border-light)}.perf-loading{font-size:13px;color:var(--text-muted);padding:28px 20px;display:flex;align-items:center;gap:10px}.perf-loading:before{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--brand-accent);animation:spin .85s linear infinite;flex-shrink:0}.perf-empty{padding:36px 20px;font-size:13px;color:var(--text-muted);text-align:center}.page-container{padding:20px 24px}.page-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:linear-gradient(135deg,#3b40a0,#4f5bd5);border-radius:var(--r-lg);margin-bottom:20px}.page-header h1{font-size:22px;font-weight:700;margin:0;color:#fff}.page-header button{padding:9px 18px;font-size:13px;font-weight:600;border-radius:var(--r-sm);border:1.5px solid rgba(255,255,255,.4);background:#ffffff26;color:#fff;cursor:pointer}.alert{padding:11px 15px;border-radius:var(--r-sm);margin-bottom:14px;font-size:13px;font-weight:500;border-left:4px solid transparent}.alert-danger{background:#fff5f5;border:1.5px solid #fecdd3;border-left-color:var(--red-stat);color:#be123c}.alert-success{background:#f0fdf4;border:1.5px solid #bbf7d0;border-left-color:var(--green-stat);color:#15803d}@media (max-width: 768px){.perf-page-root{padding:14px 14px 36px}.perf-page-header{padding:16px 20px;flex-direction:column;align-items:flex-start}.perf-title{font-size:18px}.perf-summary-grid,.perf-review-summary-grid{grid-template-columns:repeat(2,1fr)}.filters-row,.perf-filters-row{flex-direction:column}.perf-review-actions{grid-template-columns:1fr}}:root{--gray-900: #111827;--gray-800: #1f2937;--gray-700: #374151;--gray-600: #4b5563;--gray-500: #6b7280;--gray-400: #9ca3af;--gray-300: #d1d5db;--gray-200: #e5e7eb;--gray-100: #f3f4f6;--gray-50: #f9fafb;--teal-600: #0d9488;--teal-500: #14b8a6;--teal-400: #2dd4bf;--teal-200: #99f6e4;--teal-100: #ccfbf1;--teal-50: #f0fdfa;--emerald-600: #059669;--emerald-100: #d1fae5;--red-600: #dc2626;--red-100: #fee2e2;--amber-500: #f59e0b;--amber-100: #fef3c7;--violet-600: #7c3aed;--violet-100: #ede9fe;--blue-600: #2563eb;--blue-100: #dbeafe;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 4px 14px rgba(0,0,0,.07);--shadow-hover: 0 2px 6px rgba(0,0,0,.07), 0 8px 26px rgba(0,0,0,.11);--shadow-teal: 0 2px 10px rgba(20,184,166,.28)}.devices-page{padding:28px 32px;background:var(--gray-100);min-height:100vh;box-sizing:border-box;font-family:IBM Plex Sans,sans-serif;color:var(--gray-900)}.devices-page-header{margin-bottom:24px}.devices-page h2{font-family:Syne,sans-serif;font-size:24px;font-weight:700;color:var(--gray-900);margin:0 0 4px;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}.devices-page h2 .title-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:linear-gradient(135deg,var(--teal-500),var(--teal-400));border-radius:var(--radius-md);font-size:16px;box-shadow:var(--shadow-teal);color:#fff}.devices-page p{margin:0;color:var(--gray-500);font-size:13.5px;font-weight:300;padding-left:44px}.devices-error{margin-bottom:18px;padding:11px 14px;border-radius:var(--radius-md);background-color:var(--red-100);color:var(--red-600);font-size:13px;border:1px solid #fecaca;display:flex;align-items:center;gap:8px}.devices-layout{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:start}@media (max-width: 900px){.devices-layout{grid-template-columns:1fr}}.devices-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:22px 24px;border:1.5px solid var(--gray-200);transition:box-shadow .2s}.devices-card:hover{box-shadow:var(--shadow-hover)}.devices-form-card h3,.devices-list-card h3{font-family:Syne,sans-serif;margin:0 0 18px;font-size:15px;font-weight:600;color:var(--gray-800);display:flex;align-items:center;gap:7px}.devices-form-card h3:before{content:"⊞";color:var(--teal-500);font-size:15px}.devices-form{display:flex;flex-direction:column;gap:13px}.form-row{display:flex;flex-direction:column;gap:5px;font-size:13px}.form-row label{font-weight:500;color:var(--gray-600);font-size:11.5px;letter-spacing:.5px;text-transform:uppercase}.form-row input,.form-row select{padding:9px 12px;border-radius:var(--radius-md);border:1.5px solid var(--gray-200);font-size:13.5px;font-family:IBM Plex Sans,sans-serif;background:var(--gray-50);color:var(--gray-900);box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--teal-400);box-shadow:0 0 0 3px #2dd4bf2e;background:#fff}.form-row input::placeholder{color:var(--gray-400);font-size:13px}.checkbox-row{flex-direction:row!important;align-items:center;gap:0!important;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:9px 12px;transition:border-color .15s;cursor:pointer}.checkbox-row:hover{border-color:var(--teal-400)}.checkbox-row label{font-weight:400!important;font-size:13.5px!important;letter-spacing:0!important;text-transform:none!important;color:var(--gray-700)!important;display:flex;align-items:center;gap:8px;cursor:pointer;width:100%}.checkbox-row input[type=checkbox]{accent-color:var(--teal-500);width:15px;height:15px;cursor:pointer}.form-actions{display:flex;gap:10px;margin-top:4px}.form-actions button{padding:9px 18px;border-radius:999px;border:none;font-size:13px;font-family:IBM Plex Sans,sans-serif;cursor:pointer;font-weight:600;transition:all .18s ease;letter-spacing:.2px}.form-actions button:disabled{opacity:.55;cursor:default;transform:none!important}.form-actions button:first-of-type{background:linear-gradient(135deg,var(--teal-600),var(--teal-500));color:#fff;box-shadow:var(--shadow-teal)}.form-actions button:first-of-type:hover:not(:disabled){background:linear-gradient(135deg,#0f766e,var(--teal-600));transform:translateY(-1px);box-shadow:0 4px 16px #14b8a65c}.form-actions .btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1.5px solid var(--gray-200)!important}.form-actions .btn-secondary:hover{background:var(--gray-200)}.devices-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px}.devices-list-header h3{margin-bottom:0!important}.devices-badge{padding:3px 10px;border-radius:999px;font-size:11px;background:var(--teal-50);color:var(--teal-600);font-weight:600;border:1px solid var(--teal-100);animation:pulse-badge 1.2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.5}}.devices-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1.5px solid var(--gray-200)}.devices-table{width:100%;border-collapse:collapse;font-size:13px}.devices-table thead{background:var(--teal-50);border-bottom:2px solid var(--teal-200)}.devices-table th{padding:11px 14px;text-align:left;font-family:Syne,sans-serif;font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--teal-600);white-space:nowrap}.devices-table td{padding:11px 14px;border-bottom:1px solid var(--gray-100);color:var(--gray-800);vertical-align:middle;font-size:13px}.devices-table tbody tr{transition:background .12s}.devices-table tbody tr:hover td{background:var(--teal-50)}.devices-table tbody tr:last-child td{border-bottom:none}.ip-port-cell{font-family:IBM Plex Mono,Courier New,monospace;font-size:12.5px;color:var(--gray-600);background:var(--gray-100);padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);display:inline-block;white-space:nowrap}.device-status{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600}.device-status:before{content:"";width:6px;height:6px;border-radius:50%}.device-status-online{background:var(--emerald-100);color:#065f46}.device-status-online:before{background:var(--emerald-600);box-shadow:0 0 4px var(--emerald-600)}.device-status-offline{background:var(--red-100);color:#991b1b}.device-status-offline:before{background:var(--red-600)}.device-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--radius-sm);font-size:11.5px;font-weight:600;border:1px solid transparent}.device-type-FINGER{background:var(--amber-100);color:#92400e;border-color:#fde68a}.device-type-FACE{background:var(--violet-100);color:#5b21b6;border-color:#ddd6fe}.device-type-CARD{background:var(--blue-100);color:var(--blue-600);border-color:#bfdbfe}.conn-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);letter-spacing:.3px}.btn-link{background:none;border:1px solid var(--gray-200);padding:4px 10px;border-radius:999px;margin-right:5px;font-size:12px;font-family:IBM Plex Sans,sans-serif;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .15s}.btn-link:hover{background:var(--gray-100);border-color:var(--gray-400);transform:translateY(-1px)}.btn-link:disabled{opacity:.5;cursor:default;transform:none}.btn-link.test{color:var(--teal-600);border-color:var(--teal-200);background:var(--teal-50)}.btn-link.test:hover{background:var(--teal-100);border-color:var(--teal-400);box-shadow:0 0 8px #14b8a633}.btn-link.edit{color:var(--blue-600);border-color:var(--blue-100);background:#eff6ff}.btn-link.edit:hover{background:var(--blue-100);border-color:#93c5fd}.btn-link.danger{color:var(--red-600);border-color:#fecaca;background:var(--red-100)}.btn-link.danger:hover{background:var(--red-600);color:#fff;border-color:var(--red-600)}.devices-empty{text-align:center;padding:40px 16px;color:var(--gray-400);font-size:14px}.devices-empty-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.devices-empty-inner .empty-icon{font-size:30px;opacity:.5}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.devices-form-card{animation:fadeUp .35s ease both}.devices-list-card{animation:fadeUp .35s ease .1s both}@media (max-width: 640px){.devices-page{padding:16px}.devices-card{padding:18px;border-radius:var(--radius-lg)}.devices-page p{padding-left:0}}.asset-page{padding:24px;max-width:1200px;margin:0 auto}.asset-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.asset-header h2{margin:0 0 4px;font-size:22px}.asset-header p{margin:0;color:#666;font-size:14px}.asset-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;text-align:center}.asset-filters{display:flex;gap:12px;margin-bottom:20px}.asset-filters select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.asset-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px}.asset-table{width:100%;border-collapse:collapse}.asset-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-size:13px;font-weight:500;color:#475569}.asset-table td{padding:12px 16px;font-size:14px;border-top:1px solid #f1f5f9}.asset-table tr:hover td{background:#f8fafc}.badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.btn-sm{padding:5px 12px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px;margin-right:6px}.empty,.loading{text-align:center;padding:40px;color:#94a3b8}.asset-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:12px}.exit-page{display:grid;grid-template-columns:360px 1fr;height:calc(100vh - 64px);overflow:hidden}.exit-left{border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.exit-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start}.exit-header h2{margin:0 0 2px;font-size:18px}.exit-header p{margin:0;color:#64748b;font-size:13px}.exit-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:12px 16px;gap:8px;border-bottom:1px solid #f1f5f9}.exit-stat{text-align:center}.exit-stat .stat-num{display:block;font-size:20px;font-weight:600;color:#1e293b}.exit-stat span{font-size:10px;color:#64748b;text-transform:capitalize}.exit-filter{padding:10px 16px;border-bottom:1px solid #f1f5f9}.exit-filter select{width:100%;padding:7px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.exit-list{flex:1;overflow-y:auto}.exit-item{padding:14px 16px;border-bottom:1px solid #f1f5f9;cursor:pointer}.exit-item:hover{background:#f8fafc}.exit-item.active{background:#eff6ff;border-left:3px solid #3b82f6}.exit-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.emp-id{font-size:13px;font-weight:500;color:#1e293b}.exit-type{font-size:13px;color:#475569;margin-bottom:6px}.exit-meta{display:flex;gap:12px;font-size:12px;color:#64748b}.exit-right{overflow-y:auto}.no-exit{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8;font-size:14px}.exit-detail{padding:24px}.ed-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ed-header h3{margin:0 0 8px;font-size:17px;color:#1e293b}.status-select{padding:7px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.ed-info{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:#f8fafc;border-radius:10px;padding:16px;margin-bottom:24px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item b{font-size:12px;color:#94a3b8;font-weight:500}.info-item span{font-size:14px;color:#1e293b}.clearance-section h4{margin:0 0 16px;font-size:15px}.clearance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.clearance-card{border:1px solid #e5e7eb;border-radius:10px;padding:14px;text-align:center}.clearance-card.cleared{background:#f0fdf4;border-color:#bbf7d0}.cl-dept{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:6px}.cl-status{font-size:13px;color:#64748b;margin-bottom:8px}.clearance-card.cleared .cl-status{color:#16a34a}.cl-remarks{font-size:12px;color:#94a3b8;margin-bottom:8px}.btn-clear{background:#3b82f6;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px;width:100%}.btn-undo{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px;width:100%}.modal-box{background:#fff;border-radius:14px;padding:28px;width:520px;max-height:90vh;overflow-y:auto}.form-group{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-size:13px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.helpdesk-page{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden}.helpdesk-body{display:grid;grid-template-columns:380px 1fr;flex:1;overflow:hidden}.role-strip{display:flex;justify-content:space-between;align-items:center;padding:6px 20px;font-size:12px;font-weight:500}.role-strip--employee{background:#eff6ff;color:#1d4ed8;border-bottom:1px solid #bfdbfe}.role-strip--hr{background:#f0fdf4;color:#15803d;border-bottom:1px solid #bbf7d0}.role-strip--admin{background:#fef3c7;color:#92400e;border-bottom:1px solid #fde68a}.role-name{font-weight:600}.helpdesk-left{border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.hd-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start}.hd-header h2{margin:0 0 2px;font-size:18px}.hd-header p{margin:0;font-size:13px;color:#64748b}.hd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px;border-bottom:1px solid #f1f5f9}.hd-stat{text-align:center}.hd-stat-num{display:block;font-size:20px;font-weight:600;color:#1e293b}.hd-stat span{font-size:11px;color:#64748b;text-transform:capitalize}.hd-filter{padding:10px 16px;border-bottom:1px solid #f1f5f9}.hd-filter select{width:100%;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.ticket-list{flex:1;overflow-y:auto}.ticket-item{padding:14px 16px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s}.ticket-item:hover{background:#f8fafc}.ticket-item.active{background:#eff6ff;border-left:3px solid #3b82f6}.ticket-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ticket-number{font-size:12px;font-family:monospace;color:#94a3b8}.ticket-subject{font-size:14px;font-weight:500;color:#1e293b;margin-bottom:8px}.ticket-meta{display:flex;align-items:center;gap:8px}.ticket-cat{font-size:12px;color:#64748b}.ticket-replies{font-size:12px;color:#94a3b8;margin-left:auto}.no-tickets-msg{padding:40px;text-align:center;color:#94a3b8;font-size:14px}.helpdesk-right{overflow-y:auto}.no-ticket{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8}.ticket-detail{padding:24px}.td-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.td-header h3{margin:0 0 4px;font-size:18px;color:#1e293b}.status-control{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.status-label{font-size:11px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-select{padding:7px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff;cursor:pointer}.status-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe}.status-readonly{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.badge-lg{padding:6px 14px;font-size:13px}.td-info{display:flex;gap:20px;margin-bottom:16px;font-size:13px;color:#64748b}.td-description{background:#f8fafc;border-radius:8px;padding:16px;margin-bottom:20px}.td-description p{margin:8px 0 0;font-size:14px;color:#374151}.td-replies h4{margin:0 0 16px;font-size:15px}.reply-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;margin-bottom:12px}.reply-item.reply-own{background:#eff6ff;border-color:#bfdbfe}.reply-meta{font-size:12px;color:#94a3b8;margin-bottom:6px}.reply-message{font-size:14px;color:#374151}.reply-box{display:flex;flex-direction:column;gap:10px;margin-top:20px}.reply-box textarea{padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:vertical}.reply-box textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe}.reply-box .btn-primary{align-self:flex-end}.ticket-form .form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.ticket-form label{font-size:13px;font-weight:500;color:#374151}.ticket-form input,.ticket-form select,.ticket-form textarea{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.ticket-form input:focus,.ticket-form select:focus,.ticket-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #bfdbfe}.badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500}.badge-warning{background:#fef9c3;color:#854d0e}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s}.btn-secondary{background:#f1f5f9;color:#475569;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;transition:background .15s}.modal-box{background:#fff;border-radius:14px;padding:28px;width:500px;max-height:90vh;overflow-y:auto}.modal-box h3{margin:0 0 20px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.loading{padding:40px;text-align:center;color:#94a3b8}:root{--sidebar-bg: #ffffff;--sidebar-border: #e8edf2;--main-bg: #f0f4f8;--header-bg: #ffffff;--input-bg: #ffffff;--bubble-own: #4f46e5;--bubble-own-text:#ffffff;--bubble-other: #ffffff;--bubble-other-text: #1e293b;--accent: #4f46e5;--accent-light: #eef2ff;--accent-hover: #4338ca;--green: #10b981;--red: #ef4444;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 20px 60px rgba(0,0,0,.12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--font: "Plus Jakarta Sans", sans-serif}.chat-page{display:flex;height:calc(100vh - 64px);background:var(--main-bg);font-family:var(--font);overflow:hidden}.chat-sidebar{width:340px;min-width:260px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;flex-shrink:0;box-shadow:2px 0 12px #0000000a}.cs-header{padding:16px;background:var(--header-bg);border-bottom:1px solid var(--border)}.cs-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cs-header-top h2{color:var(--text-primary);font-size:20px;font-weight:700;margin:0;letter-spacing:-.3px}.cs-new-btn{background:var(--accent);border:none;color:#fff;cursor:pointer;padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px #4f46e54d}.cs-new-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.cs-search-wrap{position:relative}.cs-search{width:100%;padding:9px 14px 9px 36px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--main-bg);color:var(--text-primary);font-size:13.5px;font-family:var(--font);outline:none;box-sizing:border-box;transition:border-color .2s}.cs-search:focus{border-color:var(--accent);background:#fff}.cs-search::placeholder{color:var(--text-muted)}.cs-search-wrap:before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;pointer-events:none}.room-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.no-rooms{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;color:var(--text-muted);text-align:center;gap:12px}.no-rooms span{font-size:40px}.no-rooms p{font-size:13.5px;line-height:1.6;margin:0;color:var(--text-secondary)}.room-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s;position:relative}.room-item:hover{background:#f8fafc}.room-item.active{background:var(--accent-light);border-left:3px solid var(--accent)}.room-avatar-wrap{position:relative;flex-shrink:0}.room-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:var(--shadow-sm)}.online-badge{position:absolute;bottom:1px;right:1px;width:11px;height:11px;background:var(--green);border-radius:50%;border:2px solid #fff}.room-info{flex:1;min-width:0}.room-row1{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.room-name{color:var(--text-primary);font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-time{color:var(--text-muted);font-size:11px;white-space:nowrap;flex-shrink:0}.room-row2{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:3px}.room-last{color:var(--text-secondary);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-badge{background:var(--accent);color:#fff;border-radius:20px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-main{flex:1;display:flex;flex-direction:column;background:var(--main-bg);min-width:0;position:relative}.chat-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#cbd5e1 1px,transparent 1px);background-size:24px 24px;opacity:.35;pointer-events:none;z-index:0}.chat-placeholder{flex:1;display:flex;align-items:center;justify-content:center;z-index:1;position:relative}.placeholder-inner{text-align:center;padding:48px;background:#fff;border-radius:24px;box-shadow:var(--shadow-md);max-width:380px}.placeholder-icon{font-size:64px;margin-bottom:16px}.placeholder-inner h3{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 10px;letter-spacing:-.3px}.placeholder-inner p{font-size:14px;line-height:1.6;margin:0 0 24px;color:var(--text-secondary)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--header-bg);border-bottom:1px solid var(--border);z-index:2;flex-shrink:0;box-shadow:var(--shadow-sm)}.chat-header-left{display:flex;align-items:center;gap:12px}.chat-header-name{color:var(--text-primary);font-size:16px;font-weight:700}.chat-header-sub{color:var(--text-secondary);font-size:12px;margin-top:1px}.typing-text{color:var(--accent);font-weight:500}.online-text{color:var(--green);font-weight:500}.messages-area{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:6px;z-index:1;position:relative;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.chat-loading{text-align:center;color:var(--text-muted);font-size:13px;padding:16px}.message-wrap{display:flex;flex-direction:column;max-width:62%}.message-wrap.own{align-self:flex-end;align-items:flex-end}.message-wrap.other{align-self:flex-start;align-items:flex-start}.msg-sender-name{font-size:11.5px;font-weight:600;color:var(--accent);padding:0 4px 3px}.msg-bubble{position:relative;padding:10px 14px 22px;border-radius:var(--radius-md);max-width:100%;word-break:break-word;font-size:14px;line-height:1.55;box-shadow:var(--shadow-sm)}.bubble-own{background:var(--bubble-own);color:var(--bubble-own-text);border-bottom-right-radius:4px}.bubble-other{background:var(--bubble-other);color:var(--bubble-other-text);border-bottom-left-radius:4px;border:1px solid var(--border)}.msg-text{white-space:pre-wrap}.msg-deleted{font-style:italic;color:var(--text-muted);font-size:13px}.msg-footer{position:absolute;bottom:5px;right:10px;display:flex;align-items:center;gap:4px}.msg-time{font-size:10.5px;color:#ffffffa6}.bubble-other .msg-time{color:var(--text-muted)}.msg-ticks{font-size:11px;color:#ffffffb3;letter-spacing:-2px}.msg-actions{display:none;position:absolute;top:-10px;right:4px;gap:4px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 4px;box-shadow:var(--shadow-md)}.msg-bubble:hover .msg-actions{display:flex}.msg-action-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:3px 5px;font-size:13px;border-radius:4px;transition:background .15s}.msg-action-btn:hover{background:var(--main-bg);color:var(--text-primary)}.msg-delete-btn:hover{color:var(--red)}.reply-preview{border-left:3px solid rgba(255,255,255,.5);padding:4px 8px;margin-bottom:6px;background:#0000001a;border-radius:4px;font-size:12px;color:#fffc}.bubble-other .reply-preview{border-left-color:var(--accent);background:var(--accent-light);color:var(--accent)}.typing-bubble{padding:14px 18px}.typing-dots{display:flex;gap:4px;align-items:center}.typing-dots span{width:7px;height:7px;background:var(--text-muted);border-radius:50%;animation:bounce 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.chat-img-wrap{display:flex;flex-direction:column;gap:6px}.chat-img-preview{max-width:240px;max-height:200px;border-radius:var(--radius-sm);display:block;object-fit:cover;cursor:pointer;transition:opacity .15s}.chat-img-preview:hover{opacity:.9}.chat-img-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:240px}.chat-img-name{font-size:11px;opacity:.65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chat-img-dl-btn{background:#0000002e;border:none;color:inherit;padding:4px 10px;border-radius:12px;font-size:11.5px;font-family:var(--font);font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s}.chat-img-dl-btn:hover{background:#0000004d}.bubble-other .chat-img-dl-btn{background:#4f46e51a;color:var(--accent)}.bubble-other .chat-img-dl-btn:hover{background:#4f46e533}.chat-media-wrap{display:flex;flex-direction:column;gap:8px;max-width:280px}.chat-video-preview{width:100%;max-width:280px;max-height:180px;border-radius:var(--radius-sm);display:block;background:#000}.chat-audio-player{width:100%;max-width:280px;height:36px;border-radius:var(--radius-sm)}.chat-media-footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chat-file-icon-sm{font-size:15px;flex-shrink:0}.chat-media-name{flex:1;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-media-size{font-size:11px;opacity:.65;flex-shrink:0}.chat-dl-btn{background:#0000002e;border:none;color:inherit;padding:4px 11px;border-radius:12px;font-size:11.5px;font-family:var(--font);font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s}.chat-dl-btn:hover{background:#0000004d}.bubble-other .chat-dl-btn{background:#4f46e51a;color:var(--accent)}.bubble-other .chat-dl-btn:hover{background:#4f46e533}.chat-file-card{display:flex;align-items:center;gap:10px;background:#00000014;padding:10px 12px;border-radius:var(--radius-sm);min-width:200px;max-width:300px}.bubble-other .chat-file-card{background:var(--main-bg);border:1px solid var(--border)}.chat-file-icon{font-size:24px;flex-shrink:0}.chat-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.chat-file-size{font-size:11px;opacity:.65}.chat-file-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;align-items:flex-end}.chat-file-view-btn{background:#0000001f;border-radius:8px;padding:3px 7px;font-size:13px;text-decoration:none;transition:background .15s;line-height:1.4}.chat-file-view-btn:hover{background:#00000038}.bubble-other .chat-file-view-btn{background:#4f46e514}.bubble-other .chat-file-view-btn:hover{background:#4f46e52e}.reply-bar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#fff;border-top:1px solid var(--border);z-index:2}.reply-bar-content{display:flex;align-items:center;gap:10px;flex:1;border-left:3px solid var(--accent);padding-left:12px}.reply-bar-icon{font-size:16px;color:var(--accent)}.reply-bar-name{font-size:12px;font-weight:600;color:var(--accent)}.reply-bar-msg{font-size:12px;color:var(--text-secondary)}.reply-bar-close{background:var(--main-bg);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:15px;padding:4px 8px;border-radius:6px;transition:all .15s}.reply-bar-close:hover{background:var(--border);color:var(--text-primary)}.chat-input-area{display:flex;align-items:flex-end;gap:10px;padding:12px 80px 12px 20px;background:var(--input-bg);border-top:1px solid var(--border);z-index:2;box-shadow:0 -2px 8px #0000000a}@media (max-width: 700px){.chat-input-area{padding-right:72px}}.attach-btn{background:var(--main-bg);border:1.5px solid var(--border);color:var(--text-secondary);font-size:20px;cursor:pointer;padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.attach-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.chat-input{flex:1;background:var(--main-bg);border:1.5px solid var(--border);color:var(--text-primary);padding:10px 16px;border-radius:12px;font-size:14.5px;resize:none;outline:none;max-height:120px;overflow-y:auto;font-family:var(--font);line-height:1.5;scrollbar-width:none;transition:border-color .2s}.chat-input:focus{border-color:var(--accent);background:#fff}.chat-input::placeholder{color:var(--text-muted)}.send-btn{background:var(--accent);border:none;color:#fff;width:44px;height:44px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;box-shadow:0 2px 8px #4f46e559}.send-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e573}.send-btn:disabled{background:#e2e8f0;box-shadow:none;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4f46e54d}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:var(--text-secondary);border:1.5px solid var(--border);padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--main-bg);border-color:#c8d3dd;color:var(--text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box{background:#fff;border-radius:20px;width:500px;max-width:96vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .22s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid var(--border)}.modal-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700;letter-spacing:-.3px}.modal-close{background:var(--main-bg);border:1px solid var(--border);color:var(--text-secondary);font-size:16px;cursor:pointer;padding:5px 10px;border-radius:8px;transition:all .15s;line-height:1}.modal-close:hover{background:var(--border);color:var(--text-primary)}.modal-tabs{display:flex;padding:0 8px;border-bottom:1px solid var(--border);background:#fafbfc}.modal-tab{flex:1;background:none;border:none;border-bottom:2.5px solid transparent;color:var(--text-secondary);padding:13px 8px;font-size:13.5px;font-family:var(--font);font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-1px}.modal-tab:hover{color:var(--accent);background:var(--accent-light)}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.modal-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.modal-input{width:100%;box-sizing:border-box;padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--main-bg);color:var(--text-primary);font-size:14px;font-family:var(--font);outline:none;transition:border-color .2s,background .2s}.modal-input:focus{border-color:var(--accent);background:#fff}.modal-input::placeholder{color:var(--text-muted)}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);background:#fafbfc}.selected-chips{display:flex;flex-wrap:wrap;gap:6px}.emp-chip{background:var(--accent-light);color:var(--accent);border:1.5px solid #c7d2fe;padding:5px 10px;border-radius:20px;font-size:12.5px;font-weight:500;display:flex;align-items:center;gap:6px}.emp-chip button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0;line-height:1;opacity:.7;transition:opacity .15s}.emp-chip button:hover{opacity:1}.emp-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.emp-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;border:1.5px solid transparent}.emp-item:hover{background:var(--main-bg)}.emp-item.selected{background:var(--accent-light);border-color:#c7d2fe}.emp-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:var(--shadow-sm)}.emp-info{flex:1;min-width:0}.emp-name{color:var(--text-primary);font-size:14px;font-weight:600}.emp-dept{color:var(--text-secondary);font-size:12px;margin-top:1px}.emp-online{font-size:12px}.emp-check{color:var(--accent);font-weight:700;font-size:16px}.dept-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dept-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;background:var(--main-bg);border-radius:var(--radius-md);cursor:pointer;border:2px solid var(--border);transition:all .2s;color:var(--text-secondary);font-size:13px;font-weight:500;text-align:center}.dept-card:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.dept-card.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.dept-card span:first-child{font-size:26px}.chat-back-btn{display:none;background:none;border:none;color:var(--text-secondary);font-size:22px;cursor:pointer;padding:4px 10px 4px 4px;border-radius:8px;line-height:1;flex-shrink:0;transition:all .15s}.chat-back-btn:hover{color:var(--text-primary);background:var(--main-bg)}@media (max-width: 700px){.chat-sidebar{width:100%;min-width:0}.chat-main,.chat-page.room-open .chat-sidebar{display:none}.chat-page.room-open .chat-main{display:flex;width:100%}.message-wrap{max-width:85%}.chat-back-btn{display:flex;align-items:center}}.training-page{padding:24px;max-width:1200px;margin:0 auto}.training-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.training-header h2{margin:0 0 4px;font-size:22px}.training-header p{margin:0;color:#666;font-size:14px}.training-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{border-radius:10px;padding:16px;text-align:center;border:1px solid #e5e7eb;background:#fff}.stat-num{display:block;font-size:28px;font-weight:600;color:#1e293b}.stat-label{font-size:13px;color:#64748b;text-transform:capitalize}.training-filters{margin-bottom:20px}.training-filters select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.training-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.training-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.training-type-tag{font-size:12px;background:#f1f5f9;color:#475569;padding:3px 10px;border-radius:20px}.card-title{font-size:16px;font-weight:600;margin:0 0 8px;color:#1e293b}.card-desc{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.5}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.card-meta span{font-size:12px;color:#64748b;background:#f8fafc;padding:3px 8px;border-radius:6px}.card-actions{display:flex;gap:8px}.empty-state{grid-column:1/-1;text-align:center;padding:60px;color:#94a3b8}.badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-info{background:#dbeafe;color:#1e40af}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-secondary{background:#f1f5f9;color:#475569}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500}.btn-secondary{background:#f1f5f9;color:#475569;border:none;padding:10px 20px;border-radius:8px;cursor:pointer}.btn-sm{padding:5px 12px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:13px}.btn-sm.btn-danger{color:#ef4444;border-color:#fecaca}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-box{background:#fff;border-radius:14px;padding:28px;width:600px;max-height:90vh;overflow-y:auto}.modal-box h3{margin:0 0 20px;font-size:18px}.training-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.training-form .form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.training-form .form-group.full{grid-column:1/-1}.training-form label{font-size:13px;font-weight:500;color:#374151}.training-form input,.training-form select,.training-form textarea{padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.loading{text-align:center;padding:40px;color:#94a3b8}.interview-page{max-width:1100px;margin:0 auto;padding:24px 20px 60px;font-family:system-ui,sans-serif}.interview-header{background:linear-gradient(135deg,#1e3a5f,#1d4ed8,#2563eb);border-radius:18px;padding:24px 28px;color:#fff;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 8px 32px #1d4ed840}.interview-header h1{font-size:22px;font-weight:700;margin:0 0 4px}.interview-header p{font-size:13px;color:#ffffffbf;margin:0}.interview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.interview-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 6px #0000000a}.interview-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.interview-stat-value{font-size:24px;font-weight:800;color:#0f172a;line-height:1}.interview-stat-label{font-size:11px;color:#64748b;margin-top:2px}.interview-tabs{display:flex;gap:4px;margin-bottom:16px;background:#f1f5f9;padding:4px;border-radius:10px;width:fit-content;flex-wrap:wrap}.interview-tab{padding:7px 14px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap}.interview-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 4px #0000001a}.interview-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 2px 6px #0000000a}.interview-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-header-cell{text-align:center;font-size:11px;font-weight:700;color:#64748b;padding:8px 4px;text-transform:uppercase}.calendar-day{min-height:80px;border:1px solid #f1f5f9;border-radius:8px;padding:6px;background:#fff;cursor:pointer;transition:all .15s}.calendar-day:hover,.calendar-day.today{border-color:#3b82f6;background:#eff6ff}.calendar-day.has-interviews{border-color:#10b981}.calendar-day.empty{background:#fafbff;cursor:default}.calendar-day-num{font-size:12px;font-weight:600;color:#334155;margin-bottom:4px}.calendar-day.today .calendar-day-num{color:#1d4ed8;font-weight:800}.calendar-event{background:#dbeafe;color:#1e40af;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar-event.status-COMPLETED{background:#dcfce7;color:#166534}.calendar-event.status-CANCELLED{background:#fee2e2;color:#991b1b}.interview-item{border:1.5px solid #e2e8f0;border-radius:10px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:14px;transition:all .15s}.interview-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.interview-item.status-COMPLETED{border-color:#10b981}.interview-item.status-CANCELLED{opacity:.6}.interview-item.status-NO_SHOW{border-color:#ef4444}.interview-time-box{background:#1d4ed8;color:#fff;border-radius:8px;padding:8px 12px;text-align:center;flex-shrink:0;min-width:70px}.interview-time-box .time{font-size:16px;font-weight:800}.interview-time-box .date{font-size:10px;opacity:.8}.interview-info{flex:1}.interview-candidate{font-size:15px;font-weight:700;color:#0f172a;margin-bottom:4px}.interview-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#64748b}.interview-meta span{display:flex;align-items:center;gap:3px}.int-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.int-badge-scheduled{background:#dbeafe;color:#1e40af}.int-badge-completed{background:#dcfce7;color:#166534}.int-badge-cancelled{background:#fee2e2;color:#991b1b}.int-badge-no_show{background:#fef3c7;color:#92400e}.int-badge-selected{background:#dcfce7;color:#166534}.int-badge-rejected{background:#fee2e2;color:#991b1b}.int-badge-on_hold{background:#fef3c7;color:#92400e}.int-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.int-form-group{display:flex;flex-direction:column;gap:5px}.int-form-group.full{grid-column:1 / -1}.int-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.int-form-group input,.int-form-group select,.int-form-group textarea{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#fafbff;outline:none;transition:border-color .15s;font-family:inherit}.int-form-group input:focus,.int-form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.int-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.int-btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 3px 10px #3b82f64d}.int-btn-primary:hover:not(:disabled){transform:translateY(-1px)}.int-btn-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.int-btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.int-btn-secondary{background:#f1f5f9;color:#334155;border:1.5px solid #e2e8f0}.int-btn-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.int-btn:disabled{opacity:.5;cursor:not-allowed}.int-btn-sm{padding:5px 10px;font-size:12px}.int-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.int-msg{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:8px}.int-msg-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.int-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.int-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.int-modal{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.int-modal h3{margin:0 0 16px;font-size:17px}.int-empty{text-align:center;padding:48px 20px;color:#94a3b8}.int-empty-icon{font-size:48px;margin-bottom:12px}.int-empty h3{font-size:16px;color:#64748b;margin:0 0 6px}@media (max-width: 640px){.interview-page{padding:12px}.int-form-grid{grid-template-columns:1fr}.int-form-group.full{grid-column:1}.calendar-grid{grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:50px;padding:3px}.calendar-event{display:none}}.feedback-page{max-width:1000px;margin:0 auto;padding:24px 20px 60px;font-family:system-ui,sans-serif}.feedback-header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:18px;padding:24px 28px;color:#fff;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 8px 32px #0f34604d}.feedback-header h1{font-size:22px;font-weight:700;margin:0 0 4px}.feedback-header p{font-size:13px;color:#ffffffb3;margin:0}.feedback-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.feedback-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 6px #0000000a}.feedback-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.feedback-stat-value{font-size:24px;font-weight:800;color:#0f172a;line-height:1}.feedback-stat-label{font-size:11px;color:#64748b;margin-top:2px}.feedback-tabs{display:flex;gap:4px;margin-bottom:16px;background:#f1f5f9;padding:4px;border-radius:10px;width:fit-content}.feedback-tab{padding:7px 16px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap}.feedback-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 4px #0000001a}.feedback-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 2px 6px #0000000a}.feedback-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.survey-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:18px;margin-bottom:12px;transition:all .2s;cursor:pointer}.survey-card:hover{border-color:#6366f1;box-shadow:0 4px 16px #6366f11a;transform:translateY(-1px)}.survey-card.active-survey{border-color:#10b981}.survey-card.inactive-survey{opacity:.7}.survey-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.survey-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0}.survey-card-desc{font-size:12px;color:#64748b;margin:0 0 10px}.survey-card-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#94a3b8}.survey-type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.type-GENERAL{background:#dbeafe;color:#1e40af}.type-EXIT_INTERVIEW{background:#fee2e2;color:#991b1b}.type-PULSE{background:#dcfce7;color:#166534}.type-ENGAGEMENT{background:#ede9fe;color:#5b21b6}.type-ONBOARDING{background:#fef3c7;color:#92400e}.type-360_FEEDBACK{background:#f0fdf4;color:#166534}.feedback-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feedback-form-group{display:flex;flex-direction:column;gap:5px}.feedback-form-group.full{grid-column:1 / -1}.feedback-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.feedback-form-group input,.feedback-form-group select,.feedback-form-group textarea{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#fafbff;outline:none;transition:border-color .15s;font-family:inherit}.feedback-form-group input:focus,.feedback-form-group select:focus,.feedback-form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.question-builder{border:1.5px solid #e2e8f0;border-radius:10px;padding:14px;margin-bottom:10px;background:#fafbff}.question-number{width:24px;height:24px;border-radius:50%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.rating-stars{display:flex;gap:6px}.rating-star{font-size:28px;cursor:pointer;transition:transform .1s}.rating-star:hover{transform:scale(1.2)}.rating-star.selected{filter:none}.rating-star.unselected{filter:grayscale(1);opacity:.4}.nps-scale{display:flex;gap:4px;flex-wrap:wrap}.nps-btn{width:40px;height:40px;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;color:#334155}.nps-btn:hover{border-color:#6366f1;background:#ede9fe}.nps-btn.selected{border-color:#6366f1;background:#6366f1;color:#fff}.nps-labels{display:flex;justify-content:space-between;font-size:10px;color:#94a3b8;margin-top:4px}.analytics-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.analytics-label{font-size:12px;color:#475569;min-width:60px}.analytics-track{flex:1;height:10px;background:#f1f5f9;border-radius:5px;overflow:hidden}.analytics-fill{height:100%;border-radius:5px;transition:width .6s ease}.analytics-count{font-size:12px;font-weight:600;color:#0f172a;min-width:30px;text-align:right}.nps-score{font-size:48px;font-weight:800;text-align:center;margin:16px 0}.nps-positive{color:#10b981}.nps-negative{color:#ef4444}.nps-neutral{color:#f59e0b}.fb-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.fb-btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 3px 10px #6366f14d}.fb-btn-primary:hover:not(:disabled){transform:translateY(-1px)}.fb-btn-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.fb-btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.fb-btn-secondary{background:#f1f5f9;color:#334155;border:1.5px solid #e2e8f0}.fb-btn:disabled{opacity:.5;cursor:not-allowed}.fb-btn-sm{padding:5px 10px;font-size:12px}.feedback-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.fb-msg{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:8px}.fb-msg-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.fb-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.feedback-empty{text-align:center;padding:48px 20px;color:#94a3b8}.feedback-empty-icon{font-size:48px;margin-bottom:12px}.feedback-empty h3{font-size:16px;color:#64748b;margin:0 0 6px}.fb-checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fafbff;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer}.fb-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1}.fb-checkbox-row label{font-size:13px;font-weight:500;color:#0f172a;cursor:pointer;margin:0;text-transform:none;letter-spacing:0}@media (max-width: 640px){.feedback-page{padding:12px}.feedback-form-grid{grid-template-columns:1fr}.feedback-form-group.full{grid-column:1}.feedback-stats{grid-template-columns:1fr 1fr}.nps-scale{gap:2px}.nps-btn{width:32px;height:32px;font-size:11px}}.ess-page{max-width:900px;margin:0 auto;padding:24px 20px 60px;font-family:DM Sans,system-ui,sans-serif}.ess-header{background:linear-gradient(135deg,#0f172a,#1e3a5f 60%,#1e40af);border-radius:20px;padding:28px 32px;color:#fff;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;box-shadow:0 8px 32px #0f172a40}.ess-header-left{display:flex;align-items:center;gap:16px}.ess-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#fff;flex-shrink:0;border:3px solid rgba(255,255,255,.3)}.ess-header-name{font-size:22px;font-weight:700;margin:0 0 4px}.ess-header-meta{font-size:13px;color:#ffffffbf;display:flex;gap:12px;flex-wrap:wrap}.ess-header-meta span{display:flex;align-items:center;gap:4px}.ess-header-badge{background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;color:#fff}.ess-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.ess-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 8px #0000000d;transition:transform .15s,box-shadow .15s}.ess-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.ess-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.ess-stat-icon.green{background:#dcfce7}.ess-stat-icon.blue{background:#dbeafe}.ess-stat-icon.orange{background:#ffedd5}.ess-stat-icon.purple{background:#ede9fe}.ess-stat-value{font-size:28px;font-weight:800;color:#0f172a;line-height:1}.ess-stat-label{font-size:12px;color:#64748b;margin-top:2px}.ess-quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:24px}.ess-action-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .2s;text-decoration:none;color:#0f172a}.ess-action-btn:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f61f}.ess-action-icon{font-size:28px;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}.ess-action-label{font-size:12px;font-weight:600;text-align:center;color:#334155}.ess-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000d}.ess-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:8px}.ess-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ess-form-group{display:flex;flex-direction:column;gap:5px}.ess-form-group.full{grid-column:1 / -1}.ess-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.ess-form-group input,.ess-form-group select,.ess-form-group textarea{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#fafbff;outline:none;transition:border-color .15s;font-family:inherit}.ess-form-group input:focus,.ess-form-group select:focus,.ess-form-group textarea:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.ess-form-group input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.ess-readonly-badge{font-size:10px;color:#94a3b8;background:#f1f5f9;border-radius:4px;padding:1px 6px;margin-left:6px}.ess-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.ess-btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 14px #3b82f64d}.ess-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.ess-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.ess-btn-secondary{background:#f1f5f9;color:#334155;border:1.5px solid #e2e8f0}.ess-btn-secondary:hover{background:#e2e8f0}.ess-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.ess-msg{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:8px}.ess-msg-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.ess-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.ess-section-title{font-size:13px;font-weight:700;color:#3b82f6;background:#eff6ff;border-left:3px solid #3b82f6;padding:7px 12px;border-radius:0 8px 8px 0;margin:20px 0 14px;grid-column:1 / -1}.ess-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#64748b;font-size:14px;gap:10px}@media (max-width: 640px){.ess-page{padding:12px}.ess-header{padding:20px;flex-direction:column}.ess-profile-grid{grid-template-columns:1fr}.ess-quick-actions{grid-template-columns:repeat(3,1fr)}.ess-stats{grid-template-columns:1fr 1fr}.ess-form-group.full{grid-column:1}}.expense-page{max-width:1100px;margin:0 auto;padding:24px 20px 60px;font-family:system-ui,sans-serif}.expense-header{background:linear-gradient(135deg,#0f172a,#1e3a5f,#1d4ed8);border-radius:18px;padding:24px 28px;color:#fff;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 8px 32px #0f172a33}.expense-header h1{font-size:22px;font-weight:700;margin:0 0 4px}.expense-header p{font-size:13px;color:#ffffffbf;margin:0}.expense-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.expense-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 6px #0000000a}.expense-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.expense-stat-value{font-size:20px;font-weight:800;color:#0f172a;line-height:1}.expense-stat-label{font-size:11px;color:#64748b;margin-top:2px}.expense-tabs{display:flex;gap:4px;margin-bottom:16px;background:#f1f5f9;padding:4px;border-radius:10px;width:fit-content}.expense-tab{padding:7px 16px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap}.expense-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 4px #0000001a}.expense-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 2px 6px #0000000a}.expense-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:8px}.expense-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.expense-form-group{display:flex;flex-direction:column;gap:5px}.expense-form-group.full{grid-column:1 / -1}.expense-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.expense-form-group input,.expense-form-group select,.expense-form-group textarea{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#fafbff;outline:none;transition:border-color .15s;font-family:inherit}.expense-form-group input:focus,.expense-form-group select:focus,.expense-form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.expense-table-wrap{overflow-x:auto}.expense-table{width:100%;border-collapse:collapse;font-size:13px}.expense-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;background:#f8fafc;border-bottom:2px solid #e2e8f0;white-space:nowrap}.expense-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.expense-table tr:hover td{background:#f8fafc}.expense-table tr:last-child td{border-bottom:none}.expense-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-approved{background:#dcfce7;color:#166534}.badge-paid{background:#dbeafe;color:#1e40af}.expense-type-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:#f1f5f9;color:#475569}.exp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.exp-btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 3px 10px #3b82f64d}.exp-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 16px #3b82f666}.exp-btn-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.exp-btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.exp-btn-secondary{background:#f1f5f9;color:#334155;border:1.5px solid #e2e8f0}.exp-btn:disabled{opacity:.5;cursor:not-allowed}.exp-btn-sm{padding:5px 10px;font-size:12px}.expense-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.exp-msg{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:8px}.exp-msg-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.exp-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.expense-empty{text-align:center;padding:48px 20px;color:#94a3b8}.expense-empty-icon{font-size:48px;margin-bottom:12px}.expense-empty h3{font-size:16px;color:#64748b;margin:0 0 6px}.expense-empty p{font-size:13px;margin:0}@media (max-width: 640px){.expense-page{padding:12px}.expense-form-grid{grid-template-columns:1fr}.expense-form-group.full{grid-column:1}.expense-stats{grid-template-columns:1fr 1fr}}.loan-page{max-width:1100px;margin:0 auto;padding:24px 20px 60px;font-family:system-ui,sans-serif}.loan-header{background:linear-gradient(135deg,#134e4a,#0f766e,#0d9488);border-radius:18px;padding:24px 28px;color:#fff;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;box-shadow:0 8px 32px #0d948840}.loan-header h1{font-size:22px;font-weight:700;margin:0 0 4px}.loan-header p{font-size:13px;color:#fffc;margin:0}.loan-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.loan-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 6px #0000000a}.loan-stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.loan-stat-value{font-size:20px;font-weight:800;color:#0f172a;line-height:1}.loan-stat-label{font-size:11px;color:#64748b;margin-top:2px}.loan-tabs{display:flex;gap:4px;margin-bottom:16px;background:#f1f5f9;padding:4px;border-radius:10px;width:fit-content}.loan-tab{padding:7px 16px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap}.loan-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 4px #0000001a}.loan-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 2px 6px #0000000a}.loan-card-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.loan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.loan-form-group{display:flex;flex-direction:column;gap:5px}.loan-form-group.full{grid-column:1 / -1}.loan-form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.loan-form-group input,.loan-form-group select,.loan-form-group textarea{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;background:#fafbff;outline:none;transition:border-color .15s;font-family:inherit}.loan-form-group input:focus,.loan-form-group select:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.emi-preview{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border:1px solid #99f6e4;border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}.emi-preview-item{display:flex;flex-direction:column;gap:2px}.emi-preview-label{font-size:10px;color:#0f766e;font-weight:600;text-transform:uppercase}.emi-preview-value{font-size:18px;font-weight:800;color:#134e4a}.loan-checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f0fdfa;border:1.5px solid #99f6e4;border-radius:8px;cursor:pointer}.loan-checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:#0d9488}.loan-checkbox-row label{font-size:13px;font-weight:500;color:#0f172a;cursor:pointer;margin:0;text-transform:none;letter-spacing:0}.loan-table-wrap{overflow-x:auto}.loan-table{width:100%;border-collapse:collapse;font-size:13px}.loan-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;background:#f8fafc;border-bottom:2px solid #e2e8f0;white-space:nowrap}.loan-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.loan-table tr:hover td{background:#f8fafc}.loan-table tr:last-child td{border-bottom:none}.loan-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-pending{background:#fef3c7;color:#92400e}.badge-active{background:#dcfce7;color:#166534}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-closed{background:#f1f5f9;color:#475569}.loan-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.loan-btn-primary{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;box-shadow:0 3px 10px #0d94884d}.loan-btn-primary:hover:not(:disabled){transform:translateY(-1px)}.loan-btn-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.loan-btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.loan-btn-secondary{background:#f1f5f9;color:#334155;border:1.5px solid #e2e8f0}.loan-btn-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.loan-btn:disabled{opacity:.5;cursor:not-allowed}.loan-btn-sm{padding:5px 10px;font-size:12px}.loan-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}.schedule-table{width:100%;border-collapse:collapse;font-size:12px}.schedule-table th{padding:8px 10px;background:#f0fdfa;font-size:10px;text-transform:uppercase;color:#0f766e;font-weight:700;border-bottom:2px solid #99f6e4}.schedule-table td{padding:8px 10px;border-bottom:1px solid #f0fdfa;color:#334155}.loan-msg{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:8px}.loan-msg-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.loan-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.loan-empty{text-align:center;padding:48px 20px;color:#94a3b8}.loan-empty-icon{font-size:48px;margin-bottom:12px}.loan-empty h3{font-size:16px;color:#64748b;margin:0 0 6px}.loan-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.loan-modal{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.loan-modal h3{margin:0 0 16px;font-size:17px}@media (max-width: 640px){.loan-page{padding:12px}.loan-form-grid{grid-template-columns:1fr}.loan-form-group.full{grid-column:1}.loan-stats{grid-template-columns:1fr 1fr}}.ai-page{max-width:1200px;margin:0 auto;padding:24px 20px 60px;font-family:system-ui,sans-serif}.ai-header{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);border-radius:20px;padding:28px 32px;color:#fff;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;box-shadow:0 8px 32px #302b6366;position:relative;overflow:hidden}.ai-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(99,102,241,.3),transparent);border-radius:50%}.ai-header h1{font-size:24px;font-weight:800;margin:0 0 6px}.ai-header p{font-size:13px;color:#ffffffb3;margin:0}.ai-header-badge{background:#6366f14d;border:1px solid rgba(99,102,241,.5);border-radius:20px;padding:6px 16px;font-size:12px;font-weight:600;color:#a5b4fc;display:flex;align-items:center;gap:6px}.ai-insight-box{background:linear-gradient(135deg,#1e1b4b,#312e81);border:1px solid rgba(99,102,241,.4);border-radius:16px;padding:20px 24px;margin-bottom:20px;color:#e0e7ff;position:relative}.ai-insight-box:before{content:"🤖";position:absolute;top:-12px;left:20px;font-size:22px;background:#312e81;padding:0 6px;border-radius:50%}.ai-insight-title{font-size:12px;font-weight:700;color:#818cf8;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.ai-insight-text{font-size:13px;line-height:1.7;color:#c7d2fe;white-space:pre-line}.ai-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f1f5f9;padding:4px;border-radius:12px;flex-wrap:wrap}.ai-tab{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:6px}.ai-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 2px 8px #0000001a}.ai-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.ai-stat{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 8px #0000000a;transition:transform .15s}.ai-stat:hover{transform:translateY(-2px)}.ai-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.ai-stat-value{font-size:26px;font-weight:800;color:#0f172a;line-height:1}.ai-stat-label{font-size:11px;color:#64748b;margin-top:3px}.ai-stat-trend{font-size:11px;font-weight:600;margin-top:3px}.trend-up{color:#16a34a}.trend-down{color:#dc2626}.trend-warn{color:#d97706}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.ai-grid.three{grid-template-columns:1fr 1fr 1fr}.ai-grid.full{grid-template-columns:1fr}.ai-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 2px 8px #0000000a}.ai-card-title{font-size:14px;font-weight:700;color:#0f172a;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #f1f5f9;display:flex;align-items:center;gap:8px}.ai-bar-list{display:flex;flex-direction:column;gap:10px}.ai-bar-item{display:flex;flex-direction:column;gap:4px}.ai-bar-label{display:flex;justify-content:space-between;font-size:12px;color:#475569}.ai-bar-track{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.ai-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.risk-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.risk-high{background:#fee2e2;color:#991b1b}.risk-medium{background:#fef3c7;color:#92400e}.risk-low{background:#dcfce7;color:#166534}.grade-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:15px;font-weight:800}.grade-A{background:#dcfce7;color:#166534}.grade-B{background:#dbeafe;color:#1e40af}.grade-C{background:#fef3c7;color:#92400e}.grade-D{background:#fee2e2;color:#991b1b}.ai-table{width:100%;border-collapse:collapse;font-size:12px}.ai-table th{padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#475569;text-transform:uppercase;background:#f8fafc;border-bottom:2px solid #e2e8f0;white-space:nowrap}.ai-table td{padding:9px 10px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.ai-table tr:hover td{background:#f8fafc}.ai-table tr:last-child td{border-bottom:none}.score-bar{display:flex;align-items:center;gap:8px}.score-track{flex:1;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.score-fill{height:100%;border-radius:3px;transition:width .6s}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px;color:#64748b}.ai-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.ai-loading-text{font-size:14px;font-weight:500}.ai-loading-sub{font-size:12px;color:#94a3b8}.ai-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#818cf8;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.ai-refresh-btn:hover{background:#6366f140}@media (max-width: 768px){.ai-page{padding:12px}.ai-grid,.ai-grid.three{grid-template-columns:1fr}.ai-stats{grid-template-columns:1fr 1fr}.ai-tabs{gap:2px}.ai-tab{padding:6px 10px;font-size:12px}}*,*:before,*:after{box-sizing:border-box}:root{--co-bg: #f0f4ff;--co-white: #ffffff;--co-border: #e2e8f0;--co-blue: #2563eb;--co-blue-dark: #1d4ed8;--co-blue-mid: #3b82f6;--co-blue-soft: #eff6ff;--co-blue-pale: #dbeafe;--co-green: #16a34a;--co-green-soft: #f0fdf4;--co-green-pale: #bbf7d0;--co-amber: #d97706;--co-amber-soft: #fffbeb;--co-amber-pale: #fde68a;--co-red: #dc2626;--co-red-soft: #fef2f2;--co-red-pale: #fecaca;--co-gray: #64748b;--co-gray-light: #94a3b8;--co-dark: #0f172a;--co-navy: #1e3a8a;--co-radius: 16px;--co-radius-sm: 10px;--co-shadow: 0 4px 24px rgba(15,23,42,.08);--co-shadow-md: 0 8px 32px rgba(15,23,42,.12);--co-font: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--co-mono: "JetBrains Mono", "Fira Code", monospace}.co-page{max-width:1120px;margin:0 auto;padding:28px 24px 64px;font-family:var(--co-font);background:var(--co-bg);min-height:100vh;color:var(--co-dark)}.co-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 30px;background:linear-gradient(135deg,#1e3a8a,#2563eb 55%,#60a5fa);border-radius:20px;box-shadow:0 8px 32px #2563eb4d;position:relative;overflow:hidden;margin-bottom:24px}.co-header:before{content:"";position:absolute;top:-50px;right:-50px;width:180px;height:180px;border-radius:50%;background:#ffffff12;pointer-events:none}.co-header:after{content:"";position:absolute;bottom:-30px;left:20px;width:120px;height:120px;border-radius:50%;background:#ffffff0a;pointer-events:none}.co-header-left{position:relative;z-index:1}.co-header-title{margin:0 0 4px;font-size:clamp(18px,2.5vw,22px);font-weight:800;color:#fff;letter-spacing:-.4px}.co-header-sub{margin:0;font-size:13px;color:#ffffffb8}.co-emp-search{display:flex;align-items:center;gap:8px;position:relative;z-index:1;flex-wrap:wrap}.co-emp-input-wrap{display:flex;align-items:center;gap:8px;background:#ffffff26;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:0 16px;height:40px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:200px;transition:background .15s,border-color .15s}.co-emp-input-wrap:focus-within{background:#ffffff38;border-color:#fff9}.co-emp-input-wrap input{border:none;outline:none;background:transparent;font-size:13.5px;color:#fff;font-family:var(--co-font);width:100%}.co-emp-input-wrap input::placeholder{color:#ffffff8c}.co-balance-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;font-size:14px;font-weight:700;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;z-index:1}.co-balance-pill span.co-bal-num{font-size:18px;font-weight:800;font-family:var(--co-mono);color:#fef08a}.co-content-grid{display:grid;grid-template-columns:420px 1fr;gap:20px;align-items:flex-start}.co-card{background:var(--co-white);border-radius:var(--co-radius);border:1px solid var(--co-border);box-shadow:var(--co-shadow);overflow:hidden;margin-bottom:0}.co-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--co-border);background:linear-gradient(90deg,#fafbff,#f8f9ff)}.co-card-title{font-size:12.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--co-dark);display:flex;align-items:center;gap:8px;margin:0}.co-card-icon{width:28px;height:28px;border-radius:8px;background:var(--co-blue-soft);display:flex;align-items:center;justify-content:center;font-size:14px}.co-card-meta{font-size:11.5px;color:var(--co-gray-light);font-weight:500;background:var(--co-blue-soft);padding:3px 10px;border-radius:999px;border:1px solid var(--co-blue-pale);font-family:var(--co-mono)}.co-card-body{padding:20px 22px}.co-form{display:flex;flex-direction:column;gap:16px}.co-field-label{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#374151;margin-bottom:7px}.co-field-label .req{color:var(--co-red);margin-left:2px}.co-field-input,.co-field-select,.co-field-textarea{width:100%;padding:10px 14px;border:1.5px solid var(--co-border);border-radius:var(--co-radius-sm);font-size:13.5px;color:var(--co-dark);background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:var(--co-font)}.co-field-input:focus,.co-field-select:focus,.co-field-textarea:focus{border-color:var(--co-blue);box-shadow:0 0 0 3px #2563eb1a;background:#fff}.co-field-input::placeholder{color:#c4ccd6}.co-field-select{cursor:pointer;height:44px}.co-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.co-form-actions{margin-top:4px}.co-btn-primary{width:100%;padding:11px 22px;border:none;border-radius:999px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .18s;box-shadow:0 4px 14px #2563eb4d;font-family:var(--co-font);display:flex;align-items:center;justify-content:center;gap:7px}.co-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 22px #2563eb66}.co-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.co-btn-load{padding:9px 20px;border:none;border-radius:999px;background:#ffffff38;border:1.5px solid rgba(255,255,255,.45);color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .15s;font-family:var(--co-font);white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.co-btn-load:hover{background:#ffffff52}.co-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--co-radius-sm);font-size:13px;font-weight:500;margin-bottom:16px;animation:coFadeIn .25s ease}.co-alert-error{background:var(--co-red-soft);border:1px solid var(--co-red-pale);border-left:4px solid var(--co-red);color:#991b1b}.co-alert-success{background:var(--co-green-soft);border:1px solid var(--co-green-pale);border-left:4px solid var(--co-green);color:#14532d}@keyframes coFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.co-table-wrap{overflow-x:auto}.co-table{width:100%;border-collapse:collapse;font-size:12.5px}.co-table thead tr{background:linear-gradient(90deg,#1e3a8a,#2563eb)}.co-table thead th{padding:10px 14px;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#ffffffd9;border:none;white-space:nowrap}.co-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.co-table tbody tr:last-child{border-bottom:none}.co-table tbody tr:hover{background:#f8faff}.co-table tbody td{padding:11px 14px;color:#374151;vertical-align:middle;white-space:nowrap}.co-source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-family:var(--co-mono)}.co-source-MANUAL{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.co-source-WEEKLY_OFF{background:var(--co-blue-soft);color:var(--co-blue);border:1px solid var(--co-blue-pale)}.co-source-HOLIDAY{background:var(--co-amber-soft);color:var(--co-amber);border:1px solid var(--co-amber-pale)}.co-source-EXTRA_HOURS{background:var(--co-green-soft);color:var(--co-green);border:1px solid var(--co-green-pale)}.co-units{font-weight:700;font-family:var(--co-mono);font-size:13px;color:var(--co-dark)}.co-units-avail{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;background:var(--co-green-soft);color:var(--co-green);border:1px solid var(--co-green-pale);font-size:12px;font-weight:700;font-family:var(--co-mono)}.co-loading{display:flex;align-items:center;gap:12px;padding:36px 22px;color:var(--co-gray);font-size:14px}.co-spinner{width:22px;height:22px;border:2.5px solid #dbeafe;border-top-color:var(--co-blue);border-radius:50%;animation:coSpin .65s linear infinite;flex-shrink:0}@keyframes coSpin{to{transform:rotate(360deg)}}.co-empty{text-align:center;padding:44px 24px;color:var(--co-gray)}.co-empty-icon{font-size:38px;margin-bottom:10px}.co-empty p{font-size:14px;margin:0}@media (max-width: 900px){.co-content-grid{grid-template-columns:1fr}.co-page{padding:16px 12px 48px}.co-header{padding:18px 20px;flex-direction:column;align-items:flex-start}.co-emp-input-wrap{min-width:unset;width:100%}.co-emp-search{width:100%}.co-card-body{padding:16px}}@media (max-width: 500px){.co-form-row{grid-template-columns:1fr}}.nb-wrapper{position:relative;display:inline-block}.nb-bell-btn{position:relative;border:none;background:transparent;cursor:pointer;font-size:20px;padding:4px;border-radius:8px;transition:background .15s}.nb-bell-btn:hover{background:#ffffff1f}@keyframes nb-shake{0%{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-16deg)}45%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(4deg)}to{transform:rotate(0)}}.nb-bell-shake{animation:nb-shake .6s ease}.nb-badge{position:absolute;top:-4px;right:-6px;background:#e02424;color:#fff;border-radius:999px;padding:0 5px;font-size:10px;font-weight:700;min-width:16px;text-align:center;line-height:16px;height:16px}.nb-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:340px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0f172a2e;overflow:hidden;z-index:9999;border:1px solid #e5e7eb;animation:nb-drop .15s ease}@keyframes nb-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nb-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #f3f4f6;background:#f9fafb}.nb-header-title{font-size:14px;font-weight:600;color:#111827;display:flex;align-items:center;gap:6px}.nb-unread-chip{background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px}.nb-mark-all{font-size:11px;color:#4f46e5;background:none;border:none;cursor:pointer;font-weight:500;padding:4px 8px;border-radius:6px;transition:background .15s}.nb-mark-all:hover{background:#ede9fe}.nb-body{max-height:380px;overflow-y:auto}.nb-empty{padding:28px 16px;text-align:center;font-size:13px;color:#9ca3af;display:flex;flex-direction:column;align-items:center;gap:4px}.nb-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:nb-spin .6s linear infinite;margin:0 auto 8px}@keyframes nb-spin{to{transform:rotate(360deg)}}.nb-item{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .12s}.nb-item:last-child{border-bottom:none}.nb-item:hover{background:#f5f3ff}.nb-unread{background:#eff6ff}.nb-read{background:#fff}.nb-item-left{flex-shrink:0;width:32px;height:32px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.nb-item-content{flex:1;min-width:0}.nb-item-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.nb-item-title{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nb-dot{width:8px;height:8px;background:#2563eb;border-radius:50%;flex-shrink:0}.nb-item-msg{font-size:12px;color:#6b7280;margin-top:2px;line-height:1.5}.nb-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:5px}.nb-item-time{font-size:11px;color:#9ca3af}.nb-prio-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px}.prio-urgent{background:#fee2e2;color:#b91c1c}.prio-warning{background:#fef3c7;color:#92400e}.prio-normal{background:#dbeafe;color:#1e40af}.nb-detail{padding:16px}.nb-back{background:none;border:none;font-size:12px;color:#4f46e5;cursor:pointer;padding:0;margin-bottom:14px;font-weight:500}.nb-back:hover{text-decoration:underline}.nb-detail-icon{font-size:32px;text-align:center;margin-bottom:10px}.nb-detail-title{font-size:15px;font-weight:700;color:#111827;text-align:center;margin-bottom:10px}.nb-detail-message{font-size:13px;color:#374151;line-height:1.6;background:#f9fafb;border-radius:8px;padding:12px;margin-bottom:12px}.nb-detail-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9ca3af}.nb-type-icon{font-size:16px}:root{--hrbot-primary: #128C7E;--hrbot-primary-dk: #075E54;--hrbot-primary-lt: #e8f5f3;--hrbot-green: #25D366;--hrbot-bg-chat: #ece5dd;--hrbot-bubble-bot: #ffffff;--hrbot-bubble-user: #d9fdd3;--hrbot-text: #111b21;--hrbot-text-muted: #667781;--hrbot-border: #e9edef;--hrbot-radius: 18px;--hrbot-shadow: 0 8px 40px rgba(0, 0, 0, .18);--hrbot-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.hrbot-fab{position:fixed;bottom:28px;right:28px;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#128c7e,#075e54);color:#fff;border:none;cursor:pointer;z-index:9999;box-shadow:0 4px 20px #128c7e73;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.hrbot-fab:hover{transform:scale(1.1);box-shadow:0 6px 28px #128c7e8c}.hrbot-fab-open{background:linear-gradient(135deg,#455a64,#263238);box-shadow:0 4px 20px #0000004d}.hrbot-fab-icon{font-size:22px;line-height:1}.hrbot-unread{position:absolute;top:-3px;right:-3px;background:#e53935;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff;font-family:var(--hrbot-font)}.hrbot-pulse{position:absolute;width:58px;height:58px;border-radius:50%;background:#128c7e59;animation:hrbot-pulse-anim 2s ease-out infinite;pointer-events:none}@keyframes hrbot-pulse-anim{0%{transform:scale(1);opacity:.7}to{transform:scale(2);opacity:0}}.hrbot-window{position:fixed;bottom:98px;right:28px;width:390px;max-height:640px;display:flex;flex-direction:column;background:var(--hrbot-bg-chat);border-radius:var(--hrbot-radius);box-shadow:var(--hrbot-shadow);z-index:9998;overflow:hidden;font-family:var(--hrbot-font);animation:hrbot-slide-up .22s cubic-bezier(.34,1.56,.64,1)}@keyframes hrbot-slide-up{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 500px){.hrbot-window{width:calc(100vw - 16px);right:8px;bottom:84px;max-height:calc(100dvh - 100px);border-radius:14px}.hrbot-fab{bottom:16px;right:16px}}.hrbot-header{background:var(--hrbot-primary);color:#fff;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.hrbot-header-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.hrbot-header-avatar{position:relative;width:40px;height:40px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.hrbot-online-ring{position:absolute;bottom:1px;right:1px;width:11px;height:11px;background:var(--hrbot-green);border-radius:50%;border:2px solid var(--hrbot-primary)}.hrbot-header-info{min-width:0}.hrbot-header-title{font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hrbot-header-sub{display:flex;align-items:center;gap:5px;font-size:11.5px;opacity:.9;flex-wrap:nowrap;overflow:hidden}.hrbot-online-dot{width:8px;height:8px;background:var(--hrbot-green);border-radius:50%;flex-shrink:0;animation:hrbot-blink 2.5s ease-in-out infinite}@keyframes hrbot-blink{0%,to{opacity:1}50%{opacity:.5}}.hrbot-intent-pill{background:#fff3;border-radius:10px;padding:1px 7px;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.hrbot-header-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.hrbot-lang-select{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:4px 6px;font-size:11.5px;cursor:pointer;outline:none;font-family:var(--hrbot-font);-webkit-appearance:none}.hrbot-lang-select option{color:#000;background:#fff}.hrbot-icon-btn{background:#ffffff26;color:#fff;border:none;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.hrbot-icon-btn:hover{background:#ffffff47}.hrbot-icon-btn:disabled{opacity:.5;cursor:not-allowed}.hrbot-info-strip{background:#fff;border-bottom:1px solid var(--hrbot-border);padding:7px 12px;display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.hrbot-info-chip{display:flex;align-items:center;gap:4px;background:var(--hrbot-primary-lt);border-radius:10px;padding:3px 9px;font-size:11.5px;color:var(--hrbot-primary-dk);font-family:var(--hrbot-font)}.hrbot-info-icon{font-size:12px}.hrbot-chip-pending{background:#fff8e1;color:#e65100}.hrbot-messages{flex:1;overflow-y:auto;padding:14px 10px 10px;display:flex;flex-direction:column;gap:5px;background-color:var(--hrbot-bg-chat);background-image:url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23128C7E' fill-opacity='0.035'%3E%3Cpath d='M8 16c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zm0-2c3.314 0 6-2.686 6-6s-2.686-6-6-6-6 2.686-6 6 2.686 6 6 6zm33.414-6l5.95-5.95L45.95.636 40 6.586 34.05.636 32.636 2.05 38.586 8l-5.95 5.95 1.414 1.414L40 9.414l5.95 5.95 1.414-1.414L41.414 8zM40 48c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zm0-2c3.314 0 6-2.686 6-6s-2.686-6-6-6-6 2.686-6 6 2.686 6 6 6z'/%3E%3C/g%3E%3C/svg%3E");min-height:0}.hrbot-messages::-webkit-scrollbar{width:4px}.hrbot-messages::-webkit-scrollbar-track{background:transparent}.hrbot-messages::-webkit-scrollbar-thumb{background:#0000002e;border-radius:4px}.hrbot-msg{display:flex;align-items:flex-end;gap:7px;max-width:100%;padding:1px 0}.hrbot-msg-user{flex-direction:row-reverse}.hrbot-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--hrbot-primary) 0%,var(--hrbot-primary-dk) 100%);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 4px #00000026}.hrbot-avatar-user{background:linear-gradient(135deg,#43a047,#1b5e20)}.hrbot-bubble-wrap{display:flex;flex-direction:column;max-width:calc(100% - 90px);gap:3px}.hrbot-msg-user .hrbot-bubble-wrap{align-items:flex-end}.hrbot-bubble{padding:8px 13px;border-radius:12px;font-size:13.5px;line-height:1.55;word-break:break-word;position:relative;transition:box-shadow .15s}.hrbot-bubble strong{font-weight:600}.hrbot-bubble em{font-style:italic;color:#555}.hrbot-bubble code{background:#00000014;padding:1px 5px;border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:12px}.hrbot-bubble-bot{background:var(--hrbot-bubble-bot);border-radius:3px 12px 12px;box-shadow:0 1px 3px #0000001a;color:var(--hrbot-text)}.hrbot-bubble-user{background:var(--hrbot-bubble-user);border-radius:12px 3px 12px 12px;color:var(--hrbot-text)}.hrbot-bubble-error{background:#fdecea!important;border-left:3px solid #e53935}.hrbot-msg-meta{display:flex;align-items:center;gap:6px;padding:0 4px;opacity:0;transition:opacity .15s}.hrbot-bubble-wrap:hover .hrbot-msg-meta{opacity:1}.hrbot-timestamp{font-size:10.5px;color:var(--hrbot-text-muted);font-family:var(--hrbot-font)}.hrbot-copy-btn{background:#0000000f;border:none;border-radius:6px;padding:2px 7px;font-size:11px;cursor:pointer;color:var(--hrbot-text-muted);font-family:var(--hrbot-font);transition:background .15s,color .15s}.hrbot-copy-btn:hover{background:#0000001f;color:var(--hrbot-text)}.hrbot-retry-btn{background:#e53935;color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12.5px;cursor:pointer;font-family:var(--hrbot-font);font-weight:500;transition:background .15s}.hrbot-retry-btn:hover{background:#c62828}.hrbot-typing{display:flex;align-items:center;gap:5px;padding:12px 16px!important;min-width:56px}.hrbot-typing span{width:7px;height:7px;background:#aaa;border-radius:50%;animation:hrbot-bounce 1.3s ease-in-out infinite}.hrbot-typing span:nth-child(2){animation-delay:.18s}.hrbot-typing span:nth-child(3){animation-delay:.36s}@keyframes hrbot-bounce{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-7px);opacity:1}}.hrbot-quick{padding:10px 10px 6px;background:#fff;border-top:1px solid var(--hrbot-border);flex-shrink:0}.hrbot-quick-label{font-size:11px;color:var(--hrbot-text-muted);font-weight:600;margin-bottom:7px;text-transform:uppercase;letter-spacing:.4px;font-family:var(--hrbot-font)}.hrbot-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.hrbot-quick-btn{background:var(--hrbot-primary-lt);border:1px solid rgba(18,140,126,.2);color:var(--hrbot-primary-dk);border-radius:10px;padding:6px 9px;font-size:11.5px;cursor:pointer;transition:background .15s,transform .1s;display:flex;align-items:center;gap:5px;text-align:left;font-family:var(--hrbot-font);line-height:1.3}.hrbot-quick-btn:hover:not(:disabled){background:var(--hrbot-primary);color:#fff;border-color:var(--hrbot-primary);transform:translateY(-1px)}.hrbot-quick-btn:disabled{opacity:.45;cursor:not-allowed}.hrbot-quick-icon{font-size:14px;flex-shrink:0}.hrbot-input-area{display:flex;align-items:flex-end;gap:8px;padding:8px 10px;background:#f0f2f5;border-top:1px solid var(--hrbot-border);flex-shrink:0}.hrbot-input{flex:1;border:1.5px solid #dde;border-radius:22px;padding:9px 16px;font-size:13.5px;resize:none;outline:none;background:#fff;font-family:var(--hrbot-font);line-height:1.45;max-height:100px;overflow-y:auto;transition:border-color .18s,box-shadow .18s;color:var(--hrbot-text)}.hrbot-input:focus{border-color:var(--hrbot-primary);box-shadow:0 0 0 3px #128c7e1f}.hrbot-input:disabled{background:#f5f5f5;color:#aaa}.hrbot-input::placeholder{color:#b0b8c1}.hrbot-input::-webkit-scrollbar{width:3px}.hrbot-send-btn{width:42px;height:42px;border-radius:50%;background:#ccc;color:#fff;border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .18s,transform .15s}.hrbot-send-btn.hrbot-send-active{background:linear-gradient(135deg,var(--hrbot-primary) 0%,var(--hrbot-primary-dk) 100%);box-shadow:0 2px 10px #128c7e59}.hrbot-send-btn.hrbot-send-active:hover{transform:scale(1.08);box-shadow:0 3px 14px #128c7e73}.hrbot-send-btn:disabled{cursor:not-allowed}.hrbot-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:hrbot-spin .7s linear infinite;display:inline-block}@keyframes hrbot-spin{to{transform:rotate(360deg)}}.hrbot-footer{background:#f0f2f5;text-align:center;font-size:10.5px;color:#b0b8c1;padding:4px 12px 6px;border-top:1px solid var(--hrbot-border);display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;font-family:var(--hrbot-font)}.hrbot-footer strong{color:var(--hrbot-primary)}.hrbot-char-warn{color:#ff7043;font-weight:600}.reports-page-wrapper{min-height:100vh;background:#f1f5f9;padding:16px 0 40px}.reports-page-wrapper .container{max-width:1400px;margin:0 auto;padding:0 16px}.reports-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:2px solid #e2e8f0}.reports-page-header h1{font-size:19px;font-weight:700;color:#0f172a;margin:0 0 3px}.reports-page-header p{font-size:12px;color:#64748b;margin:0}.sa-company-selector{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border:1px solid #a78bfa;border-radius:10px;padding:8px 14px}.sa-selector-label{font-size:12px;font-weight:600;color:#5b21b6;white-space:nowrap}.sa-company-select{font-size:13px;border:1px solid #a78bfa;border-radius:6px;padding:5px 10px;color:#3730a3;background:#fff;cursor:pointer;min-width:200px;outline:none}.sa-company-select:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.sa-viewing-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#ede9fe,#f3e8ff);border:1px solid #c084fc;border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:13px;font-weight:500;color:#6b21a8}.sa-clear-btn{background:none;border:1px solid #a855f7;border-radius:5px;padding:3px 10px;font-size:12px;color:#7e22ce;cursor:pointer;transition:all .15s}.sa-clear-btn:hover{background:#a855f7;color:#fff}.reports-layout-body{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}@media (max-width: 900px){.reports-layout-body{grid-template-columns:1fr}.mobile-hidden{display:none!important}.mobile-back-btn{display:flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;color:#334155;cursor:pointer;margin-bottom:12px;width:fit-content}.mobile-back-btn:hover{background:#e2e8f0}}@media (min-width: 901px){.mobile-back-btn{display:none}.mobile-hidden{display:block!important}}.reports-left{position:sticky;top:20px;max-height:calc(100vh - 100px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.reports-left::-webkit-scrollbar{width:4px}.reports-left::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.reports-grid-1col{display:flex;flex-direction:column;gap:6px}.report-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:10px 12px 10px 16px;cursor:pointer;transition:all .18s ease;position:relative;overflow:hidden}.report-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1;transition:background .2s}.report-card:hover{border-color:#94a3b8;box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.report-card.active{border-color:#3b82f6;box-shadow:0 4px 20px #3b82f626}.report-card.active:before{background:#3b82f6}.report-card.attendance:before{background:#10b981}.report-card.payroll:before{background:#f59e0b}.report-card.leave:before{background:#06b6d4}.report-card.performance:before{background:#8b5cf6}.report-card.recruitment:before{background:#ec4899}.report-card.billing:before{background:#f97316}.report-card.employee:before{background:#0ea5e9}.report-card.compliance:before{background:#22c55e}.report-card.shift_overtime:before{background:#a855f7}.report-card.access_control:before{background:#ef4444}.report-card.active.attendance{border-color:#10b981;box-shadow:0 4px 20px #10b9811f}.report-card.active.payroll{border-color:#f59e0b;box-shadow:0 4px 20px #f59e0b1f}.report-card.active.leave{border-color:#06b6d4;box-shadow:0 4px 20px #06b6d41f}.report-card.active.performance{border-color:#8b5cf6;box-shadow:0 4px 20px #8b5cf61f}.report-card.active.recruitment{border-color:#ec4899;box-shadow:0 4px 20px #ec48991f}.report-card.active.billing{border-color:#f97316;box-shadow:0 4px 20px #f973161f}.report-card.active.employee{border-color:#0ea5e9;box-shadow:0 4px 20px #0ea5e91f}.report-card.active.compliance{border-color:#22c55e;box-shadow:0 4px 20px #22c55e1f}.report-card.active.shift_overtime{border-color:#a855f7;box-shadow:0 4px 20px #a855f71f}.report-card.active.access_control{border-color:#ef4444;box-shadow:0 4px 20px #ef44441f}.report-icon{font-size:18px;margin-bottom:4px}.report-card h3{font-size:12px;font-weight:700;color:#0f172a;margin:0 0 3px}.report-card>p{font-size:10px;color:#64748b;margin:0 0 6px;line-height:1.4}.report-list{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:1px}.report-list li{font-size:10px;color:#475569;padding-left:10px;position:relative;line-height:1.5}.report-list li:before{content:"›";position:absolute;left:0;color:#94a3b8}.report-actions{display:flex;gap:6px}.btn{border:none;border-radius:5px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.btn-secondary:hover{background:#e2e8f0}.btn-outline{background:transparent;color:#64748b;border:1px solid #e2e8f0}.btn-outline:hover{background:#f8fafc}.btn:disabled{opacity:.5;cursor:not-allowed}.reports-right{min-height:500px}.report-workspace{background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 2px 12px #0000000f;overflow:hidden}.report-workspace.empty{display:flex;align-items:center;justify-content:center;min-height:500px}.empty-workspace-content{text-align:center;color:#94a3b8}.empty-icon{font-size:48px;margin-bottom:12px}.empty-workspace-content h2{font-size:18px;color:#64748b;margin:0 0 8px}.empty-workspace-content p{font-size:13px;margin:0}.report-workspace-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f1f5f9;background:linear-gradient(135deg,#f8fafc,#fff)}.report-workspace-header h2{font-size:17px;font-weight:700;color:#0f172a;margin:0 0 4px}.report-workspace-header p{font-size:12px;color:#64748b;margin:0}.badge{font-size:11px;border-radius:20px;padding:3px 10px;white-space:nowrap}.badge-muted{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.report-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#f8fafc}.report-tab{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:500;color:#64748b;border-radius:20px;cursor:pointer;transition:all .15s;white-space:nowrap}.report-tab:hover{background:#e2e8f0;color:#334155}.report-tab.active{background:#3b82f6;color:#fff;font-weight:600}.report-filters{padding:16px 24px;background:#fafafa;border-bottom:1px solid #f1f5f9}.filter-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.filter-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:4px;min-width:140px}.form-group label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:7px 10px;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;color:#0f172a;background:#fff;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.form-group.align-end{justify-content:flex-end;flex-direction:row;align-items:flex-end}.report-error{background:#fef2f2;border:1px solid #fecaca;border-radius:7px;padding:8px 14px;margin-top:10px;font-size:12px;color:#dc2626}.report-summary{display:flex;flex-wrap:wrap;gap:16px;padding:14px 24px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-bottom:1px solid #e2e8f0}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-item .label{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.summary-item .value{font-size:16px;font-weight:700;color:#0f172a}.report-table-wrapper{overflow-x:auto;padding:0 24px 24px}.report-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.report-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.report-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.report-table td{padding:9px 12px;border-bottom:1px solid #f1f5f9;color:#334155;white-space:nowrap}.report-table tbody tr:hover{background:#f8fafc}.report-table tbody tr:last-child td{border-bottom:none}.report-export-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 24px 0}.report-subheader{padding:16px 24px;border-bottom:1px solid #f1f5f9}.report-subheader h3{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 4px}.report-subheader p{font-size:12px;color:#64748b;margin:0}.report-subheader .hint{font-size:11px;color:#94a3b8;margin-top:4px}.report-summary.two-column{padding:16px 24px;background:#f8fafc;display:grid;grid-template-columns:1fr 1fr;gap:20px}.summary-block h4{font-size:12px;font-weight:700;color:#374151;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.dash-section-title{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;padding:0 24px}.report-tab-content{padding:0}.report-table.compact th,.report-table.compact td{padding:7px 10px;font-size:12px}.report-workspace{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #0f172a14;border:1px solid #e5e7eb;box-sizing:border-box}.report-workspace-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.report-workspace-header h2{margin:0 0 4px;font-size:18px;font-weight:600;color:#111827}.report-workspace-header p{margin:0;font-size:13px;color:#6b7280}.report-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.report-export-actions{display:inline-flex;gap:6px;align-items:center}.report-export-actions .btn-secondary{padding:10px 20px;font-size:14px;white-space:nowrap}.report-tab{border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;font-size:12px;background:#f9fafb;cursor:pointer;color:#374151}.badge.badge-muted{background:#f3f4f6;color:#4b5563;border-radius:999px;padding:4px 10px;font-size:11px}@media (max-width: 640px){.report-workspace{padding:12px 12px 14px}.report-workspace-header{align-items:flex-start}.report-header-right{width:100%;justify-content:flex-start}.report-export-actions{flex-wrap:wrap}}.report-table td:nth-child(4),.report-table td:nth-child(5),.report-table td:nth-child(6),.report-table td:nth-child(7),.report-table td:nth-child(9){text-align:right}.report-table td:nth-child(5),.report-table td:nth-child(6),.report-table td:nth-child(7),.report-table td:nth-child(8),.report-table td:nth-child(9){font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.report-filters .form-group input[type=month],.report-filters .form-group input[type=text]{max-width:220px}.report-toolbar{margin-top:8px}.compliance-report{padding:20px 0}.cr-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.cr-header h3{margin:0 0 4px;font-size:18px;color:#1e293b}.cr-header p{margin:0;font-size:13px;color:#64748b}.cr-actions{display:flex;gap:10px;flex-shrink:0}.cr-filters{display:flex;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.cr-filter-group{display:flex;flex-direction:column;gap:6px}.cr-filter-group label{font-size:12px;font-weight:500;color:#475569}.cr-filter-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff}.cr-summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.cr-card{border-radius:10px;padding:14px 16px;border:1px solid transparent}.cr-card-label{font-size:11px;font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.cr-card-value{font-size:18px;font-weight:700}.cr-card-blue{background:#eff6ff;border-color:#bfdbfe}.cr-card-blue .cr-card-label{color:#1d4ed8}.cr-card-blue .cr-card-value{color:#1e40af}.cr-card-green{background:#f0fdf4;border-color:#bbf7d0}.cr-card-green .cr-card-label{color:#15803d}.cr-card-green .cr-card-value{color:#166534}.cr-card-orange{background:#fff7ed;border-color:#fed7aa}.cr-card-orange .cr-card-label{color:#c2410c}.cr-card-orange .cr-card-value{color:#9a3412}.cr-card-purple{background:#faf5ff;border-color:#e9d5ff}.cr-card-purple .cr-card-label{color:#7e22ce}.cr-card-purple .cr-card-value{color:#6b21a8}.cr-card-red{background:#fef2f2;border-color:#fecaca}.cr-card-red .cr-card-label{color:#dc2626}.cr-card-red .cr-card-value{color:#991b1b}.cr-challan-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1e293b;color:#fff;border-radius:10px;margin-bottom:16px}.cr-challan-title h4{margin:0 0 4px;font-size:15px}.cr-challan-title p{margin:0;font-size:12px;opacity:.8}.cr-challan-meta{display:flex;gap:20px;font-size:13px}.cr-challan-meta span strong{margin-left:6px}.cr-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px}.cr-table{width:100%;border-collapse:collapse;font-size:13px}.cr-table th{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:500;color:#475569;font-size:12px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.cr-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#374151}.cr-table tr:hover td{background:#f8fafc}.cr-table tfoot td{background:#f1f5f9;border-top:2px solid #e5e7eb}.cr-num{text-align:right;font-variant-numeric:tabular-nums}.cr-highlight-blue{color:#1d4ed8}.cr-highlight-green{color:#15803d}.cr-highlight-orange{color:#c2410c}.cr-total-row td{font-weight:600}.cr-tds-row{background:#fffbeb!important}.cr-empty{text-align:center;padding:30px;color:#94a3b8;font-style:italic}.cr-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500}.cr-badge-green{background:#dcfce7;color:#166534}.cr-badge-orange{background:#fed7aa;color:#9a3412}.cr-badge-gray{background:#f1f5f9;color:#64748b}.cr-note{padding:12px 16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:13px;color:#0369a1}.cr-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;color:#dc2626;margin-bottom:16px}.cr-info-banner{padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#92400e;margin-bottom:16px}.cr-loading{display:flex;flex-direction:column;align-items:center;padding:40px;color:#64748b;gap:12px}.cr-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-outline{background:#fff;color:#374151;border:1px solid #d1d5db;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:13px}code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:11px;font-family:monospace}@media (max-width: 768px){.cr-summary-cards{grid-template-columns:repeat(2,1fr)}.cr-filters{flex-wrap:wrap}.cr-header{flex-direction:column;gap:12px}}@media print{.cr-filters,.cr-actions,.cr-header .btn-primary,.cr-header .btn-outline{display:none!important}.cr-table-wrap{border:none}.cr-challan-header{background:#000!important;-webkit-print-color-adjust:exact}}.report-table.leave-balance-table th:nth-child(6),.report-table.leave-balance-table th:nth-child(7),.report-table.leave-balance-table th:nth-child(8),.report-table.leave-balance-table th:nth-child(9),.report-table.leave-balance-table td:nth-child(6),.report-table.leave-balance-table td:nth-child(7),.report-table.leave-balance-table td:nth-child(8),.report-table.leave-balance-table td:nth-child(9){text-align:right}.report-table.leave-usage-table th:nth-child(8),.report-table.leave-usage-table td:nth-child(8){text-align:right}.report-table.leave-pending-table th:nth-child(8),.report-table.leave-pending-table th:nth-child(11),.report-table.leave-pending-table td:nth-child(8),.report-table.leave-pending-table td:nth-child(11){text-align:right}.report-filters .form-group input[type=date],.report-filters .form-group input[type=text],.report-filters .form-group input[type=number],.report-filters .form-group select{max-width:220px}.report-workspace-header h2{margin:0 0 4px;font-size:18px;color:#f9fafb}.report-workspace-header p{margin:0;font-size:12px;color:#9ca3af}.badge.badge-muted{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid #374151;color:#9ca3af;background:#0f172ab3}.report-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;background:#020617;padding:3px;border-radius:999px;border:1px solid #1f2937}.report-tab{border:none;background:transparent;padding:4px 10px;border-radius:999px;font-size:11px;color:#9ca3af;cursor:pointer;transition:background .15s ease,color .15s ease}.report-tab:hover{background:#020617;color:#e5e7eb}.report-tab.active{background:#111827;color:#e5e7eb}.report-subheader h3{margin:0 0 4px;font-size:15px;color:#f9fafb}.report-subheader p{margin:0 0 4px;font-size:12px;color:#9ca3af}.report-subheader .hint{font-size:11px;color:#a3a3a3}.report-filters{margin:8px 0 10px;padding:8px 10px;border-radius:10px;background:#020617;border:1px solid #111827}.form-group label{font-size:11px;color:#9ca3af}.form-group input,.form-group select{background:#020617;border-radius:8px;border:1px solid #1f2937;padding:5px 8px;font-size:11px;color:#e5e7eb}.form-group input::placeholder{color:#6b7280}.summary-item{background:#020617;border-radius:10px;padding:6px 10px;border:1px solid #1f2937;min-width:120px;flex:1}.summary-item .label{display:block;font-size:11px;color:#9ca3af}.summary-item .value{display:block;font-size:14px;color:#f9fafb;font-weight:500}.report-table-wrapper{margin-top:4px;border-radius:10px;border:1px solid #1f2937;overflow:hidden}.report-table thead{background:#020617}.report-table th,.report-table td{padding:6px 8px;border-bottom:1px solid #111827}.report-table th{text-align:left;font-weight:500;color:#9ca3af}.report-table tbody tr:nth-child(2n){background:#020617}.report-table tbody tr:hover{background:#111827}.btn-primary{background:linear-gradient(to right,#2563eb,#4f46e5);color:#f9fafb}.btn-secondary{background:#020617;border-color:#374151;color:#e5e7eb}.btn-outline{background:transparent;border-color:#4b5563;color:#e5e7eb}.recruitment-subtitle{font-size:12px;color:#9ca3af}.recruitment-badge-open{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.4)}.recruitment-badge-closed{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#f871711a;color:#fca5a5;border:1px solid rgba(248,113,113,.4)}.recruitment-badge-in-progress{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.4)}.recruitment-metric-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;background:#020617;border:1px solid #1f2937;color:#e5e7eb}.recruitment-metric-chip span.value{font-weight:500;color:#f9fafb}.recruitment-funnel-step{font-weight:500;color:#e5e7eb}.recruitment-funnel-step-muted{color:#9ca3af;font-size:11px}.report-summary-cards .summary-card{flex:1 1 0;min-width:180px}.billing-status-paid{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.4)}.billing-status-partial{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#eab3081a;color:#ca8a04;border:1px solid rgba(234,179,8,.4)}.billing-status-unpaid{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.4)}.employee-status-active{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.4)}.employee-status-inactive{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#94a3b81a;color:#cbd5f5;border:1px solid rgba(148,163,184,.4)}.employee-status-exited{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#f871711a;color:#fca5a5;border:1px solid rgba(248,113,113,.4)}.report-workspace{background:#fff;color:#111827}.report-workspace-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.report-workspace-header h2{margin:0 0 4px;font-size:18px;color:#111827}.report-workspace-header p{margin:0;font-size:12px;color:#6b7280}.badge.badge-muted{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid #d1d5db;color:#6b7280;background:#f3f4f6}.report-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;background:#f3f4f6;padding:3px;border-radius:999px;border:1px solid #e5e7eb}.report-tab{border:none;background:transparent;padding:4px 10px;border-radius:999px;font-size:11px;color:#6b7280;cursor:pointer;transition:background .15s ease,color .15s ease}.report-tab:hover{background:#fff;color:#111827}.report-tab.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.report-subheader h3{margin:0 0 4px;font-size:15px;color:#111827}.report-subheader p{margin:0 0 4px;font-size:12px;color:#6b7280}.report-subheader .hint{font-size:11px;color:#9ca3af}.report-filters{margin:8px 0 10px;padding:8px 10px;border-radius:10px;background:#f9fafb;border:1px solid #e5e7eb}.report-filters.disabled{opacity:.5;pointer-events:none}.filter-row{display:flex;gap:10px;margin-bottom:6px;flex-wrap:wrap}.form-group{display:flex;flex-direction:column;gap:2px;min-width:150px;flex:1}.form-group.align-end{justify-content:flex-end;align-items:flex-end}.form-group label{font-size:11px;color:#6b7280}.form-group input,.form-group select{background:#fff;border-radius:8px;border:1px solid #d1d5db;padding:5px 8px;font-size:11px;color:#111827}.form-group input::placeholder{color:#9ca3af}.report-summary{display:flex;gap:10px;margin-bottom:8px;flex-wrap:wrap}.summary-item{background:#f9fafb;border-radius:10px;padding:6px 10px;border:1px solid #e5e7eb;min-width:120px;flex:1}.summary-item .label{display:block;font-size:11px;color:#6b7280}.summary-item .value{display:block;font-size:14px;color:#111827;font-weight:500}.report-summary-cards{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.report-summary-cards .summary-card,.summary-card{flex:1 1 0;min-width:120px;background:#f9fafb;border-radius:10px;padding:6px 10px;border:1px solid #e5e7eb}.summary-card .label{display:block;font-size:11px;color:#6b7280}.summary-card .value{display:block;font-size:14px;color:#111827;font-weight:500}.report-toolbar{display:flex;justify-content:space-between;align-items:center;margin:6px 0 8px}.report-toolbar .spacer{flex:1}.report-workspace-actions{display:flex;gap:6px}.report-table-wrapper{margin-top:4px;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden}.report-table{width:100%;border-collapse:collapse;font-size:11px}.report-table thead{background:#f3f4f6}.report-table th,.report-table td{padding:6px 8px;border-bottom:1px solid #e5e7eb;color:#111827}.report-table th{text-align:left;font-weight:500;color:#6b7280}.report-table tbody tr:nth-child(2n){background:#f9fafb}.report-table tbody tr:hover{background:#eff6ff}.btn{border-radius:999px;font-size:11px;padding:5px 12px;border:1px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(to right,#2563eb,#4f46e5);color:#fff}.btn-outline{background:transparent;border-color:#d1d5db;color:#374151}.btn-outline:hover{background:#f3f4f6}.compliance-ok{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e14;color:#4ade80;border:1px solid rgba(34,197,94,.4)}.compliance-warning{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#facc1514;color:#facc15;border:1px solid rgba(250,204,21,.4)}.compliance-breach{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#f8717114;color:#fca5a5;border:1px solid rgba(248,113,113,.4)}.compliance-ok{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.4)}.compliance-warning{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#eab3081a;color:#ca8a04;border:1px solid rgba(234,179,8,.4)}.compliance-breach{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.4)}.ot-positive{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.4)}.ot-negative{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.4)}.ot-neutral{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.shift-tag-day{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.4)}.shift-tag-night{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#8b5cf61a;color:#7c3aed;border:1px solid rgba(139,92,246,.4)}.shift-status-active{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.4)}.shift-status-inactive{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.shift-status-exited{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.4)}.access-control-header-badge{font-size:10px;padding:2px 8px;border-radius:999px;background:#3b82f61a;color:#1d4ed8}.report-table.access-report-table tbody tr:hover{background:#3b82f614}.access-result-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:500}.access-result-pill.granted{background:#22c55e1a;color:#15803d}.access-result-pill.denied{background:#f871711f;color:#b91c1c}.access-filters-compact .filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.access-filters-compact .form-group.align-end{align-items:flex-end}.report-workspace-title-block h2{margin:0 0 4px;font-size:18px;color:#111827}.report-workspace-title-block p{margin:0;font-size:12px;color:#6b7280}.report-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.report-tab{border:1px solid #e5e7eb;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:500;background:#f9fafb;cursor:pointer;color:#374151}.report-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}.report-tab:hover:not(.active){background:#f3f4f6;border-color:#d1d5db}.report-export-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.btn-secondary{padding:6px 14px;border:1px solid #2563eb;border-radius:6px;background:#fff;color:#2563eb;font-weight:500;font-size:13px;cursor:pointer;white-space:nowrap}.btn-secondary:hover{background:#eff6ff}.app-root{height:100vh;display:flex;flex-direction:column;background:#f3f4f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.top-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:linear-gradient(90deg,#0f172a,#1e293b);color:#e5e7eb;box-shadow:0 2px 6px #0f172a66;position:sticky;top:0;z-index:20}.top-header-left{display:flex;align-items:center;gap:10px}.nav-toggle-btn{background:transparent;border:none;color:#e5e7eb;font-size:18px;cursor:pointer;padding:4px 6px;border-radius:4px;margin-right:6px}.nav-toggle-btn:hover{background:#94a3b840}.mobile-menu-btn{display:none;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#e5e7eb;cursor:pointer;height:36px;padding:0 10px 0 8px;border-radius:8px;align-items:center;justify-content:center;gap:6px;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.mobile-menu-btn:hover{background:#ffffff26;border-color:#ffffff4d}.mobile-menu-btn--open{background:#2563eb;border-color:#2563eb}.hamburger-box{display:flex;flex-direction:column;justify-content:center;gap:4px;width:18px;height:18px;flex-shrink:0}.hamburger-bar{display:block;height:2px;border-radius:2px;background:#e5e7eb;transition:transform .25s ease,opacity .2s ease,width .2s ease;transform-origin:center}.mobile-menu-btn--open .hamburger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-btn--open .hamburger-bar:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn--open .hamburger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hamburger-label{font-size:14px;font-weight:700;letter-spacing:.03em;color:#e5e7eb;line-height:1;white-space:nowrap}.logo-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(145deg,#2563eb,#38bdf8);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#f9fafb;box-shadow:0 2px 6px #2563eb66}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-title{font-size:16px;font-weight:700;letter-spacing:.03em}.logo-subtitle{font-size:11px;color:#9ca3af}.top-nav{display:flex;gap:10px;margin:0 24px;flex:1;justify-content:center}.top-nav-link{color:#cbd5f5;text-decoration:none;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:500;transition:background .15s ease,color .15s ease,transform .1s ease;white-space:nowrap}.top-nav-link:hover{background:#94a3b840;color:#e5e7eb;transform:translateY(-1px)}.top-nav-link.active{background:#2563eb;color:#f9fafb;box-shadow:0 1px 4px #2563eb99}.mobile-nav-dropdown{display:none;position:fixed;top:52px;left:8px;right:auto;width:min(260px,calc(100vw - 16px));background:#1e293b;z-index:100;padding:6px 0;box-shadow:0 8px 24px #00000080;border:1px solid rgba(148,163,184,.12);border-radius:12px;max-height:calc(100vh - 68px);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav-dropdown.open{display:block}.mobile-nav-header{padding:10px 16px 8px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#64748b;border-bottom:1px solid rgba(148,163,184,.15);margin-bottom:4px}.mobile-nav-dropdown .top-nav-link{display:block;padding:13px 16px;border-radius:0;font-size:14px;font-weight:500;border-bottom:1px solid rgba(148,163,184,.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;box-sizing:border-box}.mobile-nav-dropdown .top-nav-link:hover{background:#94a3b826;transform:none}.mobile-nav-dropdown .top-nav-link.active{background:#2563eb;border-radius:0;color:#fff}.top-header-right{display:flex;align-items:center;gap:8px;font-size:12px;color:#e5e7eb}.top-user-company{padding:4px 10px;border-radius:999px;background:#0f172a66;border:1px solid rgba(148,163,184,.4)}.main-layout{flex:1;display:flex;min-height:0;position:relative}.sidebar-hover-trigger{position:fixed;top:52px;left:0;width:8px;height:calc(100vh - 52px);z-index:29;cursor:pointer}.sidebar{background:#fff;border-right:1px solid #e5e7eb;padding:12px;overflow:hidden;position:fixed;top:52px;left:0;height:calc(100vh - 52px);z-index:30;box-shadow:2px 0 12px #0f172a26;transition:width .22s cubic-bezier(.4,0,.2,1),opacity .22s ease,box-shadow .22s ease}.sidebar-open{width:220px;opacity:1}.sidebar-closed{width:0;opacity:0;padding:0;box-shadow:none}.sidebar-title{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.sidebar-menu{list-style:none;padding:0;margin:0}.sidebar-link{display:block;padding:6px 8px;margin-bottom:4px;text-decoration:none;color:#111827;border-radius:4px;font-size:14px}.sidebar-link:hover{background:#f3f4f6}.sidebar-link.active{background:#e5e7eb;font-weight:600}.main-content{flex:1;padding:12px 16px;overflow:auto;background:#f9fafb;width:100%}@media (max-width: 1100px){.top-header{padding:8px 12px;gap:8px}.logo-title{font-size:14px}.logo-subtitle{font-size:10px}.top-nav{display:none}.mobile-menu-btn{display:flex}.top-user-name,.top-user-role,.sidebar-hover-trigger{display:none}.sidebar{position:fixed;top:52px;left:0;height:calc(100vh - 52px);z-index:30}.sidebar-open{width:220px;opacity:1}.sidebar-closed{width:0;opacity:0}.main-content{padding:10px}}@media (min-width: 1101px){.top-nav{display:flex;overflow-x:visible}.mobile-menu-btn{display:none}.mobile-nav-dropdown{display:none!important}.sidebar-open{width:220px;opacity:1}.sidebar-closed{width:0;opacity:0}.main-content{padding:16px 20px}}@media print{body *{visibility:hidden!important}.payslip-wrapper,.payslip-wrapper *{visibility:visible!important}.payslip-wrapper{position:absolute!important;left:0!important;top:0!important;width:100%!important}.invoice-print-wrapper,.invoice-print-wrapper *{visibility:visible!important}.invoice-print-wrapper{position:absolute!important;left:0!important;top:0!important;width:100%!important}html,body{height:auto!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}}a,a:link,a:visited,button,[role=button],input[type=submit],input[type=button],input[type=reset],input[type=checkbox],input[type=radio],select,label[for],.btn,.btn-primary,.btn-secondary,.btn-danger,.nav-link,.top-nav-link,.sidebar-link,.nav-toggle-btn,.mobile-menu-btn,.menu-item,.clickable,summary{cursor:pointer!important}button:disabled,input:disabled,select:disabled,.btn:disabled,[disabled]{cursor:not-allowed!important}
