:root{color:#24302f;background:#f3f6f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{min-height:44px;border:0;border-radius:8px;color:#fff;background:#e86f2c;font-weight:700;cursor:pointer}button:disabled{cursor:wait;opacity:.65}input,select{width:100%;min-height:44px;border:1px solid #dce4e2;border-radius:8px;padding:0 14px;color:#24302f;background:#fff;outline:none}input:focus{border-color:#e86f2c;box-shadow:0 0 0 3px #e86f2c24}select:focus{border-color:#e86f2c;box-shadow:0 0 0 3px #e86f2c24}label{display:grid;gap:8px;color:#566361;font-size:14px;font-weight:700}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:32px;background:linear-gradient(135deg,rgba(232,111,44,.18),transparent 42%),#f3f6f5}.login-panel{display:grid;width:min(960px,100%);grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;border:1px solid #e6ecea;border-radius:8px;padding:42px;background:#fff;box-shadow:0 24px 70px #2736331f}.login-panel h1,.topbar h1{margin:0;color:#1f2928;font-size:34px;line-height:1.15}.login-form{display:grid;gap:18px}.login-brand{display:flex;gap:18px;align-items:center}.login-brand img{width:72px;height:86px;object-fit:contain}.muted{max-width:520px;color:#6d7a78;line-height:1.7}.eyebrow{margin:0 0 8px;color:#e86f2c;font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.error-text{margin:0;border-radius:8px;padding:12px 14px;color:#9d271f;background:#fff0ee;font-size:14px;font-weight:700}.warning-text{margin:0 0 18px;border-radius:8px;padding:12px 14px;color:#8a5a00;background:#fff7df;font-size:14px;font-weight:800}.dashboard-shell{display:grid;min-height:100vh;grid-template-columns:280px minmax(0,1fr)}.sidebar{display:flex;min-height:100vh;flex-direction:column;gap:28px;border-right:1px solid #e5ebe9;padding:28px 22px;background:#fff}.brand{display:flex;gap:12px;align-items:center}.brand-logo{width:44px;height:54px;object-fit:contain}.brand strong,.profile strong{display:block}.brand span,.profile span{display:block;color:#7a8583;font-size:13px}nav{display:grid;gap:10px}nav button{width:100%;min-height:46px;border-radius:8px;padding:13px 14px;color:#5c6967;background:transparent;font-weight:800;text-align:left;text-decoration:none}nav button.active{color:#fff;background:#e86f2c;box-shadow:0 12px 24px #e86f2c3d}.content{display:grid;gap:24px;align-content:start;padding:30px}.topbar,.filter-card,.metric-card,.panel{border:1px solid #e6ecea;border-radius:8px;background:#fff;box-shadow:0 14px 44px #27363314}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 24px}.profile{display:flex;gap:14px;align-items:center;text-align:right}.ghost-button{min-height:38px;padding:0 14px;color:#e86f2c;background:#fff3ec}.filter-card{display:grid;grid-template-columns:repeat(4,minmax(160px,220px)) auto;gap:16px;align-items:end;padding:20px}.filter-card button{padding:0 18px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-card{display:grid;gap:8px;padding:24px}.metric-card span{color:#65716f;font-weight:800}.metric-card strong{color:#1f2928;font-size:38px;line-height:1}.metric-card small{color:#93a09d;font-weight:700}.metric-card.primary{background:linear-gradient(135deg,#e86f2c,#f3a264)}.metric-card.primary span,.metric-card.primary strong,.metric-card.primary small{color:#fff}.panel-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.panel{min-width:0;padding:24px}.full-panel{width:100%}.panel-header{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}.report-header{align-items:center}.pager{display:flex;gap:10px}.export-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel h2{margin:0;color:#24302f;font-size:22px}.panel p{margin:6px 0 0;color:#87928f}.bar-chart{display:grid;gap:14px}.bar-row{display:grid;grid-template-columns:96px minmax(120px,1fr) 72px;gap:12px;align-items:center;color:#5f6b68;font-size:14px;font-weight:700}.bar-track{height:12px;overflow:hidden;border-radius:999px;background:#eef2f1}.bar-fill{height:100%;border-radius:inherit;background:#347c72}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}.monthly-table{table-layout:fixed;width:max-content;min-width:100%}.monthly-table .col-no{width:54px}.monthly-table .col-instansi{width:320px}.monthly-table .col-day{width:46px}.monthly-table .col-total{width:74px}th,td{border-bottom:1px solid #edf2f0;padding:13px 10px;text-align:left;white-space:nowrap}th{color:#70807c;font-size:13px;text-transform:uppercase}td{color:#2f3b39;font-weight:700}.status-pill{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:0 10px;color:#347c72;background:#e8f4f1;font-size:12px;font-weight:900}.monthly-table .no-head,.monthly-table .number-cell{position:sticky;left:0;z-index:2;width:54px;min-width:54px;max-width:54px;background:#fff}.monthly-table .agency-head,.monthly-table .service-cell{position:sticky;left:54px;z-index:2;width:320px;min-width:320px;max-width:320px;background:#fff}.monthly-table thead th{position:sticky;top:0;z-index:3;background:#f2cfa2;color:#111;border-color:#111}.monthly-table .export-title-head{z-index:4;color:#fff;background:#24578f;font-size:18px;text-align:center}.monthly-table .no-head,.monthly-table .agency-head{z-index:4;background:#f2cfa2}.monthly-table .month-head{text-align:center;font-size:16px}.monthly-table .day-head{width:46px;min-width:46px;max-width:46px;text-align:center;background:#d9943c}.monthly-table .day-head span,.monthly-table .day-head small{display:block}.monthly-table .day-head small{margin-top:4px;color:#9aa6a3;font-size:11px;text-transform:none}.monthly-table .day-cell{width:46px;min-width:46px;max-width:46px;text-align:center}.monthly-table .number-cell{text-align:center}.monthly-table .service-cell{white-space:normal}.monthly-table .service-cell strong,.monthly-table .service-cell span{display:block}.monthly-table .service-cell span{margin-top:4px;color:#5f6b68;font-size:13px}.monthly-table .holiday{color:#b8322a;background:#fff1ef}.monthly-table thead .holiday{background:#ffd6d2}.monthly-table .total-cell{width:74px;min-width:74px;max-width:74px;color:#e86f2c;text-align:center}.grand-total-row td{position:sticky;bottom:0;z-index:2;background:#f5f7f6;font-weight:900}.grand-total-row td:first-child{background:#f5f7f6}.empty-text,.empty-cell{color:#87928f;font-weight:700;text-align:center}@media (max-width: 980px){.dashboard-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.metric-grid,.panel-grid,.login-panel,.filter-card{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.profile{width:100%;justify-content:space-between;text-align:left}}
