.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.kpi-grid>div{padding:1rem;border:1px solid #26334d;border-radius:12px;background:#101b30}.kpi-grid strong{display:block;font-size:1.8rem;color:#72e0c1;margin-top:.25rem}.phase2-alerts{margin-top:.8rem}.alert-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.45rem}.alert-summary strong{color:#ffcf8b}.alert-summary .secondary{padding:.5rem .75rem;font-size:.8rem}.alert-list{display:grid;gap:.35rem}.alert-item{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .8rem;border-radius:8px;background:#3b2b1d;color:#ffcf8b;margin:0;font-size:.88rem}.alert-item>span:first-child{flex:none}.payroll-period-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin:-.75rem 0 1rem}.payroll-period-actions .pill{margin-right:auto}.payroll-period-actions small{flex-basis:100%;color:#ffcf8b}.payroll-period-actions button:disabled{opacity:.5;cursor:not-allowed}.table-wrap{overflow:auto}.live-table{width:100%;border-collapse:collapse}.live-table th,.live-table td{padding:.75rem;text-align:left;border-bottom:1px solid #26334d;white-space:nowrap}.live-table th{color:#8fa8d2;font-size:.75rem;text-transform:uppercase}.status-ok{color:#72e0c1}.status-muted{color:#8fa0bd}.status-pill{padding:.25rem .55rem;border-radius:999px;background:#24314a}.status-pill.inside{color:#72e0c1}.status-pill.outside{color:#ffbd69}@media(max-width:800px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-summary{align-items:flex-start;flex-direction:column}.payroll-period-actions .pill{margin-right:0}.payroll-period-actions small{flex-basis:100%}.live-table th,.live-table td{padding:.55rem;font-size:.82rem}}

.payroll-calendar-panel{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #26334d;border-radius:12px;background:#101b30}.payroll-calendar-panel>summary{cursor:pointer;color:#72e0c1;font-weight:700}.payroll-calendar-form{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin-top:.8rem}.payroll-calendar-form label{display:grid;gap:.3rem;min-width:180px;color:#8fa8d2;font-size:.8rem}.payroll-calendar-form input{padding:.6rem .7rem;border:1px solid #26334d;border-radius:8px;background:#0b1426;color:#edf3ff}.payroll-holiday-list{display:grid;gap:.35rem;max-height:220px;overflow:auto}.payroll-holiday-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;border:1px solid #26334d;border-radius:8px}.payroll-calendar-panel small{display:block;color:#ffcf8b;margin-top:.45rem}.attendance-warning{margin:.75rem 0;padding:.7rem .85rem;border:1px solid #8a5930;border-radius:9px;background:#3b2b1d;color:#ffcf8b}.attendance-warning ul{margin:.4rem 0 0;padding-left:1.25rem}.attendance-warning li{margin:.15rem 0}.payroll-calendar-panel[hidden]{display:none}@media(max-width:650px){.payroll-calendar-form{align-items:stretch;flex-direction:column}.payroll-calendar-form label{width:100%}}

.payroll-audit-panel{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #26334d;border-radius:12px;background:#101b30}.payroll-audit-panel>summary{cursor:pointer;color:#72e0c1;font-weight:700}.payroll-audit-list{display:grid;gap:.4rem;margin-top:.7rem}.payroll-audit-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border:1px solid #26334d;border-radius:8px}.payroll-audit-row small{display:block;color:#8fa8d2;margin-top:.2rem}
