:root{
 --primary:#17365d; --blue:#2f75b5; --bg:#f5f7fb; --line:#dbe3ef; --text:#172033;
 --green:#167c3b; --greenbg:#e9f8ef; --yellow:#8a6200; --yellowbg:#fff7d6;
}
*{box-sizing:border-box}
body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{background:var(--primary);color:white;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar strong{font-size:22px}.topbar span{opacity:.8;margin-right:8px}
.topbar nav{display:flex;gap:16px;align-items:center}.topbar a,.linkbtn{color:white;text-decoration:none;background:none;border:0;cursor:pointer;font:inherit}
.container{max-width:1200px;margin:28px auto;padding:0 20px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}
.card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;margin:16px 0;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.metric span{display:block;color:#667085}.metric b{font-size:32px;color:var(--primary)}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-block;border:1px solid var(--blue);background:white;color:var(--blue);padding:10px 16px;border-radius:9px;text-decoration:none;cursor:pointer;font:inherit}
.btn.primary{background:var(--blue);color:white}
input,select,textarea{width:100%;max-width:560px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;margin:6px 0 12px;background:white}
label{font-weight:bold;display:block}
table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:right}
th{background:#f8fafc}
.steps{background:#edf3fa;border:1px solid #cfdeef;padding:14px;border-radius:10px}
.result{padding:16px;border-radius:10px;margin-top:16px}.found{background:var(--greenbg);color:var(--green)}.new{background:var(--yellowbg);color:var(--yellow)}
.narrow{max-width:780px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.muted{color:#667085}
.alert{padding:12px 16px;border-radius:8px;background:#eef3f8;margin-bottom:12px}.alert.success{background:#e9f8ef}.alert.error{background:#fdecec}
.inline{display:inline}.searchbar{display:flex;gap:10px;align-items:center}.searchbar input{margin:0}
.login-page{display:grid;place-items:center;min-height:100vh}.login-card{background:white;padding:32px;border-radius:16px;border:1px solid var(--line);width:min(420px,92vw)}
@media(max-width:800px){.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}

.pagehead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.statrow{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.filters label{min-width:200px}
.big{padding:14px 28px;font-weight:bold;font-size:16px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}

.metric.danger b,.money-due{color:#b42318}
.alert.warning{background:#fff4ce;color:#7a5200}
.alert.error{background:#fdecec;color:#9b1c1c}
.alert.success{background:#e9f8ef;color:#116b34}
.danger-check{background:#fff0f0;border:1px solid #efb4b4;padding:12px;border-radius:8px;margin:12px 0}
.danger-check input{width:auto;margin-left:8px}

/* v1.4 colorful dashboard */
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.kpi{border-radius:18px;padding:20px;color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.08);min-height:118px}
.kpi span{display:block;opacity:.9;margin-bottom:12px}.kpi strong{display:inline-block;font-size:30px;margin-left:6px}.kpi small{opacity:.85}
.kpi-blue{background:linear-gradient(135deg,#2F75B5,#5B9BD5)}
.kpi-purple{background:linear-gradient(135deg,#7030A0,#A64D79)}
.kpi-green{background:linear-gradient(135deg,#548235,#70AD47)}
.kpi-red{background:linear-gradient(135deg,#C00000,#E74C3C)}
.kpi-orange{background:linear-gradient(135deg,#C65911,#ED7D31)}
.kpi-teal{background:linear-gradient(135deg,#008C95,#00A6A6)}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.chart-card{min-height:320px}.chart-title{display:flex;align-items:center;justify-content:space-between}.chart-title span{font-size:24px;font-weight:bold;color:#17365d}
.donut{--pct:0;width:190px;height:190px;border-radius:50%;margin:20px auto;background:conic-gradient(#70AD47 calc(var(--pct)*1%),#E5E7EB 0);display:grid;place-items:center}
.donut:before{content:"";width:128px;height:128px;background:#fff;border-radius:50%;grid-area:1/1}.donut>div{grid-area:1/1;z-index:1;text-align:center}.donut strong{display:block;font-size:30px}.donut small{color:#667085}
.legend-row{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.dot{display:inline-block;width:10px;height:10px;border-radius:50%}.dot.green{background:#70AD47}.dot.red{background:#E74C3C}
.bar-row{margin:15px 0}.bar-label{display:flex;justify-content:space-between;font-size:13px}.bar-track{height:12px;background:#edf1f5;border-radius:20px;overflow:hidden;margin:6px 0}.bar-fill{height:100%;border-radius:20px;min-width:2px}.bar-sub{font-size:11px;color:#667085}
.quality-item{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.quality-item strong{font-size:23px}.attention-card{background:linear-gradient(180deg,#fff,#fff8ea)}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-card{display:block;padding:20px;border-radius:16px;text-decoration:none;color:#172033;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.05);border-top:5px solid #2F75B5;transition:.15s}
.report-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.09)}.report-card b{display:block;font-size:17px;margin-bottom:7px}.report-card span{color:#667085;font-size:13px}
.rc-blue{border-top-color:#2F75B5}.rc-red{border-top-color:#C00000}.rc-green{border-top-color:#70AD47}.rc-purple{border-top-color:#7030A0}.rc-orange{border-top-color:#ED7D31}.rc-teal{border-top-color:#00A6A6}
.excel-btn{background:#217346!important;color:#fff!important;border-color:#217346!important}.pdf-btn{background:#C00000!important;color:#fff!important;border-color:#C00000!important}
.report-table-wrap{overflow:auto}.report-table-wrap table{min-width:900px}
@media(max-width:900px){.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.kpi-grid,.report-grid{grid-template-columns:1fr}}

/* v1.5 cashier + report designer */
.cashier-search-row{display:grid;grid-template-columns:180px 1fr 120px;gap:10px}.cashier-search-row input{font-size:16px}
.cashier-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.snapshot-grid>div{padding:18px;border-radius:14px;background:#f4f7fb}.snapshot-grid span{display:block;color:#667085}.snapshot-grid strong{font-size:26px}
.snapshot-grid .due{background:#fff0f0;color:#b42318}.big-action{width:100%;padding:14px;font-size:16px}
.designer{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.designer-panel label{display:block;margin:10px 0}.field-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.receipt{max-width:720px;margin:20px auto}.receipt h1,.receipt h2{text-align:center}.receipt-no{text-align:center;margin:15px;font-size:18px}.receipt-note{text-align:center;color:#667085}
@media print{nav,.no-print,.messages{display:none!important}.receipt{box-shadow:none;border:0}.wrap{max-width:none;margin:0;padding:0}}
@media(max-width:800px){.cashier-layout,.designer{grid-template-columns:1fr}.cashier-search-row{grid-template-columns:1fr}.field-checks{grid-template-columns:1fr}}

/* v1.5.2 cashier state logic */
.cashier-status{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;margin:14px 0;border-radius:12px;border:1px solid #ddd}
.cashier-status.student_missing{background:#fff0f0;border-color:#f3b5b5;color:#8f1d1d}
.cashier-status.enrollment_missing{background:#fff8e6;border-color:#efd18a;color:#76520a}
.cashier-status.finance_missing{background:#eef6ff;border-color:#9dc7ef;color:#174f7d}
.cashier-status.no_financial_results{background:#f7f7f7;color:#555}
.status-meta{font-size:13px;margin-top:5px;opacity:.8}
.status-badge{white-space:nowrap;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid currentColor;font-weight:700}

/* v1.7 academic registration */
.ok-badge,.muted-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}
.ok-badge{background:#e9f8ef;color:#116b34}.muted-badge{background:#f1f3f5;color:#667085}
.status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.inactive-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#fdecec;color:#9b1c1c;font-size:12px;font-weight:700}
.danger-btn{background:#b42318!important;color:#fff!important;border-color:#b42318!important}

/* ARWEQA ERP v2.1 Attendance & Payroll */
.hr-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.module-card{display:block;text-decoration:none;color:#172033;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 16px rgba(0,0,0,.05);border-top:5px solid #2F75B5}
.module-card b{display:block;font-size:16px;margin-bottom:7px}.module-card span{font-size:12px;color:#667085;line-height:1.6}
.module-card:hover{transform:translateY(-2px)}
.attendance-table input,.attendance-table select{min-width:105px}.attendance-table .small-input{min-width:75px;width:80px}
.payroll-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.payroll-actions form{display:flex;gap:8px;align-items:center}
.payroll-slip{max-width:1100px}.payroll-slip table{margin-bottom:20px}
@media(max-width:1100px){.hr-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.hr-module-grid{grid-template-columns:1fr}}

/* v2.1.1 schedule-entry fix */
.schedule-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 18px}
.schedule-summary>div{background:#f7f9fc;border:1px solid #e3e8ef;border-radius:12px;padding:12px;text-align:center}
.schedule-summary span{display:block;font-size:12px;color:#667085;margin-bottom:5px}
.schedule-summary strong{font-size:20px;color:#17365d}
.day-off-cell{background:#f5f5f5}
.day-off-cell input:disabled{background:#eeeeee;color:#999}
@media(max-width:800px){.schedule-summary{grid-template-columns:1fr 1fr}}

/* ARWEQA ERP v2.2 Professional Brand System */
:root{--ar-navy:#082b50;--ar-navy2:#061f3b;--ar-blue:#0875cf;--ar-green:#19a65a;--ar-yellow:#f7bd18;--ar-ink:#13233a;--ar-soft:#f5f8fc;--ar-border:#e1e8f0}
.erp-body{background:var(--ar-soft);min-height:100vh}
.erp-sidebar{position:fixed;right:0;top:0;bottom:0;width:270px;background:linear-gradient(180deg,var(--ar-navy),var(--ar-navy2));color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:1000;box-shadow:-8px 0 30px rgba(8,43,80,.12);overflow:auto}
.brand-box{display:flex;align-items:center;gap:12px;padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-box img{width:70px;height:70px;object-fit:cover;border-radius:12px;background:#fff}.brand-box strong{display:block;font-size:27px}.brand-box span{font-size:12px;opacity:.78}
.side-home,.side-links a{display:block;color:#dfeaf6;text-decoration:none;border-radius:10px}.side-home{margin:18px 0 8px;padding:13px 14px;background:linear-gradient(90deg,#0b68b7,#0875cf);font-weight:700}
.side-group{border-bottom:1px solid rgba(255,255,255,.08);padding:4px 0}.side-group summary{cursor:pointer;list-style:none;padding:12px 10px;font-weight:700;color:#fff}.side-group summary::-webkit-details-marker{display:none}
.side-links{padding:0 14px 8px}.side-links a{padding:8px 12px;font-size:13px;border-right:2px solid transparent}.side-links a:hover{background:rgba(255,255,255,.08);border-right-color:var(--ar-yellow);color:#fff}
.sidebar-spacer{flex:1}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding:14px 8px 2px;font-size:11px;color:#9fb4ca}.sidebar-footer button{width:100%;margin-top:10px;padding:9px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;border-radius:8px;cursor:pointer}
.erp-shell{margin-right:270px;min-height:100vh;display:flex;flex-direction:column}.erp-topbar{height:74px;background:#fff;border-bottom:1px solid var(--ar-border);display:flex;align-items:center;gap:20px;padding:0 28px;position:sticky;top:0;z-index:900}
.menu-toggle{border:0;background:transparent;font-size:25px;color:var(--ar-navy);cursor:pointer}.top-search{border:1px solid var(--ar-border);border-radius:10px;padding:11px 15px;color:#7a8798;min-width:280px}.top-meta{margin-right:auto;display:flex;gap:14px;align-items:center;font-size:12px}.top-meta>span{padding:9px 12px;border:1px solid var(--ar-border);border-radius:9px}.top-meta b{color:var(--ar-blue)}.user-chip{background:#f4f8fc}
.erp-content{max-width:none;width:100%;padding:28px 32px;flex:1}.erp-footer{display:flex;justify-content:space-between;gap:20px;padding:15px 32px;background:#fff;border-top:1px solid var(--ar-border);font-size:11px;color:#718096}.sync-ok{color:var(--ar-green)}
.executive-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.executive-head h1{font-size:30px;margin:4px 0;color:var(--ar-ink)}.executive-head p{margin:0;color:#6b7789}.eyebrow{font-size:11px;letter-spacing:1.4px;color:var(--ar-blue);font-weight:700}.year-card{background:#fff;border:1px solid var(--ar-border);border-radius:14px;padding:13px 18px;min-width:180px}.year-card span{display:block;color:#788599;font-size:11px}.year-card strong{color:var(--ar-blue);font-size:18px}
.executive-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.exec-kpi{text-decoration:none;background:#fff;border:1px solid var(--ar-border);border-radius:15px;padding:18px;box-shadow:0 5px 18px rgba(15,38,68,.04);border-top:4px solid var(--ar-blue)}.exec-kpi span,.exec-kpi small{display:block;color:#6d798b}.exec-kpi strong{display:block;font-size:30px;color:var(--ar-ink);margin:7px 0}.exec-kpi.green{border-top-color:var(--ar-green)}.exec-kpi.teal{border-top-color:#0ba7a0}.exec-kpi.amber{border-top-color:var(--ar-yellow)}
.module-hub{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.hub-card{position:relative;display:flex;gap:18px;background:#fff;border:1px solid var(--ar-border);border-radius:17px;padding:22px;text-decoration:none;color:var(--ar-ink);box-shadow:0 6px 20px rgba(15,38,68,.045);transition:.18s;border-right:5px solid var(--ar-blue)}.hub-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,38,68,.09)}.hub-card.finance{border-right-color:var(--ar-green)}.hub-card.hr{border-right-color:#0ba7a0}.hub-card.payroll{border-right-color:var(--ar-yellow)}.hub-card.reports{border-right-color:#5674b9}.hub-card.future{border-right-color:#9aa6b2;background:#fafbfc}.hub-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:#eef6ff;font-size:24px;flex:0 0 auto}.hub-card h2{margin:0 0 6px;font-size:18px}.hub-card p{margin:0 0 14px;color:#6e7a8c;font-size:13px;line-height:1.7}.hub-stats{display:flex;gap:8px;flex-wrap:wrap}.hub-stats span,.coming-soon{background:#f2f6fa;border-radius:999px;padding:5px 9px;font-size:11px;color:#526175}.coming-soon{display:inline-block;color:#7d6a12;background:#fff6cf}
.dashboard-bottom{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;margin-top:2px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:17px}.section-title a{font-size:12px;color:var(--ar-blue);text-decoration:none}.progress-row{margin:13px 0}.progress-row>div:first-child{display:flex;justify-content:space-between;font-size:12px}.progress-track{height:8px;background:#edf2f7;border-radius:99px;overflow:hidden;margin-top:6px}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--ar-green),var(--ar-blue));border-radius:99px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{text-decoration:none;color:var(--ar-navy);background:#f6f9fc;border:1px solid var(--ar-border);border-radius:10px;padding:12px;text-align:center;font-size:12px}.quick-grid a:hover{border-color:var(--ar-blue);background:#eef6ff}
body.sidebar-collapsed .erp-sidebar{transform:translateX(100%)}body.sidebar-collapsed .erp-shell{margin-right:0}
@media(max-width:1100px){.executive-kpis{grid-template-columns:1fr 1fr}.module-hub{grid-template-columns:1fr}.dashboard-bottom{grid-template-columns:1fr}}
@media(max-width:800px){.erp-sidebar{transform:translateX(100%)}.erp-shell{margin-right:0}.sidebar-collapsed .erp-sidebar{transform:translateX(0)}.top-search{display:none}.top-meta>span:first-child{display:none}.erp-content{padding:20px 14px}.executive-kpis{grid-template-columns:1fr 1fr}.erp-footer{flex-direction:column}.executive-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.executive-kpis{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}}

/* v2.2.1 UI reliability fixes */
.brand-box{min-height:78px;box-sizing:border-box}
.brand-box img{
  width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;
  object-fit:cover!important;object-position:center 23%;display:block!important;flex:0 0 64px;
  border:2px solid rgba(255,255,255,.16);
}
.erp-sidebar img{max-width:100%}
.erp-content img{max-width:100%;height:auto}

/* ARWEQA v2.3 Smart Documents */
.smart-register-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#f7f8fb,#eef2f7);border:1px solid #dde3eb;border-radius:16px;padding:16px 18px;margin-bottom:18px}.smart-register-banner b,.smart-register-banner span{display:block}.smart-register-banner span{color:#697586;font-size:12px;margin-top:4px}
.doc-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.doc-drop{min-height:160px;border:1.5px dashed #aeb8c7;border-radius:16px;background:#fafbfc;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:10px;text-align:center}.doc-drop b{font-size:16px}.doc-drop span{font-size:12px;color:#7a8596}.doc-drop input{margin-top:8px}.smart-process{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #e3e8ef}.smart-process p{margin:5px 0 0;color:#6d7888;font-size:12px}
.completion-card{background:#fff;border:1px solid #e0e5ec;border-radius:15px;padding:16px 18px;margin:0 0 18px}.completion-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.completion-card strong{font-size:24px}.completion-bar{height:9px;background:#edf0f4;border-radius:99px;overflow:hidden;margin:10px 0}.completion-bar i{height:100%;display:block;background:#394b63;border-radius:99px}.completion-card small{color:#707b8c}
.review-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:18px}.document-links{display:grid;gap:8px}.document-links a{display:block;padding:12px;border:1px solid #dfe5ed;border-radius:10px;text-decoration:none;color:#24364c;background:#f8fafc}.extraction-box pre{white-space:pre-wrap;word-break:break-word;background:#f6f7f9;border-radius:9px;padding:10px;font-family:inherit;font-size:11px;direction:ltr;text-align:left}.span2{grid-column:1/-1}
@media(max-width:900px){.doc-upload-grid,.review-layout{grid-template-columns:1fr}.smart-process{flex-direction:column;align-items:stretch}}
/* v2.4 refined neutral professional UI */
:root{--ink:#17202b;--muted:#6b7280;--paper:#f4f3ef;--panel:#fff;--nav:#20242b;--line:#e5e2da;--accent:#8b6f47}
.erp-body{background:var(--paper)!important;color:var(--ink)!important}.erp-sidebar{background:var(--nav)!important;width:252px!important}.erp-shell{margin-right:252px!important}.brand-box{border-bottom:1px solid rgba(255,255,255,.1)!important}.brand-box img{background:#fff!important}.side-home,.side-group summary{border-radius:8px!important;margin:4px 10px!important}.side-home{background:#343a43!important}.side-links a{color:#d9dde3!important;border-radius:7px!important}.side-links a:hover{background:#343a43!important;color:#fff!important}.erp-topbar{box-shadow:none!important;border-color:var(--line)!important}.erp-content{max-width:1500px;margin:auto}.executive-head h1{font-size:30px!important}.executive-kpis{gap:14px!important}.exec-kpi,.hub-card,.card,.year-card{border:1px solid var(--line)!important;box-shadow:0 3px 14px rgba(20,25,30,.045)!important;border-radius:14px!important}.exec-kpi{border-top:3px solid #b9a98d!important}.hub-card{min-height:118px!important;border-right:3px solid #b9a98d!important}.hub-icon{background:#f2efe8!important;color:#514839!important}.module-hub{gap:16px!important}.eyebrow{color:#75664f!important;letter-spacing:1.5px}.erp-footer{border-color:var(--line)!important}

/* v2.6 Excel Data Completion */
.excel-import-info{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.excel-import-info>div,.import-summary-grid>div{background:#fff;border:1px solid #e3e8ef;border-radius:13px;padding:15px}
.excel-import-info b,.excel-import-info span{display:block}.excel-import-info span{font-size:12px;color:#6c7889;margin-top:5px}
.import-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.import-summary-grid span{display:block;color:#667085;font-size:12px}.import-summary-grid strong{font-size:27px}
.import-legend{border-right:4px solid #51677e}.import-preview-table{font-size:12px}.import-preview-table td{vertical-align:top}
.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef2f6}.status-matched{background:#e8f5e9;color:#17652b}.status-new{background:#e8f1fb;color:#164f83}.status-conflict,.status-ambiguous{background:#fff3e0;color:#a54a00}.status-error,.status-not_found{background:#ffebee;color:#9c1f2e}
.row-conflict{background:#fffdf8}.mini-change,.mini-conflict{display:grid;grid-template-columns:140px 1fr;gap:7px;padding:4px 0;border-bottom:1px dashed #e7ebef}.mini-change span{color:#17652b}.mini-conflict span{color:#9c1f2e}
.apply-bar{display:flex;align-items:center;gap:14px;position:sticky;bottom:0;background:#fff;padding:12px 16px;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 -5px 18px rgba(0,0,0,.05)}.apply-bar span{font-size:12px;color:#667085}
@media(max-width:900px){.excel-import-info,.import-summary-grid{grid-template-columns:1fr 1fr}}

/* v2.7.1 Import persistence feedback */
.mini-profile-link{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;text-decoration:none}
.apply-note{margin-top:5px;font-size:10px;color:#667085;max-width:190px;line-height:1.5}

/* v2.8 Student Daily Absence */
.attendance-class-head{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin:16px 0}
.attendance-class-head>div{background:#fff;border:1px solid #e2e7ed;border-radius:13px;padding:14px}
.attendance-class-head span{display:block;font-size:11px;color:#758194;margin-bottom:5px}
.attendance-class-head strong{font-size:16px}
.student-attendance-table .attendance-check{text-align:center}
.student-attendance-table .absence-check{width:22px;height:22px;accent-color:#b63c4b}
.student-absent-row{background:#fff2f3!important}
.absence-badge,.present-badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700}
.absence-badge{background:#ffe2e5;color:#9d2737}.present-badge{background:#e8f5ee;color:#246f48}
.attendance-save-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:15px;background:#fff;border:1px solid #e2e7ed;border-radius:13px;padding:14px 16px;box-shadow:0 -5px 18px rgba(0,0,0,.05);margin:12px 0 20px}
.attendance-save-bar label{flex:1}.attendance-save-bar input{width:100%}
@media(max-width:900px){.attendance-class-head{grid-template-columns:1fr 1fr}.attendance-save-bar{align-items:stretch;flex-direction:column}}

/* v2.9 Module dashboards + payroll control */
.module-dashboard-link{font-weight:700!important;background:rgba(255,255,255,.07);border-right-color:#c7d2df!important}
.payroll-row-actions{min-width:260px}.inline-adjustment{display:inline-block;position:relative}.inline-adjustment summary{list-style:none;cursor:pointer}.inline-adjustment form{position:absolute;z-index:20;left:0;top:38px;width:300px;background:#fff;padding:12px;border:1px solid #dce3ea;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);display:grid;gap:8px}.inline-adjustment input,.inline-adjustment select{width:100%}
.adjust-edit{margin-top:6px}.adjust-edit summary{cursor:pointer;font-size:11px;color:#52677e}.adjust-edit form{display:grid;gap:5px;margin-top:6px}.adjust-edit input{width:100%}.payroll-final-box{max-width:700px;margin-right:auto;margin-left:auto}.net-row{font-size:18px}.payroll-kpis{grid-template-columns:repeat(4,1fr)}
@media print{.erp-sidebar,.erp-topbar,.erp-footer,.no-print{display:none!important}.erp-shell{margin:0!important}.erp-content{padding:0!important}.card{box-shadow:none!important}}

/* v3.0 Employee children payroll collection */
.employee-child-explain{border-right:4px solid #7b8794}
.inline-facts{display:flex;gap:12px;flex-wrap:wrap}.inline-facts span{background:#f3f6f8;border-radius:999px;padding:7px 11px;font-size:12px}
.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form label{min-width:190px}
.child-finance-card{border-right:4px solid #637487}.child-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.child-card-head h2{margin-bottom:3px}.child-card-head p{margin:0;color:#6d7885}.child-card-actions{display:flex;gap:8px;align-items:center}.child-card-actions form{margin:0}
.child-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.child-finance-summary>div{background:#f7f9fb;border:1px solid #e3e8ed;border-radius:12px;padding:12px}.child-finance-summary span{display:block;font-size:11px;color:#6f7b89}.child-finance-summary strong{display:block;font-size:20px;margin-top:5px}
.deduction-builder summary{list-style:none;cursor:pointer;display:inline-block}.deduction-builder form{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f8fafb;border:1px solid #e2e7eb;border-radius:12px;padding:15px}.deduction-builder label{display:block}.deduction-builder input,.deduction-builder select{width:100%}.student-charge-option{display:flex!important;gap:8px;align-items:center}.student-charge-option input{width:auto!important}.form-hint{grid-column:1/-1;color:#66727f;font-size:11px;margin:0}.deduction-builder button{align-self:end}
.side-subnote{display:block;padding:3px 12px 7px;color:#9fb0c0;font-size:10px}
@media(max-width:900px){.deduction-builder form{grid-template-columns:1fr 1fr}.child-finance-summary{grid-template-columns:1fr}.child-card-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.deduction-builder form{grid-template-columns:1fr}}

/* v3.1 Employee Children Professional Center */
.important-side-link{font-weight:800!important;border-right-color:#d2a84a!important;background:rgba(210,168,74,.10)!important}
.highlight-module{border-top:3px solid #8d7350!important}
.page-actions,.section-title-actions,.child-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-actions form,.section-title-actions form{margin:0}
.attention-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.attention-card{background:#fff8e8;border:1px solid #f0dfb4;border-radius:13px;padding:14px}.attention-card span,.attention-card small{display:block}.attention-card strong{display:block;font-size:26px;margin:5px 0}.attention-card small{color:#7b6947}
.table-sub{display:block;color:#7a8693;margin-top:3px}.professional-note{border-right:4px solid #637487}
.employee-family-summary{border-right:4px solid #8d7350}.child-mini-kpis{display:flex;gap:12px;margin:12px 0}.child-mini-kpis>div{background:#f5f7f9;border:1px solid #e3e8ed;border-radius:11px;padding:10px 14px;min-width:150px}.child-mini-kpis span{display:block;font-size:11px;color:#6e7a87}.child-mini-kpis strong{font-size:22px}
@media(max-width:800px){.attention-grid{grid-template-columns:1fr}}

/* ============================================================
   ARWEQA Analytics Design System v3.2
   ============================================================ */
.analytics-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:4px 0 22px}.analytics-head h1{font-size:30px;margin:4px 0 5px;color:#0f172a;letter-spacing:-.4px}.analytics-head p{margin:0;color:#64748b}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.7px;color:#2563eb}.updated{background:#fff;border:1px solid #e6ebf0;border-radius:13px;padding:10px 14px;font-size:11px;color:#64748b;box-shadow:0 4px 18px rgba(15,23,42,.04)}.updated b{color:#0f172a;font-size:12px}
.bi-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.bi-kpis.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.bi-kpi{position:relative;background:linear-gradient(145deg,#fff,#fbfcfe);border:1px solid #e6ebf0;border-radius:16px;padding:17px 18px;min-height:116px;overflow:hidden;box-shadow:0 7px 24px rgba(15,23,42,.055)}.bi-kpi:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--accent)}.bi-kpi:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;left:-28px;top:-28px;background:var(--soft)}
.bi-kpi span{display:block;color:#64748b;font-size:12px;font-weight:700}.bi-kpi strong{display:block;font-size:30px;line-height:1.15;color:#0f172a;margin:8px 0 4px;font-variant-numeric:tabular-nums}.bi-kpi small{color:#94a3b8}.bi-kpi.blue{--accent:#2563eb;--soft:#dbeafe}.bi-kpi.teal{--accent:#0f9f8f;--soft:#ccfbf1}.bi-kpi.violet{--accent:#7c3aed;--soft:#ede9fe}.bi-kpi.amber{--accent:#d97706;--soft:#fef3c7}.bi-kpi.red{--accent:#dc2626;--soft:#fee2e2}.bi-kpi.navy{--accent:#334155;--soft:#e2e8f0}
.insight-strip{display:flex;gap:18px;align-items:center;background:linear-gradient(90deg,#0f172a,#1e293b);color:#e2e8f0;border-radius:14px;padding:13px 17px;margin-bottom:16px;box-shadow:0 8px 25px rgba(15,23,42,.13)}.insight-strip b{color:#fff}.insight-strip span{font-size:12px}
.bi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bi-card{background:#fff;border:1px solid #e6ebf0;border-radius:17px;padding:17px 18px;min-height:330px;box-shadow:0 7px 24px rgba(15,23,42,.045)}.bi-card.wide{min-height:350px}.bi-card canvas{width:100%!important;height:270px!important}.chart-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.chart-title h2{font-size:15px;margin:0;color:#172033}.chart-title span,.chart-title a{font-size:11px;color:#7b8794}.chart-title a{color:#2563eb;font-weight:700}
.action-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-stack a,.report-launcher a{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid #e4e9ef;border-radius:12px;background:#f8fafc;color:#253247;font-weight:800;text-decoration:none;transition:.18s}.action-stack a:hover,.report-launcher a:hover{transform:translateY(-2px);background:#fff;border-color:#b9c7d6;box-shadow:0 8px 18px rgba(15,23,42,.07)}
.payroll-focus{height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at top,#eff6ff,#fff 64%);border-radius:14px}.payroll-focus strong{font-size:40px;color:#0f172a}.payroll-focus span{font-weight:800;color:#64748b;margin:4px 0 16px}.payroll-focus a{color:#2563eb;font-weight:800}
.report-launcher{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.report-launcher a{background:#fff;min-height:70px}
@media(max-width:1250px){.bi-kpis.six{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.bi-kpis,.bi-kpis.six{grid-template-columns:repeat(2,1fr)}.bi-grid{grid-template-columns:1fr}.report-launcher{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.analytics-head{align-items:flex-start;flex-direction:column}.bi-kpis,.bi-kpis.six{grid-template-columns:1fr}.report-launcher{grid-template-columns:1fr}.bi-card{min-height:300px}}
