:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--surface-soft:#f1f5f9;--text:#111827;--muted:#64748b;--border:#e2e8f0;--brand:#1f2937;--brand-strong:#111827;--danger:#b91c1c;--danger-bg:#fef2f2;--success:#047857;--success-bg:#ecfdf5;--warning:#b45309;--warning-bg:#fffbeb;--radius:16px;--shadow:0 10px 30px #0f172a14;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input,textarea{font:inherit}textarea{resize:vertical}.center-screen,.auth-page{background:radial-gradient(circle at 0 0,#1f29371f,#0000 32%),#f8fafc;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);gap:16px;padding:28px;display:grid}.auth-card h1,.page-heading h1,.empty-state h1,.empty-state h2,.card h2{margin:0}.auth-card label{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.auth-card input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:12px;outline:none;padding:12px 14px}.auth-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1f293724}.auth-card button,.button-link,.topbar button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.auth-card button:hover,.button-link:hover,.topbar button:hover{background:var(--brand-strong)}.auth-card button:disabled{cursor:not-allowed;opacity:.65}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.muted{color:var(--muted);margin:0;line-height:1.7}.alert{border-radius:12px;padding:12px;font-size:14px;font-weight:700}.alert.danger{background:var(--danger-bg);color:var(--danger)}.alert.success{background:var(--success-bg);color:var(--success)}.admin-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);color:#e2e8f0;background:#0f172a;height:100vh;padding:22px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand>span{color:#0f172a;background:#fff;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand strong,.brand small{display:block}.brand small{color:#94a3b8}.sidebar nav{gap:8px;display:grid}.sidebar a{color:#cbd5e1;border-radius:12px;padding:12px 14px;font-weight:700;text-decoration:none}.sidebar a:hover,.sidebar a.active{color:#fff;background:#ffffff1a}.admin-main{min-width:0}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:14px 28px;display:flex}.topbar span{color:var(--muted);font-size:13px;display:block}.topbar-actions{align-items:center;gap:10px;display:flex;position:relative}.admin-notifications{position:relative}.notification-button{gap:8px;position:relative;box-shadow:0 1px 2px #0f172a0a;background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important}.notification-button:hover{background:var(--surface-soft)!important}.notification-badge{background:var(--danger);border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-weight:900;color:#fff!important;font-size:11px!important;display:inline-grid!important}.notification-panel{z-index:40;border:1px solid var(--border);background:var(--surface);width:min(360px,100vw - 36px);box-shadow:var(--shadow);border-radius:16px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notification-panel__heading{border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.notification-panel__heading span{color:var(--muted);font-size:12px;font-weight:800}.notification-empty{color:var(--muted);margin:0;padding:16px}.topbar .notification-item{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;border-left:4px solid #0000;border-radius:0;justify-content:stretch;gap:4px;width:100%;min-height:0;padding:12px 16px;display:grid;background:var(--surface)!important;color:var(--text)!important}.notification-item:last-child{border-bottom:0}.topbar .notification-item:hover{background:var(--surface)!important}.topbar .notification-item.is-unread{border-left-color:var(--danger);background:var(--surface)!important}.notification-item span{color:var(--text);font-size:14px;font-weight:900}.notification-item small{color:var(--muted);line-height:1.5}.content{padding:28px}.page-heading{gap:8px;margin-bottom:22px;display:grid}.refresh-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.refresh-toolbar button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:12px;padding:0 14px;font-weight:800}.refresh-toolbar button:hover:not(:disabled){background:var(--surface-soft)}.refresh-toolbar button:disabled{cursor:not-allowed;opacity:.55}.card,.empty-state{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card{gap:12px;padding:20px;display:grid}.card p,.empty-state p{color:var(--muted);margin:0;line-height:1.7}.badge{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.muted-badge{background:var(--surface-soft);color:var(--muted)}.success-badge{background:var(--success-bg);color:var(--success)}.danger-badge{background:var(--danger-bg);color:var(--danger)}.warning-badge{background:var(--warning-bg);color:var(--warning)}.stat-card h2{font-size:28px;line-height:1.15}.stat-label{color:var(--text);margin:0;font-weight:900}.card-grid{gap:16px;display:grid}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.empty-state{gap:10px;padding:36px;display:grid}.table-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:14px 16px}th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:var(--surface-soft);font-size:12px;font-weight:900}td strong,td span{display:block}td span{color:var(--muted);font-size:13px}tbody tr:last-child td{border-bottom:0}.admin-clickable-row{cursor:pointer;min-height:48px;transition:background .16s,box-shadow .16s,transform .16s}.admin-clickable-row td{transition:background .16s}.admin-clickable-row:hover td,.admin-clickable-row:focus-visible td{background:var(--surface-soft)}.admin-clickable-row:active td,.admin-clickable-row.is-selected td,.admin-clickable-row[aria-selected=true] td{background:#e5e7eb}.admin-clickable-row:focus-visible{outline-offset:-3px;outline:3px solid #1f293747}.admin-clickable-row td:first-child{position:relative}.admin-clickable-row:hover td:first-child:before,.admin-clickable-row:focus-visible td:first-child:before,.admin-clickable-row.is-selected td:first-child:before,.admin-clickable-row[aria-selected=true] td:first-child:before{content:"";background:var(--brand);width:4px;position:absolute;inset:0 auto 0 0}.admin-clickable-card{cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.admin-clickable-card:hover,.admin-clickable-card:focus-visible{border-color:var(--brand);background:var(--surface-soft);transform:translateY(-2px);box-shadow:0 14px 36px #0f172a1f}.admin-clickable-card:active,.admin-clickable-card.is-selected,.admin-clickable-card[aria-selected=true]{background:#e5e7eb;transform:translateY(0)}.admin-clickable-card:focus-visible{outline-offset:3px;outline:3px solid #1f293747}.clickable-row{cursor:pointer}.clickable-row:hover td{background:var(--surface-soft)}.pagination-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:14px 16px;display:flex}.pagination-bar p{color:var(--muted);margin:0;font-weight:700}.pagination-bar div{gap:10px;display:flex}.pagination-bar button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:12px;padding:0 14px;font-weight:800}.pagination-bar button:hover:not(:disabled){background:var(--surface-soft)}.pagination-bar button:disabled{cursor:not-allowed;opacity:.55}.withdrawal-actions{flex-wrap:wrap;gap:8px;display:flex}.withdrawal-actions button{border:1px solid var(--border);background:var(--brand);color:#fff;cursor:pointer;border-radius:10px;min-height:34px;padding:0 12px;font-weight:800}.withdrawal-actions button:hover:not(:disabled){background:var(--brand-strong)}.withdrawal-actions .danger-button{border-color:var(--danger-bg);background:var(--danger-bg);color:var(--danger)}.withdrawal-actions .danger-button:hover:not(:disabled){background:var(--danger);color:#fff}.withdrawal-actions button:disabled{cursor:not-allowed;opacity:.55}.modal-backdrop{z-index:50;background:#0f172a94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:var(--surface);width:min(100%,920px);max-height:calc(100vh - 48px);box-shadow:var(--shadow);border-radius:22px;overflow:auto}.modal-heading{z-index:1;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex;position:sticky;top:0}.modal-heading h2{margin:4px 0}.close-button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:12px;padding:0 14px;font-weight:800}.close-button:hover{background:var(--surface-soft)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px;display:grid}.detail-grid div{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;gap:4px;min-width:0;padding:14px;display:grid}.detail-grid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.detail-grid strong,.detail-grid small{overflow-wrap:anywhere}.detail-grid small{color:var(--muted)}.detail-grid__wide{grid-column:1/-1}.detail-actions-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:14px;margin:0 20px 20px;padding:16px;display:grid}.detail-actions-card h3{margin:0}.upload-field{gap:8px;font-weight:800;display:grid}.upload-field input{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;padding:10px}.upload-field small{color:var(--muted);font-weight:600}.ktp-preview{gap:14px;padding:0 20px 20px;display:grid}.ktp-preview h3{margin:0}.ktp-preview img{object-fit:contain;border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;width:100%;max-height:560px}.empty-state.compact{box-shadow:none;padding:18px}.finance-hero{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border-radius:22px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;padding:24px;display:flex}.finance-hero h2{color:var(--brand-strong);letter-spacing:-.04em;margin:6px 0 4px;font-size:clamp(30px,4vw,44px);line-height:1.05}.finance-hero p{max-width:680px;color:var(--muted);margin:0;line-height:1.7}.finance-hero__meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.finance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.finance-card{border:1px solid var(--border);background:var(--surface);min-height:150px;box-shadow:var(--shadow);border-radius:18px;align-content:space-between;gap:14px;padding:18px;display:grid;position:relative;overflow:hidden}.finance-card:before{content:"";background:var(--brand);width:5px;position:absolute;inset:0 auto 0 0}.finance-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.finance-card strong{color:var(--text);letter-spacing:-.03em;font-size:clamp(22px,2.5vw,30px);line-height:1.1;display:block}.finance-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.finance-card--primary:before{background:var(--brand)}.finance-card--danger:before{background:var(--danger)}.finance-card--success:before{background:var(--success)}.finance-card--warning:before{background:var(--warning)}.finance-section{margin-bottom:18px}.finance-section>.finance-section-heading{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.finance-section .finance-grid{margin-top:12px}.finance-section--audit{margin-bottom:12px}.finance-section--audit>.finance-section-heading{background:var(--surface-soft)}.finance-section .finance-card .badge{margin-top:2px}.finance-actions{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.finance-actions button{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:12px;padding:0 16px;font-weight:800}.finance-actions button:hover{background:var(--surface-soft)}.finance-breakdown{margin-bottom:18px}.finance-section-heading{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.finance-section-heading h2{margin:0;font-size:18px}.finance-section-heading p{max-width:560px;color:var(--muted);margin:0;line-height:1.6}.finance-breakdown table{min-width:720px}.finance-row-highlight td{background:var(--success-bg)}.finance-row-highlight td:first-child{color:var(--success);font-weight:900}.settlement-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:minmax(220px,.85fr) minmax(0,1.6fr);gap:20px;margin-bottom:18px;padding:20px;display:grid}.settlement-panel__copy{align-content:start;gap:10px;padding:4px 0;display:grid}.settlement-panel__copy h2{margin:0;font-size:22px;line-height:1.25}.settlement-panel__copy p{color:var(--muted);margin:0;line-height:1.7}.settlement-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settlement-form label{color:var(--text);gap:8px;font-size:13px;font-weight:900;display:grid}.settlement-form input,.settlement-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:12px;outline:none;padding:11px 12px}.settlement-form textarea{min-height:92px}.settlement-form input:focus,.settlement-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1f29371f}.settlement-form__wide,.settlement-form__actions{grid-column:1/-1}.settlement-form__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.settlement-proof-preview{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;justify-items:start;gap:12px;padding:14px;display:grid}.settlement-proof-preview img{object-fit:contain;border:1px solid var(--border);background:var(--surface);border-radius:12px;width:min(100%,320px);max-height:220px}.settlement-proof-preview .button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;border-radius:10px;padding:0 12px;font-weight:900}.settlement-proof-preview .button:hover{background:var(--surface-soft)}.settlement-form__actions button{border:1px solid var(--border);cursor:pointer;border-radius:12px;min-height:40px;padding:0 16px;font-weight:900}.settlement-form__actions .primary{border-color:var(--brand);background:var(--brand);color:#fff}.settlement-form__actions .secondary{background:var(--surface);color:var(--text)}.settlement-form__actions button:hover:not(:disabled){background:var(--surface-soft)}.settlement-form__actions .primary:hover:not(:disabled){background:var(--brand-strong)}.settlement-form__actions button:disabled{cursor:not-allowed;opacity:.6}.settlement-history td:nth-child(3) strong{color:var(--danger)}.reconciliation-detail-table{margin:0 20px 20px}.reconciliation-detail-table table{min-width:680px}.finance-breakdown .admin-clickable-row td{cursor:pointer}.settlement-history td:nth-child(5){max-width:360px;color:var(--muted);line-height:1.6}.user-detail-modal{width:min(100%,1120px)}.user-finance-grid{margin-bottom:0;padding:0 20px 20px}.user-detail-tabs{flex-wrap:wrap;gap:8px;padding:0 20px 16px;display:flex}.user-detail-tabs button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:12px;padding:0 14px;font-weight:800}.user-detail-tabs button.active,.user-detail-tabs button:hover{background:var(--brand);color:#fff}.user-detail-tab-panel{padding:0 20px 20px}.user-detail-table{box-shadow:none}.user-detail-table table{min-width:860px}@media (width<=900px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav,.card-grid,.dashboard-grid,.finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settlement-panel,.settlement-form{grid-template-columns:1fr}.finance-hero{flex-direction:column}.finance-hero__meta{justify-content:flex-start}}@media (width<=560px){.content,.topbar,.sidebar{padding:18px}th,td{padding:14px}.admin-clickable-row td,.admin-clickable-card{min-height:48px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:space-between;width:100%}.notification-panel{left:0;right:auto}.sidebar nav,.card-grid,.dashboard-grid,.finance-grid{grid-template-columns:1fr}.finance-hero,.finance-card,.settlement-panel{padding:18px}.settlement-form__actions{justify-content:stretch}.settlement-form__actions button{flex:1}.finance-section-heading{flex-direction:column;padding:16px}.modal-backdrop{align-items:start;padding:12px}.modal-heading{flex-direction:column}.detail-grid{grid-template-columns:1fr;padding:14px}.ktp-preview,.detail-actions-card{margin:0 14px 14px;padding:0 14px 14px}}button.dashboard-card-button{border:1px solid var(--border);width:100%;min-height:160px;color:inherit;text-align:left}.dashboard-card-button:hover .dashboard-card-action,.dashboard-card-button:focus-visible .dashboard-card-action{background:var(--brand);color:#fff}
