:root{--primary:#2563eb;--primary2:#06b6d4;--dark:#0f172a;--muted:#64748b;--bg:#f3f7fb;--card:#ffffff;--line:#e5e7eb;--green:#16a34a;--red:#dc2626;--yellow:#ca8a04}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:#0f172a}a{text-decoration:none;color:inherit}.login-bg{min-height:100vh;background:radial-gradient(circle at top left,#38bdf8 0,#2563eb 35%,#0f172a 75%);display:grid;place-items:center;padding:28px}.login-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}.login-hero{position:relative;overflow:hidden;color:#fff;padding:50px;border:1px solid #ffffff38;border-radius:30px;background:linear-gradient(135deg,#ffffff22,#ffffff08);box-shadow:0 25px 80px #00000035;backdrop-filter:blur(16px)}.login-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-150px;bottom:-170px;background:#67e8f955}.badge{display:inline-flex;padding:9px 14px;border-radius:999px;background:#ffffff24;border:1px solid #ffffff45;font-weight:800}.login-hero h1{font-size:58px;line-height:1;margin:26px 0 14px;letter-spacing:-2px}.login-hero p{font-size:18px;color:#dbeafe;max-width:620px;line-height:1.7}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;position:relative;z-index:1}.hero-grid div{background:#ffffff20;border:1px solid #ffffff30;border-radius:22px;padding:18px}.hero-grid b{display:block;font-size:28px}.hero-grid span{font-size:13px;color:#dbeafe}.login-card{background:#fff;border-radius:30px;padding:34px;box-shadow:0 25px 80px #00000038;align-self:center}.brand{font-size:26px;font-weight:900;margin-bottom:10px}.brand span{color:var(--primary)}.login-card p{color:var(--muted);line-height:1.5}.hint{font-size:12px}.input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:7px 0 15px;background:#fff;outline:none;font:inherit}.input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2563eb17}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:11px 16px;font-weight:800;cursor:pointer;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 12px 26px #2563eb35}.btn-secondary{background:#e2e8f0}.btn-danger{background:#ef4444;color:#fff}.alert{padding:12px 14px;border-radius:14px;margin:12px 0}.error{background:#fee2e2;color:#991b1b}.success{background:#dcfce7;color:#166534}.app{display:grid;grid-template-columns:290px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f172a,#172554);color:#fff;padding:20px;position:sticky;top:0;height:100vh;overflow:auto}.brand-mini{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-icon{width:45px;height:45px;border-radius:16px;background:linear-gradient(135deg,#38bdf8,#2563eb);display:grid;place-items:center;font-weight:900;box-shadow:0 12px 25px #0004}.brand-mini small,.userbox small{display:block;color:#bfdbfe;font-size:12px}.userbox{display:flex;gap:12px;align-items:center;background:#ffffff12;border:1px solid #ffffff18;border-radius:20px;padding:12px;margin:18px 0}.avatar{width:42px;height:42px;border-radius:14px;background:#ffffff20;display:grid;place-items:center;font-weight:900}nav{display:grid;gap:7px}nav a{padding:12px 13px;border-radius:14px;color:#dbeafe;font-weight:700;font-size:14px}nav a:hover,nav a.active{background:#ffffff18;color:#fff}.content{padding:24px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#ffffffcc;backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:24px;padding:18px 22px;box-shadow:0 12px 28px #0f172a0c;margin-bottom:22px}.pill{background:#e0f2fe;color:#075985;padding:9px 14px;border-radius:999px;font-weight:800;font-size:13px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 12px 28px #0f172a0c}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-35px;top:-35px;width:110px;height:110px;border-radius:50%;background:#38bdf830}.stat small{color:var(--muted);font-weight:800}.stat h2{font-size:30px;margin:8px 0 0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}.page-title h1{margin:0;font-size:25px}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:#334155;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.badge-status{padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px}.lunas{background:#dcfce7;color:#166534}.belum,.ditolak{background:#fee2e2;color:#991b1b}.proses,.draft{background:#fef3c7;color:#92400e}.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filterbar>*{width:auto;min-width:180px}.print-header{display:none}@media print{.sidebar,.topbar,.filterbar,.btn,.no-print{display:none!important}.app{display:block}.content{padding:0}.card{box-shadow:none;border:0}.print-header{display:block;text-align:center;margin-bottom:18px}body{background:#fff}}@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-hero h1{font-size:42px}.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid-4,.grid-3{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}
.kpi h3{margin:0;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:28px;font-weight:900;margin-top:8px;color:#0f172a}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;right:-30px;top:-30px;width:105px;height:105px;border-radius:50%;background:linear-gradient(135deg,#38bdf833,#2563eb22)}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.form-grid .input{margin:0}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.report-summary div{border:1px solid var(--line);border-radius:16px;padding:13px;background:#f8fafc}.report-summary b{display:block;color:#64748b;font-size:12px;text-transform:uppercase}.report-summary span{display:block;font-weight:900;font-size:18px;margin-top:5px}.ttd-print{display:none}.print-sheet{background:#fff}.print-table th,.print-table td{font-size:12px;padding:9px 10px}.print-table tfoot th{background:#eaf2ff!important;font-weight:900}@media(max-width:980px){.form-grid{grid-template-columns:1fr}.report-summary{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:10mm}.print-sheet{padding:0!important;border:0!important;border-radius:0!important}.print-header h2{margin:0;font-size:18pt;letter-spacing:.02em}.print-header h3{margin:8px 0 4px;font-size:14pt}.print-header p{margin:3px 0;font-size:10pt}.report-summary{grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.report-summary div{border:1px solid #222;border-radius:0;background:#fff;padding:6px}.report-summary b{font-size:8pt;color:#111}.report-summary span{font-size:10pt}.table-wrap{overflow:visible;border:0}.print-table{border-collapse:collapse;width:100%;font-size:9pt}.print-table th,.print-table td{border:1px solid #111!important;padding:5px 6px!important;color:#000}.print-table th{background:#e5e7eb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ttd-print{display:flex;justify-content:space-between;margin-top:24px;font-size:10pt;text-align:center}.content{padding:0!important}.card{padding:0!important}.no-print{display:none!important}}

.btn-success{background:#22c55e;color:#fff}.badge.green,.badge-status.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef3c7;color:#92400e}
.source-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;white-space:nowrap}.source-bos{background:#dbeafe;color:#1e40af}.source-ipp{background:#fef3c7;color:#92400e}.btn-soft{background:#f1f5f9;color:#0f172a}.badge-status.selesai,.badge-status.disetujui{background:#dcfce7;color:#166534}.badge-status.dicairkan{background:#dbeafe;color:#1e40af}.badge-status.ditolak{background:#fee2e2;color:#991b1b}
.nav-title{margin:13px 8px 5px;color:#93c5fd;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.progress{height:11px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(135deg,var(--primary),var(--primary2));border-radius:999px}.mini-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-menu a{display:block;border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;font-weight:900;box-shadow:0 8px 20px #0f172a0a}.muted{color:var(--muted)}@media(max-width:980px){.mini-menu{grid-template-columns:1fr}}

/* Final professional CRUD, modal, filter, and print styling */
.actionbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:14px}.actionbar .left,.actionbar .right{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn-sm{padding:8px 10px;border-radius:10px;font-size:12px}.btn-warning{background:#f59e0b;color:#fff}.btn-outline{background:#fff;border:1px solid var(--line);color:#0f172a}.modal{display:none;position:fixed;z-index:50;inset:0;background:#0f172acc;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}.modal-box{width:min(980px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;padding:22px;box-shadow:0 30px 90px #0006}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-head h3{margin:0}.close-modal{width:40px;height:40px;border:0;border-radius:14px;background:#f1f5f9;font-size:22px;cursor:pointer}.table-actions{display:flex;gap:7px;flex-wrap:wrap}.searchbox{position:relative}.searchbox input{padding-left:42px}.searchbox:before{content:'🔎';position:absolute;left:14px;top:17px}.status-chip{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}.status-aktif,.status-diterima,.status-lunas{background:#dcfce7;color:#166534}.status-nonaktif,.status-ditolak,.status-belum{background:#fee2e2;color:#991b1b}.status-pending,.status-sebagian{background:#fef3c7;color:#92400e}.required:after{content:' *';color:#dc2626}.print-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.print-meta div{border:1px solid var(--line);padding:9px;border-radius:12px;background:#f8fafc}.print-sign{display:none}.empty-state{text-align:center;padding:28px;color:var(--muted)}@media(max-width:720px){.actionbar{display:block}.actionbar .left,.actionbar .right{margin:8px 0}.modal-box{border-radius:18px;padding:16px}.table-actions .btn{width:100%}.print-meta{grid-template-columns:1fr}}@media print{.modal{display:none!important}.resmi h2{font-size:18pt;margin:0;text-transform:uppercase}.resmi h3{font-size:13pt;margin:8px 0 4px}.resmi p{font-size:10pt;margin:3px 0}.print-sign{display:flex;justify-content:space-between;text-align:center;margin-top:28px;font-size:10pt}.print-meta{grid-template-columns:repeat(3,1fr);gap:4px}.print-meta div{border:1px solid #111;border-radius:0;background:#fff;padding:5px}}

.avatar img{width:42px;height:42px;border-radius:50%;object-fit:cover;display:block}.avatar-lg{width:86px;height:86px;border-radius:22px;object-fit:cover;border:3px solid rgba(37,99,235,.18);background:#eef2ff}.security-box{border:1px solid #dbeafe;background:#eff6ff;border-radius:18px;padding:16px}.relasi-list li{margin:7px 0}.badge-soft{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:999px;padding:6px 10px;font-size:12px}.danger-zone{border:1px solid #fecaca;background:#fff1f2;border-radius:16px;padding:14px}.modal-box.wide{max-width:980px}.form-grid .full{grid-column:1/-1}.photo-cell{width:48px;height:48px;border-radius:14px;object-fit:cover;background:#e5e7eb}
.print-sign-3{gap:28px}.print-sign-3>div{flex:1}.inline-form{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:8px;align-items:end}@media(max-width:980px){.inline-form{grid-template-columns:1fr}}@media print{.print-sign-3{display:flex!important}.print-sign-3>div{width:33%}}


/* KOP resmi global untuk semua print out */
.kop-resmi{display:block;text-align:center;margin-bottom:18px;color:#000}.kop-inner{display:flex;align-items:center;justify-content:center;gap:16px}.kop-logo{width:78px;height:78px;object-fit:contain;flex:0 0 auto}.kop-text{flex:1;text-align:center}.kop-dinas{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.kop-dinas.kecil{font-size:12px;font-weight:700}.kop-resmi h2{margin:3px 0;font-size:23px;text-transform:uppercase;letter-spacing:.04em}.kop-resmi p{margin:2px 0;font-size:12px}.kop-line{border-top:3px solid #000;border-bottom:1px solid #000;height:5px;margin:8px 0 10px}.kop-sub{font-style:italic}.logo-preview{margin-top:8px;width:96px;height:96px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fff;padding:6px}.print-sheet .print-header{display:block}
@media print{.kop-logo{width:74px;height:74px}.kop-resmi{margin-bottom:10px}.kop-resmi h2{font-size:18pt}.kop-dinas{font-size:11pt}.kop-dinas.kecil{font-size:10pt}.kop-resmi p{font-size:9pt}.kop-line{border-top:3px solid #000;border-bottom:1px solid #000;height:5px}}
.modal-close{width:40px;height:40px;border:0;border-radius:14px;background:#f1f5f9;font-size:22px;cursor:pointer;line-height:1}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}.stat-card small{display:block;color:var(--muted);font-weight:700}.stat-card b{display:block;font-size:24px;margin-top:5px;color:#0f172a}.print-only{display:none}@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid-4{grid-template-columns:1fr}}@media print{.print-only{display:inline}.no-print,.modal,.modal.show{display:none!important}}
.kop-resmi-dua-logo{justify-content:space-between;gap:18px}.kop-side{width:100px;display:flex;align-items:center;justify-content:center;flex:0 0 100px}.kop-resmi-dua-logo .kop-text{max-width:850px}@media print{.kop-side{width:90px;flex-basis:90px}.kop-resmi-dua-logo{gap:12px}}
.print-only{display:none}@media print{.print-only{display:inline!important}}

/* Pembayaran wali kelas - input cepat */
.payment-entry-card{border:1px solid #e5edf7;background:linear-gradient(180deg,#fff,#f8fbff)}
.payment-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.input-cepat-filter{grid-template-columns:2fr 1fr 1fr 1fr auto}
.quick-pay-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.quick-pay-left h4,.quick-pay-right h4{margin:4px 0 12px;color:#0f172a}
.student-bill-list{display:grid;gap:12px;max-height:620px;overflow:auto;padding-right:4px}
.student-bill-card{border:1px solid #dbe7f3;border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.04);overflow:hidden}
.student-bill-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #eef3f8;background:#f8fbff}
.student-bill-head b{display:block;color:#0f172a;font-size:15px}
.student-bill-head small{display:block;color:#64748b;margin-top:4px;line-height:1.4}
.bill-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:14px}
.bill-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e5eaf2;border-radius:14px;cursor:pointer;background:#fff;transition:.15s}
.bill-check:hover{border-color:#2563eb;background:#f8fbff}
.bill-check input{margin-top:4px;transform:scale(1.15)}
.bill-check span{display:grid;gap:3px}
.bill-check b{font-size:13px;color:#0f172a}
.bill-check small{color:#64748b}
.bill-check strong{color:#059669;font-size:13px}
.summary-box{position:sticky;top:16px;border:1px solid #dbe7f3;border-radius:18px;background:#fff;padding:16px;box-shadow:0 18px 40px rgba(15,23,42,.08)}
.summary-box label{display:block;margin:12px 0 6px;font-weight:700;font-size:13px;color:#334155}
.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #dbe7f3}
.summary-row b{font-size:18px;color:#0f172a}
.btn-block{width:100%;margin-top:12px;justify-content:center}
.empty-state{padding:16px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b}
@media(max-width:1000px){.quick-pay-layout{grid-template-columns:1fr}.summary-box{position:static}.input-cepat-filter{grid-template-columns:1fr}}

/* ===== RABS Excel Style Profesional ===== */
.rab-excel-card .muted{color:#64748b;line-height:1.5}.rabs-header-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.rabs-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.rabs-sheet-wrap{border:1px solid #0b55ff;border-radius:10px;background:#fff;overflow:auto}.rabs-sheet{border-collapse:collapse;width:100%;min-width:1180px;background:#fff;font-family:"Times New Roman",serif}.rabs-sheet th,.rabs-sheet td{border:1px solid #1b1b1b;padding:0;vertical-align:middle}.rabs-sheet thead th{background:#8b8b8b;color:#000;text-align:center;font-weight:800;font-size:13px;padding:8px 6px}.rabs-sheet .rabs-title th{background:#fff;border:1px solid #0b55ff;font-size:16px;padding:10px;text-align:center}.rabs-sheet .cell{border:0;width:100%;min-height:38px;padding:9px 8px;background:transparent;font-family:inherit;font-size:14px;outline:none;box-sizing:border-box}.rabs-sheet textarea.cell{resize:vertical;line-height:1.25}.rabs-sheet .cell:focus{background:#fff8d8;box-shadow:inset 0 0 0 2px #2563eb}.rabs-sheet .num,.rabs-sheet .money{text-align:right}.rabs-sheet .no{text-align:center;font-weight:bold}.rabs-sheet td:nth-child(1){width:56px}.rabs-sheet td:nth-child(2){width:240px}.rabs-sheet td:nth-child(3){width:270px}.rabs-sheet td:nth-child(4){width:80px}.rabs-sheet td:nth-child(5){width:95px}.rabs-sheet td:nth-child(6){width:110px}.rabs-sheet td:nth-child(7),.rabs-sheet td:nth-child(8),.rabs-sheet td:nth-child(9){width:145px}.rabs-sheet td:nth-child(10){width:160px;position:relative}.mini-del{position:absolute;right:4px;top:4px;border:0;background:#fee2e2;color:#991b1b;border-radius:999px;width:22px;height:22px;font-weight:900;cursor:pointer}.mini-del:hover{background:#fecaca}.rabs-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:14px}.rabs-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px}.rabs-summary span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.rabs-summary b{font-size:20px}.rabs-summary .grand{background:linear-gradient(135deg,#0f766e,#22c55e);color:#fff}.rabs-summary .grand span{color:#dcfce7}.print-rabs-table th,.print-rabs-table td{padding:5px 6px;font-size:12px}.print-rabs-table .subtotal-row td{background:#00b050!important;color:#000!important;font-weight:bold}.rabs-doc-title{text-align:center;margin:12px 0;font-size:16px;text-transform:uppercase}.rabs-print-sheet{overflow:auto}
@media(max-width:768px){.rabs-header-grid{grid-template-columns:1fr}.rabs-toolbar .btn,.rabs-toolbar label{width:100%;justify-content:center}.rabs-summary{grid-template-columns:1fr}.rabs-sheet{min-width:1050px}.rabs-sheet-wrap{margin-left:-8px;margin-right:-8px;border-radius:0}.rab-excel-card{padding:14px!important}}
@media print{.rabs-sheet{min-width:0;width:100%;font-size:10px}.print-rabs-table th,.print-rabs-table td{font-size:10px;padding:3px}.rabs-sheet thead th{background:#8b8b8b!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.subtotal-row td{background:#00b050!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rabs-print-sheet{box-shadow:none;border:0}.page-title.no-print,.no-print{display:none!important}@page{size:A4 landscape;margin:8mm}}

/* ===== Anggaran Tahunan / Pagu Unit ===== */
.annual-card .muted{color:#64748b;line-height:1.55}.annual-header-grid{grid-template-columns:1.2fr .6fr 1.4fr}.annual-sheet-wrap{border:1px solid #1d4ed8;border-radius:14px;overflow:auto;background:#fff}.annual-sheet{min-width:980px;border-collapse:collapse;background:#fff}.annual-sheet th{background:#334155;color:#fff;text-align:center;border:1px solid #111827;padding:10px 8px}.annual-sheet td{border:1px solid #1f2937;padding:0}.annual-sheet .cell{border:0;width:100%;padding:10px 9px;margin:0;border-radius:0;background:#fff;outline:none}.annual-sheet .cell:focus{background:#fff7cc;box-shadow:inset 0 0 0 2px #2563eb}.annual-sheet .money{text-align:right;font-weight:800}.annual-no{text-align:center;font-weight:900;background:#f8fafc!important}.annual-summary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:14px}.annual-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:15px}.annual-summary span{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.annual-summary b{display:block;font-size:22px;margin-top:6px}.annual-summary .grand{background:linear-gradient(135deg,#0f766e,#22c55e);color:#fff}.annual-summary .grand span{color:#dcfce7}@media(max-width:780px){.annual-header-grid{grid-template-columns:1fr}.annual-summary{grid-template-columns:1fr}.annual-sheet{min-width:900px}.annual-sheet-wrap{margin-left:-8px;margin-right:-8px;border-radius:0}}@media print{.annual-sheet th{background:#334155!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.annual-summary .grand{background:#22c55e!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Update RABS: header Excel persis rowspan/colspan + Rupiah otomatis */
.rabs-merged-header thead th{border:1px solid #000!important;background:#8b8b8b!important;color:#000!important;text-transform:uppercase;line-height:1.12;white-space:normal}
.rabs-merged-header .rabs-title th{background:#fff!important;color:#000!important;border:1px solid #0b55ff!important;font-size:16px;letter-spacing:.02em}
.rabs-sheet .money{font-weight:700;min-width:118px;color:#0f172a}
.rabs-sheet .subtotal-row td,.rabs-sheet tfoot th{background:#00b050!important;color:#000!important;font-weight:900;text-transform:uppercase}
.print-rabs-table.rabs-merged-header th{font-size:11px;text-align:center}
.print-rabs-table.rabs-merged-header td{font-size:11px}
@media print{.rabs-merged-header thead th,.rabs-sheet .subtotal-row td,.rabs-sheet tfoot th{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }}
/* Update final RABS: format Kegiatan dan Pembelian Barang mengikuti Excel contoh */
.rabs-sheet.rabs-kind-kegiatan thead th{background:#7f7f7f!important;color:#000!important;border:1px solid #000!important;font-family:"Times New Roman",serif;font-weight:900;text-transform:uppercase}
.rabs-sheet.rabs-kind-barang thead th{background:#fff!important;color:#000!important;border:1px solid #000!important;font-family:"Times New Roman",serif;font-weight:900;text-transform:none}
.rabs-sheet.rabs-kind-kegiatan .rabs-title th,.rabs-sheet.rabs-kind-barang .rabs-title th{background:#fff!important;font-size:16px;font-weight:900;text-align:center;border:1px solid #000!important;padding:10px!important;text-transform:uppercase}
.rabs-sheet.rabs-kind-barang .col-vol,.rabs-sheet.rabs-kind-barang .col-ipp{display:none!important}
.rabs-sheet.rabs-kind-barang .subtotal-row td{background:#ffc000!important;color:#000!important}
.rabs-sheet.rabs-kind-kegiatan .subtotal-row td{background:#00b050!important;color:#000!important}
.rabs-sheet.rabs-kind-barang{min-width:980px}.rabs-sheet.rabs-kind-kegiatan{min-width:1180px}
.rabs-sheet .cell.money::placeholder{color:#334155}
@media print{.rabs-sheet.rabs-kind-barang .subtotal-row td{background:#ffc000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* SIMAK SMART - Unit Kerja Professional Enterprise */
.unit-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.unit-kpi{display:flex;flex-direction:column;gap:8px;min-height:132px}.unit-kpi small{color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.unit-kpi b{font-size:1.55rem;color:#0f172a}.unit-kpi span{font-size:.86rem;color:#64748b}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h3{margin:0}.unit-progress{margin-bottom:16px}.progress-track{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:10px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#06b6d4);border-radius:inherit}.unit-two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px}.unit-feed{display:flex;flex-direction:column;gap:10px}.unit-feed>a{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#0f172a;background:#fff}.unit-feed>a:hover{border-color:#93c5fd;background:#f8fbff}.unit-feed>a.unread{border-left:4px solid #2563eb;background:#eff6ff}.unit-feed span,.unit-feed small{color:#64748b}.unit-feed em{font-style:normal;color:#2563eb;font-weight:700}.permission-tags{display:flex;flex-wrap:wrap;gap:5px}.permission-tags span{font-size:.72rem;padding:4px 7px;background:#eff6ff;color:#1d4ed8;border-radius:999px}.permission-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-checks label{padding:10px;border:1px solid #e2e8f0;border-radius:10px}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:14px}.document-card>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.document-card span,.document-card small{color:#64748b}.doc-icon{font-size:1.8rem}.empty-cell{text-align:center;color:#64748b;padding:28px!important}.small-link{font-size:.78rem;color:#2563eb;text-decoration:none}.modal-wide{max-width:880px}.span-2{grid-column:span 2}.muted{color:#64748b}.notification-page{max-width:960px}.status-revisi,.status-ditolak{background:#fff7ed!important;color:#c2410c!important}.status-diajukan{background:#eff6ff!important;color:#1d4ed8!important}.status-disetujui,.status-disetujui_kepsek,.status-selesai{background:#ecfdf5!important;color:#047857!important}
@media(max-width:1100px){.unit-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-two-col{grid-template-columns:1fr}}
@media(max-width:700px){.unit-kpi-grid,.document-grid{grid-template-columns:1fr}.permission-checks{grid-template-columns:1fr}.span-2{grid-column:auto}.document-card{grid-template-columns:auto 1fr}.document-card .btn{grid-column:1/-1}}

/* ===== Sidebar Navigation Professional V4.1 FIX ===== */
.sidebar{overflow:hidden!important;display:flex!important;flex-direction:column!important}
.sidebar-nav{display:flex!important;flex-direction:column!important;gap:7px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:2px 3px 18px!important;margin:0 -3px!important;scrollbar-width:thin;scrollbar-color:#475569 transparent}
.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#475569;border-radius:999px}
.sidebar-nav>a,.sidebar-nav .nav-group-menu>a{display:flex!important;align-items:center!important;gap:10px!important;border-radius:12px;color:#dbeafe;font-weight:750;font-size:13.5px;transition:.2s ease;white-space:normal;line-height:1.35}
.sidebar-nav>a{padding:11px 12px!important}.sidebar-nav a:hover,.sidebar-nav a.active{background:#ffffff18;color:#fff;transform:translateX(2px)}
.nav-home{margin-bottom:2px}.nav-ico{width:22px;display:inline-grid;place-items:center;flex:0 0 22px}
.nav-group{display:block!important;border:1px solid transparent;border-radius:16px;overflow:hidden;flex:0 0 auto}
.nav-group.open{background:#ffffff08;border-color:#ffffff10}
.nav-group-toggle{appearance:none;width:100%;border:0;background:transparent;color:#eef6ff;display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;font:inherit;font-size:13.5px;font-weight:850;cursor:pointer;text-align:left}
.nav-group-toggle>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}.nav-group-toggle:hover{background:#ffffff0d}
.nav-arrow{font-size:17px;color:#93c5fd;transition:transform .2s ease;flex:0 0 auto}.nav-group.open .nav-arrow{transform:rotate(180deg)}
.nav-group-menu{display:flex!important;flex-direction:column!important;gap:2px!important;max-height:0!important;opacity:0;visibility:hidden;overflow:hidden!important;padding:0 7px!important;transition:max-height .28s ease,opacity .2s ease,padding .2s ease,visibility .2s ease}
.nav-group.open .nav-group-menu{max-height:720px!important;opacity:1;visibility:visible;padding:0 7px 8px!important}
.sidebar-nav .nav-group-menu>a{position:relative;padding:9px 10px 9px 29px!important;font-size:12.8px;color:#bfdbfe;width:100%!important}
.nav-group-menu a:before{content:"";position:absolute;left:13px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:999px;background:#64748b}
.nav-group-menu a.active:before{background:#38bdf8;box-shadow:0 0 0 4px #38bdf822}.nav-account{margin-top:auto}.nav-logout{color:#fecaca!important}.sidebar-toggle{display:none}
@media(max-width:980px){.sidebar{position:fixed!important;z-index:90;left:0;top:0;bottom:0;width:min(320px,88vw)!important;height:100vh!important;transform:translateX(-105%);transition:transform .25s ease;box-shadow:20px 0 60px #02061766}.sidebar.mobile-open{transform:translateX(0)}.app{display:block}.content{padding:16px}.topbar{padding-left:62px}.sidebar-toggle{display:grid;position:fixed;z-index:100;left:16px;top:17px;width:42px;height:42px;border:0;border-radius:13px;background:#0f172a;color:#fff;place-items:center;font-size:20px;box-shadow:0 10px 28px #0f172a33}.sidebar-backdrop{display:none;position:fixed;z-index:80;inset:0;background:#02061799}.sidebar-backdrop.show{display:block}}


/* ===== Sidebar Navigation Professional V4.2 Cache-Safe ===== */
.sidebar-nav .nav-group-menu{height:0!important;max-height:0!important;min-height:0!important;display:flex!important;flex-direction:column!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;margin:0!important}
.sidebar-nav .nav-group.open>.nav-group-menu{height:auto!important;max-height:760px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;padding:0 7px 8px!important}
.sidebar-nav .nav-group-toggle{background:transparent!important;border:0!important;box-shadow:none!important;color:#eef6ff!important}
.sidebar-nav .nav-group-toggle:focus{outline:2px solid #38bdf866;outline-offset:-2px}
.sidebar-nav .nav-group-toggle .nav-arrow{margin-left:auto}

/* Realtime/live update feedback */
.live-progress{position:fixed;left:0;top:0;width:0;height:3px;background:linear-gradient(90deg,#2563eb,#06b6d4);z-index:99999;opacity:0;transition:opacity .2s,width .35s}.live-progress.show{opacity:1;width:72%;animation:livebar 1.2s ease-in-out infinite}.live-loading .live-progress.show{width:92%}@keyframes livebar{0%{transform:translateX(-40%)}100%{transform:translateX(140%)}}
.live-toast{position:fixed;right:22px;bottom:22px;max-width:min(430px,calc(100vw - 32px));padding:14px 18px;border-radius:14px;background:#0f172a;color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.28);z-index:100000;opacity:0;transform:translateY(18px);pointer-events:none;transition:.25s}.live-toast.show{opacity:1;transform:none}.live-toast.success{background:#065f46}.live-toast.error{background:#991b1b}.live-loading button[type=submit]{cursor:wait}.live-sync-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px}.live-sync-badge:before{content:'';width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
@media(max-width:680px){.live-toast{right:16px;bottom:16px;left:16px;max-width:none}}

/* Buku Panduan SIMAK SMART V5.4 */
.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.guide-download-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:800;font-size:13px;color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 8px 20px rgba(37,99,235,.18);transition:.2s ease}.guide-download-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(37,99,235,.28)}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.topbar-actions{width:100%;justify-content:flex-start}.guide-download-btn{width:100%;justify-content:center}.page-title-actions{width:100%}.page-title-actions .btn{flex:1;text-align:center}}

/* SIMAK SMART Enterprise navigation & control center */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px}.page-head h1{margin:0 0 6px;font-size:27px}.page-head p{margin:0}.enterprise-grid{align-items:stretch}.enterprise-stat{display:block;transition:.2s ease}.enterprise-stat:hover{transform:translateY(-3px);box-shadow:0 18px 35px #0f172a16}.enterprise-stat span{display:block;color:#2563eb;font-size:12px;font-weight:800;margin-top:8px}.module-card{display:block;transition:.2s ease}.module-card:hover{transform:translateY(-3px);border-color:#bfdbfe}.module-card p{color:var(--muted);line-height:1.6}.module-card>span{font-weight:800;color:#2563eb}.module-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#eff6ff;font-size:22px}.notification-list{display:grid;gap:12px}.notification-item{display:grid;grid-template-columns:12px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.notification-item.is-unread{border-color:#93c5fd;box-shadow:0 10px 25px #2563eb10}.notification-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;margin-top:8px}.is-unread .notification-dot{background:#2563eb}.notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notification-head h3{margin:0}.notification-head time{font-size:12px;color:var(--muted)}.notification-item p{color:var(--muted);line-height:1.6}.empty-state{text-align:center;padding:44px}.empty-state>div{font-size:40px}.security-links{display:grid;gap:10px}.security-links a{padding:13px;border:1px solid var(--line);border-radius:14px;font-weight:800;background:#f8fafc}.nav-section-label{padding:14px 12px 5px;color:#7dd3fc;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.nav-group-menu a{position:relative;padding-left:32px}.nav-group-menu a:before{content:"";position:absolute;left:15px;top:50%;width:6px;height:6px;border-radius:50%;background:#64748b;transform:translateY(-50%)}.nav-group-menu a.active:before{background:#38bdf8;box-shadow:0 0 0 4px #38bdf822}@media(max-width:760px){.page-head,.notification-head{flex-direction:column}.enterprise-grid>.card[style*="span 2"]{grid-column:auto!important}}


/* Branding aplikasi dan halaman login */
.login-app-logo{width:104px;height:104px;object-fit:contain;border-radius:24px;background:#ffffff14;border:1px solid #ffffff24;padding:12px;margin:18px 0 2px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.18))}.login-brand-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.login-brand-head p{margin:4px 0 0}.login-card-logo{width:62px;height:62px;object-fit:contain;border-radius:16px;background:#f8fafc;border:1px solid var(--line);padding:7px}.brand-mini .brand-icon{overflow:hidden}.brand-mini .brand-icon img{width:100%;height:100%;object-fit:contain;padding:5px}.branding-setting-box{padding:16px 18px;border:1px solid #bfdbfe;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.branding-setting-box h3{margin:0 0 5px}.branding-setting-box p{margin:0;line-height:1.55}@media(max-width:700px){.login-app-logo{width:82px;height:82px}.login-brand-head{align-items:flex-start}.login-card-logo{width:54px;height:54px}}

/* =========================================================
   MODERN PROFESSIONAL LOGIN V2
   ========================================================= */
.login-page-modern{min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(135deg,#081735 0%,#10295d 52%,#071225 100%);color:#0f172a;position:relative;display:grid;place-items:center;padding:clamp(18px,3vw,42px);font-family:Inter,"Segoe UI",Arial,sans-serif}.login-page-modern:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%);pointer-events:none}.login-orb{position:fixed;border-radius:999px;filter:blur(6px);pointer-events:none;opacity:.65}.login-orb-one{width:520px;height:520px;left:-180px;top:-170px;background:radial-gradient(circle,#22d3ee88,transparent 66%)}.login-orb-two{width:620px;height:620px;right:-240px;bottom:-260px;background:radial-gradient(circle,#3b82f688,transparent 65%)}.modern-login-shell{position:relative;z-index:2;width:min(1220px,100%);min-height:min(760px,calc(100vh - 56px));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:34px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(24px)}.modern-login-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,68px);color:#fff;overflow:hidden;background:linear-gradient(145deg,rgba(14,165,233,.20),rgba(37,99,235,.13) 50%,rgba(255,255,255,.03))}.modern-login-hero:before{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-330px;top:110px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}.modern-hero-top,.hero-branding,.hero-copy,.modern-stat-grid,.hero-footer-note{position:relative;z-index:2}.modern-hero-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.portal-chip,.security-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.09);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(10px)}.portal-chip span{width:8px;height:8px;border-radius:50%;background:#67e8f9;box-shadow:0 0 0 5px rgba(103,232,249,.14)}.security-chip{color:#dbeafe}.hero-branding{display:flex;align-items:center;gap:18px;margin-top:34px}.school-logo-frame{width:112px;height:112px;display:grid;place-items:center;padding:10px;border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 20px 42px rgba(0,0,0,.18);flex:0 0 auto}.school-logo-frame img{width:100%;height:100%;object-fit:contain}.school-identity{display:grid;gap:6px}.school-identity span{color:#bfdbfe;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.school-identity strong{font-size:clamp(18px,2vw,24px);line-height:1.25}.hero-copy{margin:36px 0 28px}.hero-copy .eyebrow{display:block;color:#67e8f9;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:15px}.hero-copy h1{font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:0 0 20px;max-width:760px}.hero-copy p{font-size:clamp(16px,1.7vw,19px);line-height:1.75;color:#dbeafe;max-width:690px;margin:0}.modern-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.modern-stat{padding:18px 20px;border-radius:20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}.modern-stat b{display:block;font-size:clamp(24px,3vw,33px);line-height:1;margin-bottom:8px}.modern-stat span{font-size:12px;color:#bfdbfe;font-weight:700}.hero-footer-note{display:flex;align-items:flex-start;gap:10px;color:#dbeafe;font-size:12px;line-height:1.55;margin-top:24px}.hero-footer-note span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(34,197,94,.18);color:#86efac;font-weight:900;flex:0 0 auto}.modern-login-panel{background:#f8fafc;display:grid;place-items:center;padding:clamp(24px,4vw,56px)}.modern-login-card{width:min(440px,100%)}.login-card-brand{display:flex;align-items:center;gap:16px;margin-bottom:32px}.app-mark{width:68px;height:68px;border-radius:21px;display:grid;place-items:center;overflow:hidden;padding:8px;background:linear-gradient(145deg,#eff6ff,#fff);border:1px solid #dbeafe;box-shadow:0 12px 30px rgba(37,99,235,.13);flex:0 0 auto}.app-mark img{width:100%;height:100%;object-fit:contain}.app-mark span{font-size:22px;font-weight:900;color:#1d4ed8}.welcome-label{display:block;color:#2563eb;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:5px}.login-card-brand h2{font-size:clamp(27px,3vw,34px);letter-spacing:-.035em;line-height:1.08;margin:0;color:#0f172a}.login-card-brand p{margin:8px 0 0;color:#64748b;font-size:14px}.modern-field{margin-bottom:18px}.modern-field>label,.field-label-row label{display:block;font-size:13px;font-weight:800;color:#1e293b;margin-bottom:8px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row span{font-size:10px;color:#94a3b8;font-weight:700}.input-icon-wrap{position:relative}.field-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.66;pointer-events:none}.modern-input{width:100%;height:54px;border:1px solid #dbe4ef;border-radius:16px;background:#fff;padding:0 74px 0 46px;font:inherit;font-size:14px;color:#0f172a;outline:none;transition:.2s ease;box-shadow:0 4px 14px rgba(15,23,42,.025)}.modern-input::placeholder{color:#a0aec0}.modern-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.11),0 8px 24px rgba(37,99,235,.08)}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:#eff6ff;color:#2563eb;border-radius:10px;padding:7px 9px;font-size:11px;font-weight:900;cursor:pointer}.password-toggle:hover{background:#dbeafe}.modern-login-button{width:100%;height:55px;border:0;border-radius:16px;background:linear-gradient(115deg,#2563eb,#0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 16px 30px rgba(37,99,235,.25);transition:transform .2s ease,box-shadow .2s ease}.modern-login-button:hover{transform:translateY(-2px);box-shadow:0 20px 36px rgba(37,99,235,.32)}.modern-login-button:active{transform:translateY(0)}.modern-login-button b{font-size:21px;font-weight:500;line-height:1}.login-alert{display:flex;align-items:flex-start;gap:10px;margin:-10px 0 22px;border:1px solid #fecaca;background:#fff1f2}.login-alert>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ef4444;color:#fff;font-weight:900;flex:0 0 auto}.login-security-note{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding:13px 14px;border-radius:14px;background:#f1f5f9;border:1px solid #e2e8f0}.login-security-note p{font-size:11px;line-height:1.55;color:#64748b;margin:0}.login-card-footer{text-align:center;color:#94a3b8;font-size:10px;margin-top:24px}.modern-login-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#0f172a}.modern-login-card input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset,0 0 0 4px rgba(59,130,246,.11)}
@media(max-width:1000px){.login-page-modern{padding:20px}.modern-login-shell{grid-template-columns:1fr;min-height:auto;max-width:650px}.modern-login-hero{padding:34px}.modern-login-panel{padding:34px}.hero-copy h1{font-size:52px}.modern-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.login-page-modern{padding:0;background:#f8fafc;display:block}.login-orb,.login-page-modern:before{display:none}.modern-login-shell{border:0;border-radius:0;box-shadow:none;display:block;min-height:100vh;background:#f8fafc}.modern-login-hero{padding:24px 22px 28px;border-radius:0 0 32px 32px;min-height:auto}.modern-hero-top .security-chip{display:none}.school-logo-frame{width:72px;height:72px;border-radius:20px}.school-identity strong{font-size:16px}.hero-copy{margin:26px 0 20px}.hero-copy .eyebrow{font-size:10px;margin-bottom:10px}.hero-copy h1{font-size:39px;margin-bottom:12px}.hero-copy p{font-size:13px;line-height:1.6}.modern-stat-grid{gap:8px}.modern-stat{padding:12px;border-radius:14px}.modern-stat b{font-size:20px}.modern-stat span{font-size:9px}.hero-footer-note{display:none}.modern-login-panel{display:block;padding:28px 22px 36px}.modern-login-card{margin:0 auto}.login-card-brand{margin-bottom:26px}.app-mark{width:58px;height:58px;border-radius:18px}.login-card-brand h2{font-size:27px}.login-card-brand p{font-size:12px}.modern-input,.modern-login-button{height:52px}}
@media(max-width:380px){.modern-stat-grid{grid-template-columns:1fr 1fr}.modern-stat:last-child{grid-column:1/-1}.school-identity{display:none}.portal-chip{font-size:10px}.modern-login-panel{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.modern-login-button,.modern-input{transition:none}}

/* Branding settings V2 */
.branding-logo-preview-wrap{margin-top:12px;min-height:76px;display:flex;align-items:center}.branding-logo-preview-wrap .logo-preview{width:76px;height:76px;object-fit:contain;border:1px solid #dbe4ef;border-radius:18px;background:#fff;padding:8px;box-shadow:0 10px 24px rgba(15,23,42,.08)}.form-actions-sticky{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px solid #dbeafe;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 14px 34px rgba(15,23,42,.12);backdrop-filter:blur(12px)}.form-actions-sticky .btn[disabled]{opacity:.55;cursor:not-allowed}

/* Mobile Professional V5: compact, high-contrast header and focused login form */
@media (max-width:640px){
  .login-page-modern{min-height:100dvh;background:#f4f7fb!important;color:#0f172a}
  .modern-login-shell{min-height:100dvh;background:#f4f7fb!important}
  .modern-login-hero{min-height:210px!important;padding:18px 20px 22px!important;border-radius:0 0 28px 28px!important;background:linear-gradient(135deg,#0b2a62 0%,#1557c7 55%,#0ea5e9 100%)!important;color:#fff!important;box-shadow:0 16px 40px rgba(15,76,170,.22)}
  .modern-login-hero:before{display:none!important}.modern-hero-top{margin:0 0 18px!important}.portal-chip{padding:7px 11px!important;font-size:10px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.24)!important}.hero-branding{margin:0!important;gap:12px!important}.school-logo-frame{width:52px!important;height:52px!important;padding:6px!important;border-radius:15px!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important}.school-identity span{color:#bae6fd!important;font-size:9px!important}.school-identity strong{color:#fff!important;font-size:14px!important}.hero-copy{margin:18px 0 0!important}.hero-copy .eyebrow{display:none!important}.hero-copy h1{font-size:30px!important;line-height:1.05!important;letter-spacing:-.035em!important;margin:0!important;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.14)}.hero-copy p{display:none!important}.modern-stat-grid,.hero-footer-note{display:none!important}.modern-login-panel{padding:24px 20px 30px!important;background:#f4f7fb!important}.modern-login-card{width:100%!important;max-width:460px!important}.login-card-brand{gap:13px!important;margin-bottom:24px!important;align-items:center!important}.app-mark{width:54px!important;height:54px!important;border-radius:16px!important;padding:7px!important}.welcome-label{font-size:10px!important;letter-spacing:.10em!important}.login-card-brand h2{font-size:25px!important;line-height:1.05!important}.login-card-brand p{margin-top:6px!important;font-size:12px!important;line-height:1.45!important}.modern-field{margin-bottom:16px!important}.modern-input{height:54px!important;border-radius:15px!important;background:#fff!important}.modern-login-button{height:54px!important;border-radius:15px!important}.login-security-note{margin-top:18px!important}.login-card-footer{margin-top:22px!important;padding-bottom:4px!important}}
@media (max-width:390px){.modern-login-hero{min-height:196px!important;padding-left:16px!important;padding-right:16px!important}.modern-login-panel{padding-left:16px!important;padding-right:16px!important}.hero-copy h1{font-size:27px!important}.login-card-brand h2{font-size:23px!important}}
/* SIPANDAI V9 Executive Command Center */
.command-dashboard{display:grid;gap:18px}.command-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#101d3d,#1c4da0 58%,#0ba7d4);color:#fff;box-shadow:0 20px 45px rgba(20,56,120,.18)}.command-hero:after{content:"";position:absolute;width:360px;height:360px;border:70px solid rgba(255,255,255,.08);border-radius:50%;right:-100px;top:-170px}.command-hero h1{margin:6px 0 7px;font-size:clamp(25px,3vw,38px);color:#fff}.command-hero p{margin:0;max-width:700px;color:#dcecff}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#7ee7ff}.eyebrow.dark{color:#2476e8}.hero-actions{display:flex;gap:10px;position:relative;z-index:1}.hero-actions .btn{white-space:nowrap}.action-count{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:7px;border-radius:99px;background:#fff;color:#1762cf;font-size:12px}.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.executive-kpi{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #e3eaf5;border-radius:19px;background:#fff;box-shadow:0 9px 24px rgba(29,55,96,.07)}.executive-kpi.attention{background:linear-gradient(145deg,#fff,#fff6e9);border-color:#ffe1b3}.kpi-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;background:#edf5ff;font-size:21px}.executive-kpi small,.executive-kpi em{display:block;color:#71809a;font-style:normal;font-size:12px}.executive-kpi strong{display:block;margin:3px 0;font-size:clamp(18px,2vw,27px);line-height:1.1;color:#101a31}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px}.command-card{border-radius:22px!important;border:1px solid #e2e9f3!important;box-shadow:0 12px 32px rgba(25,53,93,.07)!important}.card-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:17px}.card-heading h3{margin:4px 0 0}.status-chip,.risk-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.status-chip{background:#e8fff6;color:#087754}.chart-card canvas{width:100%;max-height:260px}.chart-legend{display:flex;gap:20px;margin-top:12px;color:#64748b;font-size:12px}.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.legend-a{background:#2476e8}.legend-b{background:#10a8c9}.donut-wrap{display:flex;align-items:center;gap:25px}.donut{--value:0;display:grid;place-items:center;width:135px;height:135px;border-radius:50%;background:conic-gradient(#2476e8 calc(var(--value)*1%),#e7eef8 0);position:relative}.donut:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.donut span{z-index:1;font-size:23px;font-weight:900}.fund-list{flex:1;display:grid;gap:15px}.fund-list div{padding-bottom:12px;border-bottom:1px solid #edf1f6}.fund-list span,.fund-list small{display:block;color:#71809a;font-size:12px}.fund-list b{display:block;margin:3px 0}.work-queue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.queue-card{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #e4eaf3;border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:.2s}.queue-card:hover{transform:translateY(-3px);border-color:#9bc4ff;box-shadow:0 12px 28px rgba(31,85,170,.11)}.queue-card>span{font-size:23px}.queue-card small,.queue-card em{display:block;font-style:normal;color:#728099;font-size:11px}.queue-card strong{font-size:25px}.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.7fr);gap:18px}.side-stack{display:grid;gap:18px;align-content:start}.compact-search{max-width:190px;padding:9px 12px;border:1px solid #d9e3f1;border-radius:12px}.professional-table td:first-child small{display:block;color:#8290a7;margin-top:3px}.mini-progress{width:100px;height:7px;border-radius:99px;background:#e7edf5;overflow:hidden;display:inline-block;margin-right:7px}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,#2476e8,#11a9d1);border-radius:inherit}.risk-badge.safe{background:#e8fbf3;color:#08734f}.risk-badge.warning{background:#fff5dc;color:#976000}.risk-badge.danger{background:#ffe9e9;color:#b42318}.risk-text{color:#c52a2a!important}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-grid a{display:flex;align-items:center;gap:9px;padding:12px;border-radius:13px;background:#f4f7fb;color:#26354c;text-decoration:none;font-size:13px;font-weight:700}.quick-grid a:hover{background:#eaf2ff;color:#1662cf}.activity-list{display:grid}.activity-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:9px;padding:10px 0;border-bottom:1px solid #edf1f6}.activity-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#2b79ea}.activity-list p{margin:0;font-size:12px}.activity-list small{display:block;color:#7a879b;margin-top:3px}.activity-list time{font-size:10px;color:#8b97a8}.empty-state{padding:30px;text-align:center;color:#7b879a}.empty-state.small{padding:16px}.sidebar-search-wrap{padding:0 12px 10px}.sidebar-search{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:#fff;outline:none}.sidebar-search::placeholder{color:#aab8d5}.nav-group.search-hidden,.sidebar>a.search-hidden{display:none!important}
@media(max-width:1250px){.executive-kpis{grid-template-columns:repeat(2,1fr)}.work-queue-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.command-hero{align-items:flex-start;flex-direction:column;padding:23px}.dashboard-main-grid,.dashboard-lower-grid{grid-template-columns:1fr}.hero-actions{width:100%;flex-wrap:wrap}.hero-actions .btn{flex:1}.donut-wrap{justify-content:center}.executive-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.executive-kpis,.work-queue-grid{grid-template-columns:1fr}.command-hero h1{font-size:26px}.command-hero p{font-size:13px}.card-heading{align-items:flex-start}.compact-search{max-width:130px}.quick-grid{grid-template-columns:1fr}.donut-wrap{align-items:flex-start;flex-direction:column}.executive-kpi{padding:15px}}
/* SIPANDAI V11 Enterprise modules */
.topbar-global-search{display:flex;align-items:center;background:#f4f8ff;border:1px solid #dce7f7;border-radius:12px;overflow:hidden;min-width:230px}.topbar-global-search input{border:0;background:transparent;padding:10px 12px;min-width:0;width:100%;outline:0}.topbar-global-search button{border:0;background:transparent;padding:10px 12px;cursor:pointer}.enterprise-search-card{padding:18px}.global-search-form{display:flex;gap:10px}.global-search-form input{flex:1;font-size:16px}.search-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.search-result-card{display:grid;grid-template-columns:44px 1fr 24px;gap:12px;align-items:center;background:#fff;border:1px solid #e0e8f4;border-radius:16px;padding:15px;text-decoration:none;color:#12203a;transition:.18s}.search-result-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,51,96,.09);border-color:#79b7ff}.search-result-icon{width:44px;height:44px;border-radius:13px;background:#eef6ff;display:grid;place-items:center;font-size:20px}.search-result-card span:nth-child(2){display:flex;flex-direction:column;gap:2px}.search-result-card small,.search-result-card em{color:#71809a;font-style:normal}.empty-enterprise{text-align:center;padding:48px 20px;margin-top:18px}.empty-enterprise>div{font-size:42px}.enterprise-two-col{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.timeline-list{display:flex;flex-direction:column;gap:10px}.timeline-item{display:grid;grid-template-columns:68px 1fr 30px;gap:12px;padding:13px;border:1px solid #e2e9f3;border-left:4px solid #7aa7df;border-radius:12px}.timeline-item.priority-penting{border-left-color:#f0a52c}.timeline-item.priority-kritis{border-left-color:#e45454}.timeline-item time{font-weight:800;color:#184b8c}.timeline-item time small{display:block;font-weight:500}.timeline-item div{display:flex;flex-direction:column;gap:3px}.timeline-item span,.timeline-item p{font-size:13px;color:#687893;margin:0}.icon-danger{border:0;background:#feeaea;color:#b71c1c;border-radius:8px;width:28px;height:28px;cursor:pointer}.metric-stack{display:grid;gap:12px}.metric-stack>div{display:flex;align-items:center;justify-content:space-between;padding:14px;background:#f7faff;border:1px solid #e2eaf6;border-radius:13px}.metric-stack b{font-size:19px}.status-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf2f8;font-size:12px;font-weight:700}.status-diverifikasi{background:#dcf8e9;color:#176b43}.status-diajukan{background:#fff3d8;color:#8b5b00}.status-ditolak{background:#ffe2e2;color:#9a2020}.inline-actions{display:inline-flex;gap:6px;align-items:center}.btn-sm{padding:7px 10px;font-size:12px}.card-head-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid #e0e8f3;border-radius:14px}.document-icon{width:48px;height:48px;border-radius:13px;background:#eef5ff;display:grid;place-items:center;font-size:23px}.document-card h4,.document-card p{margin:2px 0}.document-card small,.document-card span{font-size:12px;color:#71809a}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.health-card{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #e0e7f0;border-radius:15px;padding:15px}.health-card>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:900}.health-card.ok>span{background:#dcf8e9;color:#147347}.health-card.bad>span{background:#ffe2e2;color:#a91c1c}.health-card div{display:flex;flex-direction:column}.empty-inline,.empty-cell{padding:24px;text-align:center;color:#78869a}.empty-cell{display:table-cell}.alert.success{background:#e7f8ee;border-color:#b7e8ca;color:#17653f}
@media(max-width:900px){.enterprise-two-col,.search-result-grid,.document-grid,.health-grid{grid-template-columns:1fr}.topbar-global-search{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.global-search-form{flex-direction:column}.card-head-row{align-items:flex-start;flex-direction:column}}

/* SIPANDAI V31 - Modern Sub Unit Dashboard */
.subunit-dashboard{display:grid;gap:18px;padding-bottom:28px}.subunit-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px;border-radius:26px;background:linear-gradient(135deg,#0b2f6f 0%,#1769d2 55%,#10a6c8 100%);color:#fff;box-shadow:0 18px 44px rgba(19,78,156,.22)}.subunit-hero:before,.subunit-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.subunit-hero:before{width:260px;height:260px;right:-90px;top:-130px}.subunit-hero:after{width:170px;height:170px;left:44%;bottom:-120px}.subunit-hero-copy,.subunit-hero-actions{position:relative;z-index:1}.subunit-eyebrow,.subunit-section-label{display:inline-block;font-size:11px;letter-spacing:.13em;font-weight:900}.subunit-eyebrow{padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1)}.subunit-hero h1{margin:13px 0 8px;font-size:clamp(28px,3vw,42px);line-height:1.1;color:#fff}.subunit-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.84);font-size:14px;line-height:1.65}.subunit-context-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.subunit-context-row span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(3,23,60,.16);font-size:12px;font-weight:700}.subunit-hero-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}.subunit-btn-primary,.subunit-btn-light{justify-content:center;border-radius:13px!important;padding:12px 16px!important;font-weight:800!important}.subunit-btn-primary{background:#fff!important;color:#155dbb!important;border-color:#fff!important}.subunit-btn-light{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important}.subunit-notice{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid #d7e7fb;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#eef7ff)}.subunit-notice-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#dcecff;font-size:20px}.subunit-notice strong{display:block;color:#15375f}.subunit-notice p{margin:3px 0 0;color:#637792;font-size:12px}.subunit-notice-badge{padding:7px 10px;border-radius:999px;background:#dff8eb;color:#11704d;font-size:11px;font-weight:800}.subunit-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.subunit-kpi-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:18px;border:1px solid #e2e9f3;border-radius:20px;background:#fff;color:#17233a;text-decoration:none;box-shadow:0 9px 25px rgba(24,50,91,.06);transition:.2s}.subunit-kpi-card:not(.static):hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(26,69,132,.12)}.subunit-kpi-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;font-size:22px}.subunit-kpi-card.blue .subunit-kpi-icon{background:#e8f2ff}.subunit-kpi-card.amber .subunit-kpi-icon{background:#fff1d9}.subunit-kpi-card.green .subunit-kpi-icon{background:#e5f8ef}.subunit-kpi-card.violet .subunit-kpi-icon{background:#f0eaff}.subunit-kpi-card small,.subunit-kpi-card em{display:block;color:#71809a;font-style:normal;font-size:11px}.subunit-kpi-card strong{display:block;margin:3px 0;font-size:28px;line-height:1}.subunit-kpi-arrow{color:#87a0bf;font-weight:900}.subunit-main-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.8fr);gap:18px}.subunit-panel,.subunit-workflow-panel{padding:22px;border:1px solid #e1e8f2;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(27,54,95,.06)}.subunit-panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.subunit-panel-head.compact{margin-bottom:14px}.subunit-section-label{color:#2170cf}.subunit-panel-head h2{margin:4px 0 3px;font-size:20px}.subunit-panel-head p{margin:0;color:#748198;font-size:12px}.subunit-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subunit-action-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px;border:1px solid #e2e9f3;border-radius:16px;background:#f9fbfe;color:#17233b;text-decoration:none;transition:.2s}.subunit-action-card:hover{transform:translateY(-2px);border-color:#8bb9f4;background:#f3f8ff;box-shadow:0 9px 22px rgba(30,84,158,.09)}.subunit-action-card.is-disabled{opacity:.48;pointer-events:none}.subunit-action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e9f3ff;font-size:19px}.subunit-action-card strong{display:block;font-size:13px}.subunit-action-card p{margin:4px 0 0;color:#738198;font-size:11px;line-height:1.45}.subunit-permission-list{display:grid;gap:9px}.subunit-permission-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #edf0f5;border-radius:13px}.subunit-permission-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f1f5fa}.subunit-permission-item strong,.subunit-permission-item small{display:block}.subunit-permission-item strong{font-size:12px}.subunit-permission-item small{margin-top:2px;color:#8290a5;font-size:10px}.subunit-permission-status{padding:6px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.subunit-permission-status.allowed{background:#e4f8ed;color:#116b48}.subunit-permission-status.blocked{background:#fee9e9;color:#a42a2a}.subunit-workflow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center}.subunit-workflow>div{min-width:0;padding:15px;border:1px solid #e3e9f1;border-radius:15px;background:#fafbfd}.subunit-workflow>div.active{border-color:#9ec7f8;background:#f0f7ff}.subunit-workflow span{display:grid;place-items:center;width:28px;height:28px;margin-bottom:9px;border-radius:9px;background:#e8eef7;color:#426184;font-weight:900}.subunit-workflow .active span{background:#176bd1;color:#fff}.subunit-workflow strong,.subunit-workflow small{display:block}.subunit-workflow strong{font-size:12px}.subunit-workflow small{margin-top:3px;color:#7d899c;font-size:10px}.subunit-workflow>i{color:#9babc0;font-style:normal;font-weight:900}
@media(max-width:1180px){.subunit-kpi-grid{grid-template-columns:repeat(2,1fr)}.subunit-main-grid{grid-template-columns:1fr}.subunit-hero{align-items:flex-start;flex-direction:column}.subunit-hero-actions{width:100%;min-width:0;flex-direction:row}.subunit-hero-actions .btn{flex:1}}
@media(max-width:760px){.subunit-dashboard{gap:14px}.subunit-hero{padding:22px;border-radius:20px}.subunit-hero h1{font-size:27px}.subunit-context-row{flex-direction:column}.subunit-context-row span{width:fit-content}.subunit-hero-actions{flex-direction:column}.subunit-notice{grid-template-columns:auto 1fr}.subunit-notice-badge{grid-column:2}.subunit-kpi-grid,.subunit-action-grid{grid-template-columns:1fr}.subunit-panel,.subunit-workflow-panel{padding:17px}.subunit-workflow{grid-template-columns:1fr}.subunit-workflow>i{transform:rotate(90deg);justify-self:center}.subunit-permission-item{grid-template-columns:auto 1fr}.subunit-permission-status{grid-column:2;justify-self:start}}

@media(max-width:1366px){.app{grid-template-columns:260px 1fr}.content{padding:18px}.topbar{padding:16px 18px}.sidebar{padding:16px}.topbar-actions{gap:10px}.topbar-global-search input{max-width:240px}}
@media(max-width:1180px){.app{grid-template-columns:236px 1fr}.sidebar nav a,.nav-group-menu a{font-size:13px}.content{padding:16px}.topbar{gap:12px}}

/* =========================================================
   SIPANDAI V50 - GLOBAL FLUID RESPONSIVE SYSTEM
   Responsive at browser zoom 100% for desktop/laptop/tablet/phone
   ========================================================= */
:root{
  --sidebar-fluid:clamp(220px,16vw,270px);
  --page-gap:clamp(12px,1.25vw,22px);
  --page-pad:clamp(12px,1.35vw,24px);
  --card-pad:clamp(14px,1.2vw,20px);
  --radius-lg:clamp(16px,1.4vw,24px);
  --text-base:clamp(13px,.82vw,15px);
  --text-small:clamp(11px,.7vw,13px);
  --title-page:clamp(24px,2vw,36px);
}
html{font-size:16px;max-width:100%;overflow-x:hidden}
body{font-size:var(--text-base);max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
.app{grid-template-columns:var(--sidebar-fluid) minmax(0,1fr);width:100%;max-width:100vw}
.sidebar{width:100%;min-width:0;padding:clamp(14px,1.1vw,20px)}
.content{width:100%;min-width:0;max-width:100%;padding:var(--page-pad);overflow-x:hidden}
#live-page-content{min-width:0;max-width:100%}
.card{min-width:0;padding:var(--card-pad);border-radius:var(--radius-lg)}
.topbar{min-width:0;padding:clamp(13px,1.1vw,18px) clamp(14px,1.35vw,22px);border-radius:clamp(16px,1.5vw,24px);gap:12px}
.topbar>*,.topbar-actions,.page-title>*,.page-head>*,.actionbar>*{min-width:0}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.topbar-global-search{flex:1 1 200px;max-width:320px;min-width:160px}
.topbar-global-search input{width:100%!important;max-width:none!important}
.guide-download-btn,.topbar .pill{white-space:nowrap}
h1,.page-title h1{font-size:var(--title-page);line-height:1.15;overflow-wrap:anywhere}
h2{font-size:clamp(19px,1.35vw,26px)}
h3{font-size:clamp(16px,1.05vw,21px)}
p,.muted,small{overflow-wrap:anywhere}
.btn{font-size:clamp(12px,.78vw,14px);padding:clamp(9px,.7vw,11px) clamp(12px,1vw,16px);border-radius:clamp(10px,.9vw,14px);white-space:normal;text-align:center;line-height:1.25}
.input,select,textarea{font-size:clamp(12px,.8vw,14px);padding:clamp(9px,.75vw,12px) clamp(10px,.9vw,14px);border-radius:clamp(10px,.9vw,14px);max-width:100%}
.grid,.grid-3,.grid-4,.form-grid,.report-summary,.mini-menu{min-width:0}
.grid>* ,.grid-3>* ,.grid-4>* ,.form-grid>* ,.report-summary>* ,.mini-menu>*{min-width:0}
.table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
table{max-width:100%}th,td{font-size:clamp(11px,.72vw,14px);padding:clamp(8px,.75vw,13px) clamp(8px,.8vw,14px)}
.modal{padding:clamp(8px,1.4vw,18px)}.modal-box{width:min(980px,96vw);max-width:96vw;padding:clamp(14px,1.4vw,22px)}

/* Compact laptop density */
@media (max-width:1600px){
  :root{--sidebar-fluid:238px;--page-pad:16px;--card-pad:16px}
  .sidebar{padding:15px}.brand-icon{width:40px;height:40px;border-radius:13px}.avatar{width:38px;height:38px}
  .userbox{padding:10px;margin:14px 0;border-radius:16px}.sidebar-nav a,nav a{padding:10px 11px;font-size:12.5px}
  .topbar{margin-bottom:16px}.topbar-global-search{max-width:250px}.guide-download-btn{padding:9px 12px;font-size:12px}.topbar .pill{padding:8px 10px;font-size:11px}
  .card{box-shadow:0 8px 22px #0f172a0b}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* RABS input: laptop uses labelled cards, not squeezed wide table */
@media (max-width:1600px){
  .excel-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .excel-table{display:block!important;min-width:0!important;width:100%!important;background:transparent!important}
  .excel-table thead{display:none!important}
  .excel-table tbody{display:grid!important;gap:14px!important;width:100%!important}
  .excel-table tbody tr.item-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;position:relative!important;padding:56px 14px 14px!important;border:1px solid #dbe5ef!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.05)!important;width:100%!important;min-width:0!important}
  .excel-table tbody td{display:block!important;width:auto!important;min-width:0!important;border:0!important;padding:0!important;vertical-align:top!important}
  .excel-table tbody td::before{content:attr(data-label);display:block;margin:0 0 6px;color:#475569;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
  .excel-table .item-card-head{display:flex!important;position:absolute!important;left:14px!important;right:14px!important;top:12px!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;background:#f8fbff!important;border-radius:11px!important;padding:5px 8px!important}
  .excel-table .category-cell,.excel-table .material-cell{grid-column:span 2!important}
  .excel-table .action-cell{display:flex!important;align-items:flex-end!important;justify-content:flex-end!important;gap:7px!important}
  .excel-table textarea{min-height:68px!important;resize:vertical}
  .fund-choice{min-height:70px!important}
  .calculation-narrative{max-height:180px;overflow:auto}
  .activity-summary{position:static!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important}
}

@media (max-width:1280px){
  :root{--sidebar-fluid:220px;--page-pad:14px;--card-pad:14px}
  .topbar-actions{width:100%;justify-content:flex-start}.topbar{align-items:flex-start;flex-direction:column}
  .topbar-global-search{max-width:100%;width:100%}.guide-download-btn,.topbar .pill{flex:1 1 auto}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .excel-table tbody tr.item-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .excel-table .category-cell,.excel-table .material-cell{grid-column:1/-1!important}
  .excel-table .total-cell,.excel-table .action-cell{grid-column:span 1!important}
}

@media (max-width:980px){
  :root{--page-pad:12px;--card-pad:14px}
  .app{display:block}.content{padding:12px!important;padding-top:74px!important}
  .topbar{padding:13px 14px!important;margin-bottom:14px}.topbar-actions{display:grid;grid-template-columns:1fr;width:100%}
  .topbar-global-search,.guide-download-btn,.topbar .pill{width:100%;max-width:none;justify-content:center}
  .grid-4,.grid-3,.form-grid,.report-summary,.mini-menu{grid-template-columns:1fr!important}
  .page-title,.page-head,.actionbar,.card-head-row{align-items:flex-start!important;flex-direction:column!important}
  .page-title .btn,.page-head .btn{width:100%}
  .filterbar{display:grid;grid-template-columns:1fr;width:100%}.filterbar>*{width:100%;min-width:0}
}

@media (max-width:720px){
  :root{--page-pad:9px;--card-pad:12px}
  .content{padding:70px 9px 12px!important}.card{border-radius:16px}.topbar{border-radius:16px}
  .excel-table tbody tr.item-row{grid-template-columns:1fr!important;padding:54px 11px 12px!important}
  .excel-table .category-cell,.excel-table .material-cell,.excel-table .total-cell,.excel-table .action-cell{grid-column:auto!important}
  .excel-table .action-cell{justify-content:stretch!important}.excel-table .action-cell .btn{flex:1!important}
  .activity-toolbar,.activity-summary,.sticky-actions{align-items:stretch!important;flex-direction:column!important}
  .activity-toolbar .btn,.activity-summary .btn,.sticky-actions .btn{width:100%}
  .rkt-head,.activity-meta{grid-template-columns:1fr!important}
  .modal-box{max-height:94vh;border-radius:16px}
  th,td{padding:8px}
}

@media (max-width:480px){
  body{font-size:13px}.sidebar-toggle{left:10px;top:12px;width:40px;height:40px}.content{padding-top:64px!important}
  .btn{width:100%}.inline-actions,.table-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .pill{white-space:normal;text-align:center}.card{padding:11px}
}

/* =========================================================
   SIPANDAI V51 - RESPONSIVE BERDASARKAN LEBAR AREA KONTEN
   Tidak bergantung hanya pada resolusi/zoom browser.
   ========================================================= */
@media (min-width:981px){
  .app{display:block!important;min-height:100dvh}
  .sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--sidebar-fluid)!important;height:100dvh!important;min-height:100dvh!important;z-index:70!important;align-self:auto!important}
  .content{margin-left:var(--sidebar-fluid)!important;width:calc(100% - var(--sidebar-fluid))!important;max-width:calc(100vw - var(--sidebar-fluid))!important}
}

/* Mode kartu dipicu oleh JS berdasarkan lebar nyata area RABS. */
body.rabs-content-compact .excel-wrap{overflow:visible!important;border:0!important;background:transparent!important}
body.rabs-content-compact .excel-table{display:block!important;width:100%!important;min-width:0!important;background:transparent!important}
body.rabs-content-compact .excel-table thead{display:none!important}
body.rabs-content-compact .excel-table tbody{display:grid!important;gap:16px!important;width:100%!important}
body.rabs-content-compact .excel-table tr.item-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;position:relative!important;width:100%!important;min-width:0!important;padding:58px 16px 16px!important;border:1px solid #d8e4f0!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important}
body.rabs-content-compact .excel-table td{display:block!important;width:auto!important;min-width:0!important;border:0!important;padding:0!important;vertical-align:top!important}
body.rabs-content-compact .excel-table td::before{content:attr(data-label);display:block;margin:0 0 7px;color:#475569;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
body.rabs-content-compact .excel-table .item-card-head{display:flex!important;position:absolute!important;left:16px!important;right:16px!important;top:12px!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:7px 10px!important;border-radius:12px!important;background:#f3f8ff!important}
body.rabs-content-compact .excel-table .category-cell{grid-column:span 1!important}
body.rabs-content-compact .excel-table .material-cell{grid-column:span 3!important;min-width:0!important}
body.rabs-content-compact .excel-table .basis-cell{grid-column:span 2!important}
body.rabs-content-compact .excel-table .small-cell,
body.rabs-content-compact .excel-table .unit-cell,
body.rabs-content-compact .excel-table .price-cell,
body.rabs-content-compact .excel-table .fund-cell,
body.rabs-content-compact .excel-table .total-cell{grid-column:span 1!important;width:auto!important}
body.rabs-content-compact .excel-table .action-cell{grid-column:1/-1!important;width:auto!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}
body.rabs-content-compact .excel-table .field-help{display:block!important;margin-bottom:7px!important}
body.rabs-content-compact .excel-table textarea{min-height:72px!important;resize:vertical!important}
body.rabs-content-compact .excel-table input,
body.rabs-content-compact .excel-table select,
body.rabs-content-compact .excel-table textarea{font-size:13px!important}
body.rabs-content-compact .fund-choice{min-height:72px!important}
body.rabs-content-compact .calculation-narrative{max-height:150px!important;overflow:auto!important}
body.rabs-content-compact .activity-summary{position:static!important}

body.rabs-content-medium .excel-table tr.item-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.rabs-content-medium .excel-table .category-cell,
body.rabs-content-medium .excel-table .material-cell,
body.rabs-content-medium .excel-table .basis-cell{grid-column:1/-1!important}
body.rabs-content-medium .excel-table .action-cell{grid-column:1/-1!important}

body.rabs-content-narrow .excel-table tr.item-row{grid-template-columns:1fr!important;padding:56px 12px 14px!important}
body.rabs-content-narrow .excel-table .category-cell,
body.rabs-content-narrow .excel-table .material-cell,
body.rabs-content-narrow .excel-table .basis-cell,
body.rabs-content-narrow .excel-table .small-cell,
body.rabs-content-narrow .excel-table .unit-cell,
body.rabs-content-narrow .excel-table .price-cell,
body.rabs-content-narrow .excel-table .fund-cell,
body.rabs-content-narrow .excel-table .total-cell,
body.rabs-content-narrow .excel-table .action-cell{grid-column:auto!important}
body.rabs-content-narrow .excel-table .action-cell{justify-content:stretch!important}
body.rabs-content-narrow .excel-table .action-cell .btn{flex:1!important}

/* Atur data kegiatan tanpa kolom sempit pada laptop. */
body.rabs-content-compact .activity-meta{grid-template-columns:140px 120px minmax(280px,1.4fr) minmax(240px,1fr)!important}
body.rabs-content-medium .activity-meta{grid-template-columns:1fr 1fr!important}
body.rabs-content-medium .activity-meta label:nth-child(3),
body.rabs-content-medium .activity-meta label:nth-child(4){grid-column:1/-1!important}
body.rabs-content-narrow .activity-meta{grid-template-columns:1fr!important}
body.rabs-content-narrow .activity-meta label{grid-column:auto!important}

/* Cegah tombol bawah dan total menimpa isi. */
body.rabs-content-compact .sticky-actions{position:static!important;margin-top:14px!important}
body.rabs-content-medium .sticky-actions{align-items:stretch!important;flex-direction:column!important}
body.rabs-content-medium .sticky-actions>div{width:100%!important;justify-content:space-between!important}

@media(max-width:980px){
  .content{margin-left:0!important;width:100%!important;max-width:100%!important}
}

/* =========================================================
   V56 RABS FINAL RESPONSIVE OVERRIDE
   Laptop/Desktop selalu tabel. HP saja kartu.
   ========================================================= */
@media (min-width:601px){
  body .excel-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    border:1px solid #dbe5ef!important;
    border-radius:16px!important;
    background:#fff!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body .excel-table{
    display:table!important;
    width:1450px!important;
    min-width:1450px!important;
    table-layout:fixed!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff!important;
  }
  body .excel-table colgroup{display:table-column-group!important}
  body .excel-table thead{display:table-header-group!important}
  body .excel-table tbody{display:table-row-group!important;width:auto!important}
  body .excel-table tr,
  body .excel-table tr.item-row{
    display:table-row!important;
    width:auto!important;
    min-width:0!important;
    position:static!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body .excel-table th,
  body .excel-table td,
  body .excel-table tbody td{
    display:table-cell!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-column:auto!important;
    border-right:1px solid #d7e1ec!important;
    border-bottom:1px solid #d7e1ec!important;
    padding:9px!important;
    vertical-align:top!important;
    box-sizing:border-box!important;
  }
  body .excel-table td::before{display:none!important;content:none!important}
  body .excel-table .item-card-head,
  body .excel-table .item-seq{display:none!important}
  body .excel-table .field-help{display:none!important}
  body .excel-table .category-cell,
  body .excel-table .material-cell,
  body .excel-table .basis-cell,
  body .excel-table .small-cell,
  body .excel-table .unit-cell,
  body .excel-table .price-cell,
  body .excel-table .fund-cell,
  body .excel-table .total-cell,
  body .excel-table .action-cell{
    grid-column:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  body .excel-table .action-cell{
    display:table-cell!important;
    text-align:center!important;
    vertical-align:middle!important;
  }
  body .excel-table .action-cell .btn{
    display:flex!important;
    width:100%!important;
    margin:5px 0!important;
    padding:8px 6px!important;
  }
  body .excel-table textarea{min-height:66px!important;max-height:150px!important}
}

@media (min-width:601px) and (max-width:1450px){
  body .excel-table{width:1380px!important;min-width:1380px!important}
}

/* V57 GLOBAL CONTENT CONTAINMENT */
.app{max-width:100vw;overflow-x:hidden}.content{min-width:0;max-width:100%;overflow-x:hidden}.content>*{min-width:0;max-width:100%}.topbar{min-width:0;max-width:100%}#live-page-content{min-width:0;max-width:100%}

/* V65.3 - Payment page: hide empty workflow and show compact no-result notice only after search */
.bank-search-empty{display:flex;align-items:center;gap:12px;margin:16px 20px 22px;padding:14px 16px;border:1px solid #d7e5f5;border-radius:16px;background:#f7fbff;color:#334155}
.bank-search-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e5f2ff;color:#1769d2;font-size:20px;font-weight:900;flex:0 0 auto}
.bank-search-empty b,.bank-search-empty small{display:block}.bank-search-empty small{margin-top:3px;color:#64748b}
