@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}:root{--green: #2e7d52;--green-dark: #1b5e35;--green-mid: #3a9463;--green-light: #e8f5ee;--green-hover: #245f40;--sidebar-bg: #ffffff;--sidebar-w: 210px;--topbar-h: 56px;--bg-page: #f4f6f8;--bg-card: #ffffff;--bg-surface: #f9fafb;--text-primary: #111827;--text-secondary:#374151;--text-muted: #6b7280;--text-hint: #9ca3af;--border: #e5e7eb;--border-md: #d1d5db;--gold: #d97706;--gold-dark: #b45309;--gold-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--blue: #1d4ed8;--blue-light: #eff6ff;--purple: #7c3aed;--purple-light: #ede9fe;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-page);color:var(--text-primary);font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:14px}input,select,textarea{font-family:inherit;font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto}.sidebar-logo{padding:18px 20px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-logo-mark{width:36px;height:36px;background:var(--green);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.sidebar-logo-text{font-weight:700;font-size:15px;color:var(--text-primary);line-height:1.2}.sidebar-logo-sub{font-size:10px;color:var(--text-muted)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.sidebar-user-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.sidebar-user-role{font-size:11px;color:var(--text-muted)}.sidebar-nav{padding:8px 0;flex:1}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 16px;margin:1px 8px;border-radius:var(--radius);color:var(--text-secondary);font-size:13px;font-weight:500;background:none;border:none;width:calc(100% - 16px);text-align:left;cursor:pointer;transition:all .12s}.sidebar-item:hover{background:var(--bg-surface);color:var(--text-primary)}.sidebar-item--active{background:var(--green-light)!important;color:var(--green-dark)!important;font-weight:600}.sidebar-item--locked{opacity:.4;cursor:not-allowed}.sidebar-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.sidebar-badge{margin-left:auto;background:var(--gold);color:#fff;border-radius:99px;font-size:10px;padding:1px 6px;font-weight:600}.app-body{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{height:var(--topbar-h);background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.topbar-fy{background:var(--green-light);color:var(--green-dark);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:600}.page-content{padding:24px;flex:1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title{font-size:20px;font-weight:700}.page-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.card-title{font-size:15px;font-weight:600;margin-bottom:14px}.pill-tabs{display:inline-flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:99px;padding:4px;gap:2px}.pill-tab{padding:7px 20px;border-radius:99px;font-size:13px;font-weight:500;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.pill-tab:hover{color:var(--text-primary);background:#0000000a}.pill-tab--active{background:var(--green);color:#fff;box-shadow:0 2px 8px #2e7d524d}.pill-tab--sm{padding:5px 14px;font-size:12px}.pill-tabs--full{display:flex;width:100%}.pill-tabs--full .pill-tab{flex:1;text-align:center}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-sm)}.metric-label{font-size:12px;color:var(--text-muted);font-weight:500}.metric-value{font-size:26px;font-weight:700;margin:4px 0}.metric-value--green{color:var(--green)}.metric-sub{font-size:11px;color:var(--text-hint)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border);font-weight:500;font-size:13px;transition:all .12s;white-space:nowrap;background:var(--bg-surface);color:var(--text-secondary)}.btn:hover{background:var(--border);color:var(--text-primary)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--green);color:#fff;border-color:var(--green)}.btn--primary:hover{background:var(--green-hover);border-color:var(--green-hover)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--bg-surface)}.btn--danger{background:var(--danger-light);color:var(--danger);border-color:#fca5a5}.btn--danger:hover{background:var(--danger);color:#fff}.btn--outline{background:transparent;border-color:var(--green);color:var(--green)}.btn--outline:hover{background:var(--green-light)}.btn--sm{padding:5px 11px;font-size:12px}.btn--lg{padding:11px 22px;font-size:15px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500}.badge--green{background:var(--green-light);color:var(--green-dark)}.badge--gold{background:var(--gold-light);color:var(--gold-dark)}.badge--danger{background:var(--danger-light);color:var(--danger)}.badge--blue{background:var(--blue-light);color:var(--blue)}.badge--neutral{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border)}.pqi-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap}.pqi-status--upcoming{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border)}.pqi-status--draft{background:#fff7ed;color:#c2410c}.pqi-status--approved{background:var(--green-light);color:var(--green-dark)}.pqi-status--posted{background:var(--green);color:#fff}.form-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}.form-section-title{font-size:15px;font-weight:600;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.form-grid{display:grid;gap:14px}.form-grid--2{grid-template-columns:1fr 1fr}.form-grid--3{grid-template-columns:1fr 1fr 1fr}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.form-field{display:flex;flex-direction:column}.form-actions{display:flex;gap:10px;padding-top:8px}.field-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:5px}.field-label .req,.req{color:var(--danger)}.field-input{width:100%;padding:9px 12px;border:1px solid var(--border-md);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-size:13px;transition:border-color .12s;outline:none}.field-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2e7d521a}.field-input::placeholder{color:var(--text-hint)}.field-input:disabled{background:var(--bg-surface);color:var(--text-muted);cursor:not-allowed}.field-hint{font-size:11px;color:var(--text-hint);margin-top:3px}select.field-input{cursor:pointer}textarea.field-input{resize:vertical;min-height:80px}.search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border-md);border-radius:var(--radius);background:var(--bg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") 12px center no-repeat;font-size:13px;outline:none;margin-bottom:14px}.search-input:focus{border-color:var(--green)}.table-wrapper{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:var(--bg-surface);padding:10px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-surface)}.data-table tfoot td{background:var(--bg-surface);font-weight:600;border-top:1px solid var(--border-md)}.td-name{font-weight:500}.td-dept{font-size:11px;color:var(--text-muted)}.td-deduction{color:var(--danger);text-align:right}.td-net{color:var(--green);font-weight:500;text-align:right}.td-bold{font-weight:600}.employee-list{display:flex;flex-direction:column;gap:8px}.employee-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;transition:box-shadow .12s}.employee-card:hover{box-shadow:var(--shadow-md)}.emp-avatar{width:40px;height:40px;border-radius:50%;background:var(--green-light);color:var(--green-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.emp-name{font-weight:600;font-size:14px}.emp-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--text-muted)}.emp-salary{text-align:right}.emp-gross{font-weight:600;font-size:15px}.emp-net{font-size:12px;color:var(--text-muted)}.emp-actions{display:flex;gap:6px}.pay-lines-list{display:flex;flex-direction:column;gap:8px}.pay-line-row{display:grid;grid-template-columns:1fr 1fr 90px 90px 120px 36px;gap:8px;align-items:end;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.pay-lines-total{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 14px;background:var(--green-light);border-radius:var(--radius);font-weight:600;font-size:13px;color:var(--green-dark)}.pay-lines-add-bar{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.salary-equiv{font-size:12px;color:var(--text-muted);margin-top:6px}.payroll-queue{display:flex;flex-direction:column;gap:6px}.payroll-queue-item{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all .12s}.payroll-queue-item:hover{border-color:var(--green);box-shadow:var(--shadow-sm)}.pqi-schedule{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.pqi-period{font-weight:600;font-size:14px;margin:3px 0}.pqi-check{font-size:12px;color:var(--green)}.process-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--green);border-radius:var(--radius-lg);color:#fff;margin-bottom:16px}.process-header h3{flex:1;font-size:15px;font-weight:600}.process-emp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:10px}.process-emp-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.process-pay-line{display:grid;grid-template-columns:180px 1fr 80px 80px 120px 32px;gap:8px;align-items:end;margin-bottom:6px}.process-emp-total{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--border);margin-top:8px;font-size:13px}.process-footer{position:sticky;bottom:0;background:var(--bg-card);border-top:1px solid var(--border-md);padding:12px 0;display:flex;align-items:center;gap:12px}.process-footer-totals{flex:1;display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.payroll-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}.psb-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px}.psb-label{font-size:11px;color:var(--text-muted);margin-bottom:3px}.psb-value{font-size:16px;font-weight:600}.psb-value--green{color:var(--green)}.psb-value--red{color:var(--danger)}.payslips-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.payslips-sidebar{display:flex;flex-direction:column;gap:6px}.payslip-thumb{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;text-align:left;width:100%;transition:all .12s}.payslip-thumb:hover{border-color:var(--green)}.payslip-thumb--active{border-color:var(--green);background:var(--green-light)}.thumb-name{font-weight:500;font-size:13px}.thumb-net{font-size:11px;color:var(--text-muted);margin-top:2px}.payslips-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-hint);font-size:13px;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-lg)}.payslip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.payslip-header{background:var(--green);color:#fff;padding:20px 24px}.payslip-company{font-size:18px;font-weight:700}.payslip-company-sub,.payslip-period{font-size:12px;opacity:.85;margin-top:2px}.payslip-name{font-size:16px;font-weight:600}.payslip-sub{font-size:12px;opacity:.85}.payslip-body{padding:20px 24px}.payslip-ids{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--text-muted);margin-bottom:12px}.payslip-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.payslip-section:last-child{border-bottom:none;margin-bottom:0}.payslip-section--net{background:var(--green-light);border-radius:var(--radius);padding:12px 14px;border:none}.payslip-section--employer{background:var(--bg-surface);border-radius:var(--radius);padding:12px 14px;margin:12px 0 0}.payslip-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.payslip-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:3px 0}.payslip-row--bold{font-weight:600;font-size:14px}.payslip-row--deduction{color:var(--danger)}.payslip-row--subtotal{font-weight:600;padding-top:6px;border-top:1px dashed var(--border);margin-top:4px}.payslip-row--net{font-size:18px;font-weight:700;color:var(--green-dark)}.payslip-powered{display:none;align-items:center;gap:4px}.payslip-powered img{height:12px;width:auto;object-fit:contain;opacity:.75}.remittance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}.remittance-card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.remittance-card-header{display:flex;align-items:flex-start;gap:10px}.remittance-items{display:flex;flex-direction:column;gap:5px}.remittance-item{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.remittance-total{display:flex;justify-content:space-between;font-size:14px;font-weight:600;border-top:1px solid var(--border);padding-top:8px}.remittance-grand-total{display:flex;justify-content:space-between;padding:14px 16px;background:var(--green);border-radius:var(--radius);color:#fff;font-weight:600;font-size:16px}.dash-schedule-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:6px}.schedule-mini-preview{display:flex;flex-direction:column;gap:8px;font-size:12px;padding:8px 12px;background:var(--bg-surface);border-radius:var(--radius)}.smp-label{font-weight:600;color:var(--green)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px}.empty-icon{font-size:40px}.empty-title{font-size:16px;font-weight:600}.empty-sub{font-size:13px;color:var(--text-muted);max-width:320px}.period-info-bar{display:flex;gap:20px;flex-wrap:wrap;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px}.pib-item{display:flex;flex-direction:column;gap:2px}.pib-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-hint)}.pib-value{font-size:14px;font-weight:500}.pib-value--green{color:var(--green);font-weight:600}@media (max-width:900px){.sidebar{width:60px}.sidebar-logo-text,.sidebar-logo-sub,.sidebar-user,.sidebar-section-label{display:none}.sidebar-item{justify-content:center;padding:10px;margin:2px 4px}.sidebar-item span:not(.sidebar-icon){display:none}.sidebar-badge{display:none}.app-body{margin-left:60px}.form-grid--2,.form-grid--3{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.payslips-layout{grid-template-columns:1fr}.pay-line-row,.process-pay-line{grid-template-columns:1fr 1fr}}@media (max-width:640px){.metrics-row{grid-template-columns:1fr 1fr}.payroll-queue-item{grid-template-columns:1fr auto}.employee-card{grid-template-columns:40px 1fr}.emp-salary,.emp-actions{grid-column:span 2}}.powered-by-footer{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ca3af;font-style:italic}.powered-by-footer img{height:20px;width:auto;object-fit:contain;opacity:.75;vertical-align:middle}.printed-timestamp{font-size:10px;color:#9ca3af;font-style:italic;text-align:right}.print-footer-row{display:flex;justify-content:space-between;align-items:center;padding:8px 16px 12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.loading-spinner{width:48px;height:48px;border:4px solid var(--border, #e5e7eb);border-top-color:var(--accent, #2e7d52);border-radius:50%;animation:spin 1s linear infinite}.admin-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;background:#fef3c7;color:#92400e;font-size:10px;font-weight:700;letter-spacing:.5px;border:1px solid #fde68a}.admin-layout{display:flex;min-height:100vh;background:var(--bg-page)}.admin-sidebar{width:200px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto}.admin-sidebar-header{display:flex;align-items:center;gap:8px;padding:16px;font-size:14px;font-weight:700;color:#92400e;border-bottom:1px solid var(--border)}.admin-sidebar-nav{padding:8px 0}.admin-sidebar-item{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.admin-sidebar-item:hover{background:var(--bg-surface);color:var(--text-primary)}.admin-sidebar-item--active{background:#fef3c7;color:#92400e;font-weight:600;border-right:3px solid #d97706}.admin-sidebar-icon{display:flex;align-items:center;width:20px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.admin-main{margin-left:200px;flex:1;display:flex;flex-direction:column;min-height:100vh}.admin-content{padding:24px;flex:1}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.admin-stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;border-top:3px solid var(--green);box-shadow:var(--shadow-sm)}.admin-stat-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.admin-stat-value{font-size:24px;font-weight:700;margin-top:4px}.admin-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table thead{background:var(--bg-surface);border-bottom:2px solid var(--border)}.admin-table th{padding:10px 12px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:left;white-space:nowrap}.admin-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.admin-table tbody tr:hover{background:#fafafa}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding:8px 0}.admin-activity-feed{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.admin-activity-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid #f3f4f6}.admin-activity-item:last-child{border-bottom:none}.admin-activity-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;margin-top:2px}.admin-mrr-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--green-light);border:1px solid var(--green);border-radius:var(--radius);margin-bottom:16px;color:var(--green-dark);font-weight:600}.admin-readonly-banner{background:#dc2626;color:#fff;text-align:center;padding:8px 16px;font-weight:700;font-size:13px;border-radius:var(--radius);letter-spacing:.5px}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;background:#fff;padding:16px;border:1px solid var(--border);border-radius:var(--radius)}.admin-detail-item{display:flex;flex-direction:column;gap:2px}.admin-detail-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0006}.admin-modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:440px;box-shadow:0 8px 32px #00000026}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.admin-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:400px 100%;animation:shimmer 1.5s ease-in-out infinite}.badge--purple{background:#ede9fe;color:#7c3aed}.admin-settings-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.admin-settings-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-settings-field{display:flex;flex-direction:column;gap:4px}.admin-settings-field .field-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.admin-settings-field .field-input{font-size:13px;padding:8px 10px}.admin-field-hint{font-size:10px;color:var(--text-hint);font-style:italic}.admin-coming-soon{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;background:#fef3c7;color:#92400e;font-size:10px;font-weight:700;letter-spacing:.3px}.admin-settings-toggles{display:flex;flex-direction:column}.admin-toggle-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.admin-toggle-row:last-child{border-bottom:none}.admin-toggle{position:relative;width:42px;height:24px;border-radius:12px;border:none;background:#d1d5db;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.admin-toggle--on{background:var(--green)}.admin-toggle--danger{background:var(--danger)}.admin-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s}.admin-toggle--on .admin-toggle-knob{transform:translate(18px)}@media (max-width:768px){.admin-sidebar{width:60px;overflow:hidden}.admin-sidebar-header span,.admin-sidebar-item span:not(.admin-sidebar-icon){display:none}.admin-sidebar-item{justify-content:center;padding:12px 8px}.admin-sidebar-icon{width:auto}.admin-main{margin-left:60px}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-content{padding:16px}.admin-topbar{padding:10px 16px}.admin-filters{flex-direction:column}.admin-filters input,.admin-filters select{max-width:100%!important;width:100%}}@media (max-width:480px){.admin-stats-grid,.admin-detail-grid,.admin-settings-grid{grid-template-columns:1fr}}.pac-container{border-radius:var(--radius);font-family:inherit;border:1px solid var(--border);box-shadow:0 4px 12px #0000001a;margin-top:2px;z-index:9999}.pac-item{padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer}.pac-item:hover{background:var(--bg-hover)}.pac-item-query{font-size:13px;color:var(--text-primary)}.pac-matched{font-weight:600}.ess-app{display:flex;min-height:100vh;background:var(--bg-page,#f4f6f8)}.ess-sidebar{width:210px;position:fixed;top:0;left:0;height:100vh;background:var(--bg-card,#fff);border-right:1px solid var(--border,#e5e7eb);padding:16px 8px;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;z-index:100;overflow-y:auto}.ess-sidebar.ess-sidebar--rail{width:60px;padding:12px 4px}.ess-sidebar-header{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid var(--border,#e5e7eb);margin-bottom:8px}.ess-sidebar.ess-sidebar--rail .ess-sidebar-header{justify-content:center;padding:6px 0 14px}.ess-sidebar-logo-img{height:28px;width:auto;object-fit:contain}.ess-sidebar-logo-text{font-weight:700;font-size:14px;color:var(--text-primary,#111827);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess-sidebar.ess-sidebar--rail .ess-sidebar-logo-text{display:none}.ess-sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius,8px);border:none;background:transparent;color:var(--text-secondary,#374151);font-size:13px;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .12s,color .12s}.ess-sidebar-item:hover{background:var(--bg-surface,#f9fafb);color:var(--text-primary,#111827)}.ess-sidebar-item--active{background:var(--green-light,#e8f5ee);color:var(--green-dark,#1b5e35);font-weight:600}.ess-sidebar-item-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.ess-sidebar.ess-sidebar--rail .ess-sidebar-item{justify-content:center;padding:10px 0;gap:0;height:40px}.ess-sidebar.ess-sidebar--rail .ess-sidebar-item-label{display:none}.ess-app-body{margin-left:210px;flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0}.ess-app-body.ess-app-body--rail{margin-left:60px}.ess-topbar{height:56px;background:var(--bg-card,#fff);border-bottom:1px solid var(--border,#e5e7eb);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50;box-sizing:border-box}.ess-topbar-identity{display:flex;align-items:center;gap:12px;min-width:0}.ess-topbar-name{font-size:14px;font-weight:700;color:var(--text-primary,#111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess-topbar-company{font-size:11px;color:var(--text-muted,#6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess-topbar-signout{padding:7px 14px;border-radius:var(--radius,8px);border:1px solid var(--border-md,#d1d5db);background:var(--bg-card,#fff);font-size:12px;font-weight:500;color:var(--text-secondary,#374151);cursor:pointer}.ess-topbar-signout:hover{background:var(--bg-surface,#f9fafb);color:var(--text-primary,#111827)}.ess-page-content{flex:1;padding:32px;width:100%;max-width:1280px;box-sizing:border-box}.ess-app-body--rail .ess-page-content{padding:24px;max-width:760px}.ess-clock-layout{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}.ess-clock-main,.ess-clock-side{min-width:0}@media (max-width: 959.98px){.ess-clock-layout{grid-template-columns:1fr}}
