@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_7b064e0d-module__MOT0tq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_7b064e0d-module__MOT0tq__variable{--font-inter:"Inter","Inter Fallback"}
:root{--color-bg-primary:#0b0e14;--color-bg-secondary:#111620;--color-bg-card:#151a26;--color-bg-hover:#1a2030;--color-bg-active:#1f2738;--color-border:#ffffff0f;--color-border-active:#ffffff1f;--color-text-primary:#e8ecf4;--color-text-secondary:#8892a6;--color-text-muted:#5c6478;--color-accent:#4c8dff;--color-accent-hover:#6ba1ff;--color-accent-muted:#4c8dff1f;--color-success:#34d399;--color-success-bg:#34d3991a;--color-warning:#fbbf24;--color-warning-bg:#fbbf241a;--color-error:#f87171;--color-error-bg:#f871711a;--color-info:#60a5fa;--color-info-bg:#60a5fa1a;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Geist Mono","JetBrains Mono","Fira Code",monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--sidebar-width:240px;--header-height:56px;--border-radius:8px;--border-radius-lg:12px;--border-radius-xl:16px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-glow:0 0 20px #4c8dff26;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}[data-theme=light]{--color-bg-primary:#f8fafc;--color-bg-secondary:#fff;--color-bg-card:#fff;--color-bg-hover:#f1f5f9;--color-bg-active:#e2e8f0;--color-border:#00000014;--color-border-active:#00000026;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-accent-muted:#3b82f61f;--color-success:#10b981;--color-success-bg:#10b9811a;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-info:#3b82f6;--color-info-bg:#3b82f61a;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-glow:0 0 15px #3b82f633}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;height:100%;overflow-x:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:inherit;text-decoration:none}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{padding:var(--space-5)var(--space-5);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-3);display:flex}.sidebar-brand-icon{background:linear-gradient(135deg,var(--color-accent),#8b5cf6);border-radius:var(--border-radius);width:32px;height:32px;font-weight:700;font-size:var(--text-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-name{font-size:var(--text-md);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:600}.sidebar-brand-tag{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:1px}.sidebar-nav{padding:var(--space-3)var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border-active);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sidebar-section-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-4)var(--space-3)var(--space-2);font-weight:600}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--border-radius);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit;display:flex}.sidebar-link:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.sidebar-link.active{color:var(--color-accent);background:var(--color-accent-muted)}.sidebar-link-icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.sidebar-link.active .sidebar-link-icon{opacity:1}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-border)}.sidebar-logout-btn{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2)var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.sidebar-logout-btn:hover{color:#ef4444;background:#ef44441a}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh}.page-container{max-width:100%;padding:var(--space-8)var(--space-8);margin:0 auto}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--text-2xl);letter-spacing:-.03em;color:var(--color-text-primary);font-weight:700}.page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-5);transition:border-color var(--transition-fast)}.card:hover{border-color:var(--color-border-active)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.card-value{font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--space-1);font-weight:700}.card-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);letter-spacing:.02em;border-radius:9999px;font-weight:600;display:inline-flex}.badge-success{color:var(--color-success);background:var(--color-success-bg)}.badge-warning{color:var(--color-warning);background:var(--color-warning-bg)}.badge-error{color:var(--color-error);background:var(--color-error-bg)}.badge-info{color:var(--color-info);background:var(--color-info-bg)}.badge-neutral{color:var(--color-text-secondary);background:var(--color-border)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.connected{background:var(--color-success);box-shadow:0 0 8px var(--color-success);animation:2s infinite pulse-green}.status-dot.disconnected{background:var(--color-error);box-shadow:0 0 8px var(--color-error)}.status-dot.checking{background:var(--color-warning);animation:1.5s infinite pulse-yellow}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 8px var(--color-success)}50%{opacity:.6;box-shadow:0 0 16px var(--color-success)}}@keyframes pulse-yellow{0%,to{opacity:1}50%{opacity:.4}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border-radius:var(--border-radius);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;font-family:inherit;font-weight:500;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-ghost{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-active)}.btn-sm{padding:var(--space-1)var(--space-3);font-size:var(--text-xs)}.table-container{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-bg-card);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{text-align:left;padding:var(--space-3)var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);font-weight:600}.table td{padding:var(--space-3)var(--space-4);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-bg-hover)}.table td.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-4{grid-template-columns:1fr}.sidebar{display:none}.main-content{margin-left:0}}.spinner{border:2px solid var(--color-border-active);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section{margin-bottom:var(--space-8)}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--text-md);color:var(--color-text-primary);letter-spacing:-.01em;font-weight:600}.empty-state{text-align:center;padding:var(--space-12)var(--space-8);color:var(--color-text-muted)}.empty-state-icon{margin-bottom:var(--space-3);opacity:.5;font-size:2rem}.empty-state-text{font-size:var(--text-sm)}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-3{grid-template-columns:1fr}}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.form-input,.form-select,.form-textarea{padding:var(--space-2)var(--space-3);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;width:100%;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:disabled,.form-select:disabled{opacity:.5;cursor:not-allowed}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235c6478' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-textarea{resize:vertical;min-height:80px}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form-actions{align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4);justify-content:flex-end;display:flex}.form-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-xl);width:90%;max-width:640px;max-height:85vh;box-shadow:var(--shadow-lg);animation:.25s slideUp;overflow-y:auto}.modal-lg{max-width:800px}.modal-header{padding:var(--space-5)var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:600}.modal-close{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.modal-footer{padding:var(--space-4)var(--space-6);border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tab-bar{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);display:flex}.tab-item{padding:var(--space-2)var(--space-4)var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-family:inherit;font-weight:500}.tab-item:hover{color:var(--color-text-secondary)}.tab-item.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.page-action-bar{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.page-action-bar .search-input{flex:1;max-width:320px}.currency{font-family:var(--font-mono);font-weight:500;font-size:var(--text-sm);letter-spacing:-.01em}.currency-positive{color:var(--color-success)}.currency-negative{color:var(--color-error)}.line-items-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.line-items-table th{text-align:left;padding:var(--space-2)var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);font-weight:600}.line-items-table td{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--color-border)}.line-items-table td .form-input{padding:var(--space-1)var(--space-2);font-size:var(--text-xs)}.line-items-table .remove-btn{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.line-items-table .remove-btn:hover{color:var(--color-error);background:var(--color-error-bg)}.summary-row{padding:var(--space-2)0;font-size:var(--text-sm);color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.summary-row.total{font-weight:700;font-size:var(--text-md);color:var(--color-text-primary);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-2)}.detail-grid{gap:var(--space-6);grid-template-columns:1fr 320px;align-items:start;display:grid}@media (max-width:900px){.detail-grid{grid-template-columns:1fr}}.toast{bottom:var(--space-6);right:var(--space-6);padding:var(--space-3)var(--space-5);border-radius:var(--border-radius);font-size:var(--text-sm);z-index:2000;box-shadow:var(--shadow-lg);font-weight:500;animation:.3s slideUp,.3s fadeIn;position:fixed}.toast-success{background:var(--color-success);color:#fff}.toast-error{background:var(--color-error);color:#fff}.btn-danger{color:var(--color-error);background:0 0;border-color:#f871714d}.btn-danger:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error)}.btn-success{background:var(--color-success);color:#fff;border-color:#0000}.btn-success:hover:not(:disabled){opacity:.9;box-shadow:0 0 16px #34d3994d}.payroll-controls{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.payroll-month-selector{gap:var(--space-3);display:flex}.payroll-month-selector .form-select{width:auto;min-width:140px}.summary-cards{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.summary-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-5);transition:border-color var(--transition-fast)}.summary-card:hover{border-color:var(--color-border-active)}.summary-card-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2);font-weight:600}.summary-card-value{font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:700}.payroll-status-bar{gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.status-chip{align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);font-size:var(--text-xs);color:#fff;border-radius:9999px;font-weight:600;display:inline-flex}.payroll-actions{align-items:center;gap:var(--space-3);display:flex}.payroll-status-banner{padding:var(--space-4)var(--space-5);border-radius:var(--border-radius-lg);margin-bottom:var(--space-6);font-size:var(--text-sm);font-weight:600}.payroll-status-banner.status-generated{color:var(--color-warning);background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);border:1px solid #fbbf244d}.payroll-status-banner.status-paid{color:var(--color-success);background:linear-gradient(135deg,#34d3991a,#10b9810d);border:1px solid #34d3994d}.payroll-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--color-accent)}.row-deselected td{opacity:.35}.totals-row td{border-top:2px solid var(--color-border-active);padding-top:var(--space-4);padding-bottom:var(--space-4);background:var(--color-bg-secondary)!important}.bank-account{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:.02em}.ifsc-code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.employee-name{color:var(--color-accent);font-weight:500}.btn-danger-outline{color:var(--color-error);padding:var(--space-2)var(--space-4);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);background:0 0;border:1px solid #f871714d;font-family:inherit;font-weight:500}.btn-danger-outline:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error)}.payroll-slips-link{margin-top:var(--space-6);text-align:center}.status-badge{padding:2px var(--space-2);font-size:var(--text-xs);text-transform:capitalize;border-radius:9999px;align-items:center;font-weight:600;display:inline-flex}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-3)var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);font-weight:600}.data-table td{padding:var(--space-3)var(--space-4);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg-hover)}.table-link{color:var(--color-accent);transition:color var(--transition-fast);font-weight:500}.table-link:hover{color:var(--color-accent-hover)}.code-badge{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:4px;padding:1px 6px}.action-buttons{align-items:center;gap:var(--space-2);display:flex}.btn-outline{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-active)}.loading-state{text-align:center;padding:var(--space-12)var(--space-8);color:var(--color-text-muted);font-size:var(--text-sm)}.back-link{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3);transition:color var(--transition-fast);display:inline-block}.back-link:hover{color:var(--color-accent)}.detail-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-5);margin-bottom:var(--space-4)}.detail-card-title{font-size:var(--text-md);margin-bottom:var(--space-4);letter-spacing:-.01em;font-weight:600}.detail-item{flex-direction:column;gap:2px;display:flex}.detail-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.detail-value{font-size:var(--text-sm);color:var(--color-text-primary)}.salary-breakdown{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:768px){.salary-breakdown{grid-template-columns:1fr}}.breakdown-list{flex-direction:column;gap:0;display:flex}.breakdown-row{padding:var(--space-2)0;font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.breakdown-amount{font-family:var(--font-mono);font-weight:500;font-size:var(--text-sm)}.breakdown-total{padding:var(--space-3)0;font-weight:700;font-size:var(--text-md);color:var(--color-text-primary);border-top:2px solid var(--color-border-active);margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.net-salary-banner{border-radius:var(--border-radius-lg);padding:var(--space-5)var(--space-6);background:linear-gradient(135deg,#4c8dff14,#8b5cf614);border:1px solid #4c8dff33;justify-content:space-between;align-items:center;display:flex}.net-salary-label{font-size:var(--text-md);color:var(--color-text-secondary);font-weight:600}.net-salary-value{font-size:var(--text-2xl);color:var(--color-accent);letter-spacing:-.02em;font-weight:700;font-family:var(--font-mono)}.tab-button{padding:var(--space-2)var(--space-4)var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-family:inherit;font-weight:500}.tab-button:hover{color:var(--color-text-secondary)}.tab-button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tds-preview{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-4);margin-top:var(--space-4);max-width:320px}.tds-preview-row{padding:var(--space-1)0;font-size:var(--text-sm);color:var(--color-text-secondary);justify-content:space-between;display:flex}.tds-preview-net{color:var(--color-text-primary);border-top:1px solid var(--color-border);padding-top:var(--space-2);margin-top:var(--space-2);font-weight:700}.form-grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:900px){.form-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.form-grid-3{grid-template-columns:1fr}}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dash-metric-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-5);align-items:flex-start;gap:var(--space-4);transition:all var(--transition-base);display:flex;position:relative;overflow:hidden}.dash-metric-card:before{content:"";opacity:0;height:3px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.dash-metric-card:hover{border-color:var(--color-border-active);box-shadow:var(--shadow-md);transform:translateY(-2px)}.dash-metric-card:hover:before{opacity:1}.dash-metric-revenue:before{background:linear-gradient(90deg,var(--color-success),#2dd4bf)}.dash-metric-expense:before{background:linear-gradient(90deg,var(--color-error),#fb923c)}.dash-metric-profit:before{background:linear-gradient(90deg,var(--color-accent),#8b5cf6)}.dash-metric-people:before{background:linear-gradient(90deg,var(--color-info),#a78bfa)}.dash-metric-salary:before{background:linear-gradient(90deg,var(--color-warning),#fbbf24)}.dash-metric-consultant:before{background:linear-gradient(90deg,#f59e0b,#ef4444)}.fy-selector{gap:var(--space-1);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);flex-shrink:0;padding:3px;display:flex}.fy-pill{padding:var(--space-1)var(--space-3);border-radius:var(--border-radius);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;font-family:inherit;font-weight:600}.fy-pill:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.fy-pill-active{color:var(--color-accent);background:var(--color-accent-muted);box-shadow:0 1px 3px #0003}.fy-pill-active:hover{color:var(--color-accent);background:var(--color-accent-muted)}.dash-metric-icon{background:var(--color-bg-hover);border-radius:var(--border-radius);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.dash-metric-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-weight:600}.dash-metric-value{font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.2}.dash-metric-sub{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.dash-trend-chart{align-items:flex-end;gap:var(--space-3);height:160px;padding:var(--space-4)0 0;display:flex}.dash-trend-col{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;height:100%;display:flex}.dash-trend-bars{flex:1;align-items:flex-end;gap:4px;width:100%;display:flex}.dash-trend-bar{min-height:4px;transition:height var(--transition-slow);cursor:default;border-radius:4px 4px 0 0;flex:1}.dash-trend-bar-revenue{background:linear-gradient(180deg,var(--color-success),#34d39966)}.dash-trend-bar-expense{background:linear-gradient(180deg,var(--color-error),#f8717166)}.dash-trend-label{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;white-space:nowrap}.dash-trend-legend{gap:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4);justify-content:center;display:flex}.dash-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.dash-legend-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.dash-payroll-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.dash-payroll-item{flex-direction:column;gap:2px;display:flex}.dash-payroll-net{padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-column:1/-1}.dash-payroll-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.dash-payroll-value{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700;font-family:var(--font-mono)}.dash-sync-list{gap:var(--space-2);flex-direction:column;display:flex}.dash-sync-row{padding:var(--space-2)0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.dash-sync-row:last-child{border-bottom:none}.dash-sync-entity{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-primary);text-transform:capitalize;display:flex}.dash-sync-meta{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.dash-sync-time{color:var(--color-text-muted);text-align:right;min-width:60px}.dash-quick-actions{gap:var(--space-3);grid-template-columns:repeat(6,1fr);display:grid}@media (max-width:1024px){.dash-quick-actions{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.dash-quick-actions{grid-template-columns:repeat(2,1fr)}}.dash-action-card{align-items:center;gap:var(--space-2);padding:var(--space-5)var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);transition:all var(--transition-base);cursor:pointer;flex-direction:column;text-decoration:none;display:flex}.dash-action-card:hover{border-color:var(--color-accent);background:var(--color-accent-muted);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.dash-action-icon{font-size:1.5rem}.dash-action-label{font-size:var(--text-xs);color:var(--color-text-secondary);text-align:center;font-weight:600}.dash-action-card:hover .dash-action-label{color:var(--color-accent)}.reports-period-bar{align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;display:flex}.reports-quarter-chips{gap:var(--space-2);display:flex}.reports-quarter-chip{padding:var(--space-2)var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary);flex-direction:column;align-items:center;gap:2px;font-family:inherit;display:flex}.reports-quarter-chip:hover{border-color:var(--color-border-active);background:var(--color-bg-hover)}.reports-quarter-chip.active{border-color:var(--color-accent);background:var(--color-accent-muted);color:var(--color-accent)}.reports-quarter-name{font-size:var(--text-sm);font-weight:600}.reports-quarter-range{font-size:var(--text-xs);color:var(--color-text-muted)}.reports-quarter-chip.active .reports-quarter-range{color:var(--color-accent);opacity:.7}.reports-card{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.reports-card-header{gap:var(--space-4);align-items:flex-start;display:flex}.reports-card-icon{background:var(--color-bg-hover);border-radius:var(--border-radius);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.reports-card-title{font-size:var(--text-md);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:600}.reports-card-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.reports-card-actions{padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.reports-card-filename{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-primary);padding:var(--space-1)var(--space-2);border-radius:4px}.recon-upload-zone{border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-10)var(--space-8);text-align:center;transition:all var(--transition-base);cursor:pointer;background:var(--color-bg-card)}.recon-upload-zone:hover,.recon-upload-zone.dragover{border-color:var(--color-accent);background:var(--color-accent-muted)}.recon-upload-icon{margin-bottom:var(--space-3);opacity:.6;font-size:2.5rem}.recon-upload-text{font-size:var(--text-md);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:600}.recon-upload-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.recon-summary-cards{gap:var(--space-3);grid-template-columns:repeat(5,1fr);display:grid}@media (max-width:1024px){.recon-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.recon-summary-cards{grid-template-columns:repeat(2,1fr)}}.recon-summary-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-4);text-align:center}.recon-summary-value{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700;font-family:var(--font-mono)}.recon-summary-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.recon-match-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);border-radius:9999px;font-weight:600;display:inline-flex}.recon-match-badge.matched{color:var(--color-success);background:var(--color-success-bg)}.recon-match-badge.suggested{color:var(--color-warning);background:var(--color-warning-bg)}.recon-match-badge.unmatched{color:var(--color-error);background:var(--color-error-bg)}.recon-match-badge.ignored{color:var(--color-text-muted);background:var(--color-border)}.recon-suggestion-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-4);margin-top:var(--space-2)}.recon-suggestion-item{padding:var(--space-2)0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.recon-suggestion-item:last-child{border-bottom:none}.recon-confidence{font-family:var(--font-mono);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:4px;font-weight:600}.recon-confidence.high{color:var(--color-success);background:var(--color-success-bg)}.recon-confidence.medium{color:var(--color-warning);background:var(--color-warning-bg)}.recon-confidence.low{color:var(--color-text-muted);background:var(--color-border)}.login-page{background:var(--color-bg-primary);min-height:100vh;padding:var(--space-4);background-image:radial-gradient(at 20%,#3b82f614 0%,#0000 50%),radial-gradient(at 80% 20%,#8b5cf60f 0%,#0000 50%);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);width:100%;max-width:400px;padding:var(--space-8);box-shadow:0 20px 60px #0006}.login-brand{text-align:center;margin-bottom:var(--space-6)}.login-brand-icon{background:linear-gradient(135deg,var(--color-accent),#8b5cf6);width:56px;height:56px;font-weight:800;font-size:var(--text-lg);color:#fff;margin-bottom:var(--space-4);border-radius:14px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 24px #3b82f640}.login-title{color:var(--color-text-primary);margin:0 0 var(--space-1)0;letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.login-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-error{border-radius:var(--border-radius);padding:var(--space-3);color:#ef4444;font-size:var(--text-sm);text-align:center;background:#ef44441a;border:1px solid #ef444433}.login-btn{width:100%;margin-top:var(--space-2);padding:var(--space-3)!important;font-size:var(--text-md)!important;font-weight:600!important}.login-footer{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-6);opacity:.6;margin-bottom:0}.autocomplete-panel{z-index:60;background:var(--color-bg-card);border:1px solid var(--color-border-active);border-radius:var(--border-radius);max-height:280px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000040}.autocomplete-option{text-align:left;width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;font-size:var(--text-sm);background:0 0;display:block}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option:hover{background:var(--color-bg-hover)}.autocomplete-empty{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.tax-banner{background:var(--color-info-bg);border:1px solid var(--color-border-active);border-radius:var(--border-radius);padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.tax-banner-export{background:var(--color-success-bg)}.form-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px}.form-hint-error{color:var(--color-error)}.booking-detail{padding:var(--space-4);background:var(--color-bg-hover)}.booking-detail-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}
