:root{
  --bg:#f4f7fb;--bg-2:#eef3f8;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;
  --ink:#0f172a;--ink-2:#24324a;--muted:#718096;--muted-2:#94a3b8;--line:#e3e9f1;--line-strong:#d4dce8;
  --nav:#0b1728;--nav-2:#101f33;--nav-line:rgba(255,255,255,.08);--nav-text:#d5dfeb;--nav-muted:#8291a6;
  --brand:#0d9488;--brand-2:#0f766e;--brand-soft:#e7f7f5;--brand-ring:rgba(13,148,136,.16);
  --gold:#d5a33f;--gold-soft:#fff7df;--blue:#2563eb;--blue-soft:#eef4ff;--violet:#7c3aed;--violet-soft:#f4efff;
  --success:#15803d;--success-soft:#eaf8ef;--danger:#c0362c;--danger-soft:#fff0ee;--warning:#a16207;--warning-soft:#fff7e8;
  --shadow-sm:0 1px 2px rgba(15,23,42,.03),0 4px 14px rgba(15,23,42,.04);
  --shadow:0 14px 35px rgba(15,23,42,.07);--shadow-lg:0 28px 70px rgba(7,18,34,.16);
  --radius-sm:10px;--radius:16px;--radius-lg:22px;--sidebar:288px;--sidebar-collapsed:86px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit}.icon{display:block;flex:0 0 auto}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .25s ease}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav) 0%,#0d1b2c 55%,#0a1524 100%);color:var(--nav-text);padding:18px 14px 14px;display:flex;flex-direction:column;z-index:50;border-left:1px solid rgba(255,255,255,.03);overflow:hidden}.brand-wrap{display:flex;align-items:center;gap:8px;padding:2px 3px 17px;border-bottom:1px solid var(--nav-line);margin-bottom:10px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0;flex:1}.brand-mark{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#13a89a,#08796f);box-shadow:0 12px 28px rgba(13,148,136,.28),inset 0 1px 0 rgba(255,255,255,.28)}.brand-copy{min-width:0}.brand-copy b{display:block;color:#fff;font-size:15px;letter-spacing:.1px}.brand-copy small{display:block;color:#8998ab;font-size:11px;margin-top:1px;white-space:nowrap}.sidebar-collapse,.mobile-menu,.icon-button{border:0;background:none;display:grid;place-items:center;cursor:pointer}.sidebar-collapse{width:32px;height:32px;border-radius:9px;color:#8493a6;background:rgba(255,255,255,.045);transition:.2s}.sidebar-collapse:hover{color:#fff;background:rgba(255,255,255,.09)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:3px 3px 12px;scrollbar-width:thin;scrollbar-color:#26384d transparent}.nav-section{display:grid;gap:3px;margin:0 0 12px}.nav-label{font-size:10px;font-weight:800;color:#617188;padding:8px 11px 4px;letter-spacing:.08em}.nav-item{display:flex;align-items:center;gap:11px;min-height:43px;border-radius:11px;padding:9px 11px;color:#b9c6d6;text-decoration:none;position:relative;transition:background .18s,color .18s,transform .18s;white-space:nowrap}.nav-item .icon{color:#7f91a8}.nav-item:hover{background:rgba(255,255,255,.055);color:#f4f8fc;transform:translateX(-1px)}.nav-item:hover .icon{color:#a9e5dd}.nav-item.active{background:linear-gradient(90deg,rgba(13,148,136,.19),rgba(13,148,136,.08));color:#fff;box-shadow:inset -3px 0 0 #20b6a8}.nav-item.active .icon{color:#4fd0c2}.sidebar-user-card{display:grid;grid-template-columns:40px minmax(0,1fr) 34px 34px;align-items:center;gap:8px;border:1px solid var(--nav-line);background:rgba(255,255,255,.035);padding:9px;border-radius:15px}.avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#f0c76e,#c7942b);color:#172033;display:grid;place-items:center;font-weight:900;font-size:16px}.user-copy{min-width:0}.user-copy b{display:block;color:#f6f9fc;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{display:block;color:#78899f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{width:34px;height:34px;border-radius:10px;color:#9aa8ba}.icon-button.subtle{background:rgba(255,255,255,.045)}.icon-button.subtle:hover{background:rgba(255,255,255,.09);color:#fff}.icon-button.danger-soft{background:rgba(216,70,61,.08);color:#d88882}.icon-button.danger-soft:hover{background:rgba(216,70,61,.15);color:#ffb1ab}.content{min-width:0;padding:0 30px 22px;background:radial-gradient(circle at 15% 0,rgba(13,148,136,.035),transparent 27%),var(--bg)}.topbar{position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0 18px;margin-bottom:8px;background:linear-gradient(180deg,rgba(244,247,251,.97) 0%,rgba(244,247,251,.9) 78%,rgba(244,247,251,0) 100%);backdrop-filter:blur(12px)}.topbar-start{display:flex;align-items:center;gap:13px;min-width:0}.page-title-wrap{min-width:0}.eyebrow{display:flex;align-items:center;gap:7px;color:#8190a4;font-size:10px;font-weight:700;margin-bottom:3px}.eyebrow .dot{width:3px;height:3px;background:#b3bfcd;border-radius:50%}.topbar h1{font-size:27px;letter-spacing:-.4px;line-height:1.25;margin:0;color:#0c1728}.topbar p{margin:4px 0 0;color:#758397;font-size:12px}.topbar-actions{display:flex;align-items:center;gap:10px}.system-status{display:flex;align-items:center;gap:7px;padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:11px;color:#516076;font-size:11px;box-shadow:var(--shadow-sm)}.system-status i{width:7px;height:7px;background:#22a35a;border-radius:50%;box-shadow:0 0 0 4px rgba(34,163,90,.1)}.release-chip{display:flex;align-items:center;gap:7px;border:1px solid #cce8e4;background:#edf9f7;color:#11675e;border-radius:11px;padding:7px 10px;box-shadow:var(--shadow-sm)}.release-chip b{font-size:11px}.release-chip span{font-size:9px;padding-right:7px;border-right:1px solid #c7e4df}.mobile-menu{display:none;width:40px;height:40px;border-radius:11px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:#314057}.page-content{padding-top:4px}.app-footer{display:flex;justify-content:space-between;gap:15px;color:#9aa6b5;font-size:10px;padding:17px 4px 2px;border-top:1px solid #e8edf3;margin-top:24px}
/* Panels + cards */
.panel,.stat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.panel{border-radius:var(--radius);padding:19px;margin-bottom:17px}.panel:hover{border-color:#dae2ec}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.panel-head h2,.panel h2{margin:0;color:#172033;font-size:16px;line-height:1.35}.panel-head small,.panel>small{color:var(--muted);font-size:11px}.panel-head a{color:var(--brand-2);font-size:11px;font-weight:800;text-decoration:none}.panel-head a:hover{text-decoration:underline}.narrow-panel{max-width:1080px}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:0 0 17px}.stat{position:relative;border-radius:var(--radius);padding:16px 17px;min-height:105px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d9e3ed}.stat small{display:block;color:#718096;font-size:11px;font-weight:700;margin-bottom:8px}.stat strong{display:block;font-size:26px;line-height:1.2;letter-spacing:-.5px;color:#111c2e}.stat .smaller{font-size:18px}.stat-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;margin-bottom:11px}.stat.teal .stat-icon{background:var(--brand-soft);color:var(--brand)}.stat.blue .stat-icon{background:var(--blue-soft);color:var(--blue)}.stat.gold .stat-icon{background:var(--gold-soft);color:#b37b15}.stat.violet .stat-icon{background:var(--violet-soft);color:var(--violet)}.stat.green .stat-icon{background:var(--success-soft);color:var(--success)}.stat.red .stat-icon{background:var(--danger-soft);color:var(--danger)}.stat::after{content:"";position:absolute;width:64px;height:64px;border:14px solid rgba(13,148,136,.035);border-radius:50%;left:-30px;bottom:-33px}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}.stats-4,.phase3-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.list>div{display:flex;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #edf1f5}.list>div:last-child{border-bottom:0}.list b{color:#233148}.list span{color:#8491a3;font-size:11px}.bars{display:grid;gap:11px}.bar-row{display:grid;grid-template-columns:70px minmax(0,1fr) 38px;gap:10px;align-items:center;font-size:11px;color:#68778b}.bar-track{height:8px;background:#edf2f6;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#0d9488,#30b9aa);border-radius:999px;box-shadow:0 0 8px rgba(13,148,136,.16)}
/* Buttons */
button,a.button{font:inherit}.button,button.primary,button.secondary-button,button.danger,.danger-button,.ok-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border-radius:10px;padding:8px 13px;text-decoration:none;font-weight:800;font-size:12px;cursor:pointer;transition:.18s;border:1px solid transparent}.button.primary,button.primary{background:linear-gradient(145deg,#0e9b8e,#0a8278);border-color:#0b847a;color:#fff;box-shadow:0 5px 13px rgba(13,148,136,.16)}.button.primary:hover,button.primary:hover{background:linear-gradient(145deg,#0c8a7f,#087168);transform:translateY(-1px);box-shadow:0 8px 18px rgba(13,148,136,.2)}.button.secondary,button.secondary-button{background:var(--gold-soft);color:#885d0d;border-color:#eedaa8}.button.secondary:hover,button.secondary-button:hover{background:#fff1c9}.button.ghost{background:#fff;color:#536176;border-color:#d9e1eb}.button.ghost:hover{background:#f8fafc;border-color:#c9d3df}.button.danger,button.danger,.danger-button{background:var(--danger-soft);color:var(--danger);border-color:#f0c9c6}.ok-button{background:var(--success-soft);color:var(--success);border-color:#c8e9d4}.button.tiny,.tiny,button.small{min-height:30px;padding:5px 9px;font-size:10px;border-radius:8px}.full{width:100%}.actions-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 13px}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions a,.table-link{color:#0c7c73;text-decoration:none;font-weight:800;font-size:11px}.row-actions a:hover,.table-link:hover{text-decoration:underline}.link-danger{border:0;background:none;color:var(--danger);cursor:pointer;padding:0;font:inherit;font-size:11px;font-weight:800}.inline{display:inline}.actions-spacer{flex:1}
/* Forms */
input,select,textarea{width:100%;min-height:41px;border:1px solid #d9e1ea;border-radius:10px;padding:9px 11px;background:#fff;color:#172033;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}textarea{min-height:95px;resize:vertical}input::placeholder,textarea::placeholder{color:#a4afbd}input:focus,select:focus,textarea:focus{border-color:#54b8ae;box-shadow:0 0 0 3px var(--brand-ring);background:#fff}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;align-items:end}.filters label{display:grid!important;gap:5px!important;align-items:initial!important;color:#536176;font-size:11px;font-weight:800}.filters label input{min-width:0}.inline-form{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:9px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.compact{gap:10px}.form-grid label,.bulk-options label{display:grid;gap:6px;color:#4c5a6f;font-size:11px;font-weight:800}.span-2{grid-column:span 2}.form-actions{display:flex;gap:8px;align-items:center;margin-top:18px;flex-wrap:wrap}.upload-row{display:flex;gap:9px;align-items:center}.upload-row input{flex:1}.check-line,.switch-row,.remember{display:flex!important;align-items:center!important;gap:8px!important}.check-line input,.switch-row input,.remember input,.select-tools input,.selection-item input{width:16px!important;min-height:16px!important}.filter-details,.aid-builder,details.inline-details{border:1px solid #e5ebf2;background:#fbfcfe;border-radius:12px;padding:8px 12px}.filter-details>summary,.aid-builder>summary,details>summary{cursor:pointer;color:#334157;list-style:none}.filter-details>summary::-webkit-details-marker,.aid-builder>summary::-webkit-details-marker,details>summary::-webkit-details-marker{display:none}.filter-details>summary::before,.aid-builder>summary::before{content:"⌄";display:inline-grid;place-items:center;width:20px;height:20px;margin-left:5px;border-radius:6px;background:#edf3f7;color:#65768b}.filter-details[open]>summary::before,.aid-builder[open]>summary::before{transform:rotate(180deg)}.filters-advanced{margin-top:13px;padding-top:13px;border-top:1px solid #e7edf3}.hint,.muted-text,.block-muted{color:#8693a4;font-size:11px;line-height:1.65}.block-muted{display:block;margin-top:2px}.bulk-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:11px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;margin-bottom:9px}.search-row{display:flex;gap:8px;margin-bottom:11px}.search-row input{flex:1}.search-row select{max-width:170px}
/* Tables */
.table-wrap{overflow:auto;border:1px solid #e5eaf1;border-radius:12px}table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;background:#fff}th,td{text-align:right;padding:12px 11px;border-bottom:1px solid #edf1f5;font-size:12px;vertical-align:middle}th{position:sticky;top:0;background:#f8fafc;color:#69778a;font-size:10px;font-weight:900;letter-spacing:.02em;z-index:2}tbody tr{transition:background .15s}tbody tr:hover{background:#fbfdfd}tbody tr:last-child td{border-bottom:0}td b{color:#202d42}.row-error{background:#fff7f6}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#556477;font-size:10px;font-weight:800;border:1px solid #e5eaf0}.badge.ok{background:var(--success-soft);color:var(--success);border-color:#d6eddd}.badge.off{background:var(--danger-soft);color:var(--danger);border-color:#f3d8d5}.badge.warn{background:var(--warning-soft);color:var(--warning);border-color:#f1dfbd}code{font-family:Consolas,monospace;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;padding:3px 6px;border-radius:6px;font-size:10px}.empty{text-align:center;color:#8b97a7;padding:31px 18px!important}.empty::before{content:"";display:block;width:34px;height:34px;margin:0 auto 9px;border-radius:10px;background:linear-gradient(145deg,#f0f4f8,#e6edf4);box-shadow:inset 0 0 0 1px #dde5ed}.pager{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pager-summary{color:var(--muted);font-size:11px}.pager-summary b{color:var(--ink-2);font-weight:800}.pager-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.pager-link{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);font-size:11px;font-weight:700;text-decoration:none;transition:.18s}.pager-link:hover{border-color:var(--brand);color:var(--brand-2);background:var(--brand-soft)}.pager-link.is-current{background:linear-gradient(145deg,#0e9b8e,#0a8278);border-color:#0b847a;color:#fff;box-shadow:0 4px 11px rgba(13,148,136,.18)}.pager-link.is-disabled{color:var(--muted-2);background:var(--surface-3);cursor:default}.pager-link.is-disabled:hover{border-color:var(--line);color:var(--muted-2);background:var(--surface-3)}.pager-gap{color:var(--muted-2);padding:0 2px;font-size:11px}
/* Listing toolbar: result range + rows-per-page */
.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 11px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px}
.table-toolbar-info{margin:0;color:var(--muted);font-size:11px}
.table-toolbar-info b{color:var(--ink-2);font-weight:800}
.per-page{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}
.per-page select{min-height:31px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink-2);font-size:11px;font-weight:800;cursor:pointer;transition:.18s}
.per-page select:hover{border-color:var(--brand)}
.per-page select:focus-visible{outline:2px solid var(--brand-ring);outline-offset:1px;border-color:var(--brand)}
/* Readability: tabular figures, centred counts, zebra rows */
th.num,td.num{text-align:center}
td.num,td.num-plain,.table-toolbar-info b,.pager-summary b{font-variant-numeric:tabular-nums}
th.col-actions,td.row-actions{white-space:nowrap}
tbody tr:nth-child(even){background:#fcfdfe}
tbody tr:hover{background:#f4fbfa}
.badge.muted{background:var(--surface-3);color:var(--muted-2);border-color:var(--line)}
/* Keyboard focus. Inputs already had a ring; links, buttons and summaries had nothing, so
   tabbing through a page gave no indication of position. :focus-visible keeps mouse clicks clean. */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}
/* Digits line up column-wise in every table, not just the ones with explicit classes. */
td{font-variant-numeric:tabular-nums}
/* A <td> with display:flex is no longer a table cell: it leaves the table layout algorithm, so its
   column width is ignored and the cell collapses. On the fixed-layout users table that squeezed the
   action cell from its 11% to 22px and wrapped "إدارة" one character per line. Cells stay cells and
   the buttons lay out inline instead. Selector is table-qualified so it outranks .users-table td,
   which lives in a later stylesheet. */
table td.row-actions{display:table-cell;white-space:nowrap}
table td.row-actions>*+*{margin-inline-start:8px}
/* A button label should never break mid-word, whatever squeezes its column. */
.button,button.primary,button.secondary-button,button.danger,.danger-button,.ok-button{white-space:nowrap}
/* Long forms ran as one flat column of eighteen fields with nothing to break them up. Grouping
   related fields gives the eye somewhere to rest and makes a half-filled form easy to scan.
   min-width:0 stops a fieldset from refusing to shrink inside a grid. */
.form-section{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:4px 15px 16px;margin:0 0 13px}
.form-section>legend{padding:0 8px;color:var(--brand-2);font-size:11px;font-weight:900;letter-spacing:.02em}
.form-section>legend small{display:block;color:var(--muted-2);font-size:10px;font-weight:700;letter-spacing:0}
.form-section .form-grid{margin-top:2px}
.form-section:last-of-type{margin-bottom:0}
/* Three per row keeps the dashboard's stats in whole rows and stops the last card sitting alone
   against an empty one. The narrower breakpoints in responsive-v5 still take over below 1181px,
   so this only changes the wide layout. */
@media (min-width:1181px){
  .stats-grid.phase3-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* With three per row each card is wider, so the icon sits beside the figure instead of stacked
   above it — same information, roughly half the dead space. */
.phase3-stats .stat{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:13px;min-height:0;padding:15px 16px}
.phase3-stats .stat .stat-icon{grid-row:span 2;margin-bottom:0}
.phase3-stats .stat small{grid-column:2;align-self:end;margin-bottom:1px}
.phase3-stats .stat strong{grid-column:2;align-self:start}
/* A stat that is also a link: same card, but it reacts to the pointer and keeps its own colour
   rather than inheriting the global link colour. */
.stat-link{text-decoration:none;color:inherit;cursor:pointer}
.stat-link:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.stat-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/* Detail / workspace */
.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0}.details-grid>div{padding:11px 0;border-bottom:1px solid #edf1f5}.details-grid .wide{grid-column:span 2}.details-grid dt{font-size:10px;color:#8491a3;margin-bottom:3px}.details-grid dd{margin:0;font-weight:800;line-height:1.6;white-space:normal;color:#26354a}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #f0d3d0;background:#fff9f8;border-radius:13px;margin-bottom:17px}.danger-zone p{margin:4px 0 0;color:#94635f;font-size:11px}.selection-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;max-height:520px;overflow-y:auto}.selection-item{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}.selection-item:last-child{border-bottom:0}.selection-item:hover{background:#f8fbfb}.selection-item span{display:grid;gap:2px}.selection-item small{color:var(--muted);font-size:10px}.select-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 3px;color:var(--muted);font-size:10px}.beneficiary-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.beneficiary-row:last-child{border-bottom:0}.beneficiary-row .selection-item{border-bottom:0;flex:1}.beneficiary-actions{display:flex;align-items:center;gap:5px;padding-left:9px}.mini-edit,.user-edit{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;margin:9px 0;padding:11px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;min-width:620px}.user-edit{grid-template-columns:repeat(2,minmax(160px,1fr));min-width:680px}.permission-box{grid-column:span 2;display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:10px;border:1px dashed #cdd7e2;border-radius:10px}.permission-box>b,.permission-box>p{grid-column:span 2;margin:0}.reset-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:8px 0;min-width:600px}.audit-json{width:min(600px,70vw);white-space:normal}.audit-json pre{direction:ltr;text-align:left;white-space:pre-wrap;word-break:break-word;background:#0c1728;color:#dbe7f4;padding:11px;border-radius:9px;max-height:260px;overflow:auto;font-size:10px}.qr-card{max-width:520px;text-align:center;margin:auto}.qr-card img{width:min(320px,90%);display:block;margin:18px auto;border:1px solid var(--line);padding:10px;border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.qr-video{width:100%;min-height:220px;max-height:420px;background:#0b1728;border-radius:14px;object-fit:cover;margin-bottom:10px}
/* Alerts */
.alert{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;align-items:start;gap:9px;padding:12px 13px;border-radius:12px;margin:0 0 14px;border:1px solid}.alert.success{background:#edf9f1;color:#176b39;border-color:#d4eedc}.alert.error{background:#fff3f1;color:#9a342d;border-color:#f2d4d0}
.alert.notice{background:var(--gold-soft);color:#7d5507;border-color:#eedaa8}
.alert .restorable-message{margin:5px 0 9px}.alert ul{margin:6px 16px 0 0;padding:0}.alert>[data-alert-close]{border:0;background:none;color:inherit;font-size:20px;line-height:1;cursor:pointer;opacity:.65}.alert>[data-alert-close]:hover{opacity:1}
/* Login */
.login-page{min-height:100vh;background:#07111f;display:grid;place-items:center;padding:28px;overflow:hidden;position:relative}.login-page::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 18% 20%,rgba(13,148,136,.22),transparent 28%),radial-gradient(circle at 82% 76%,rgba(213,163,63,.13),transparent 24%),linear-gradient(135deg,#081424,#0b1728 58%,#0a1826)}.login-shell{position:relative;z-index:1;width:min(1000px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid rgba(255,255,255,.12);border-radius:26px;overflow:hidden;box-shadow:0 42px 100px rgba(0,0,0,.35)}.login-visual{padding:42px;color:#e7edf5;background:linear-gradient(155deg,#0c2130,#0b2730);position:relative;overflow:hidden}.login-visual::after{content:"";position:absolute;width:300px;height:300px;border:55px solid rgba(255,255,255,.035);border-radius:50%;left:-120px;bottom:-130px}.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.login-brand .login-logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#19aa9c,#0a776f);display:grid;place-items:center;box-shadow:0 12px 28px rgba(13,148,136,.25)}.login-brand b{display:block;color:#fff;font-size:16px}.login-brand small{color:#8fa3b7;font-size:11px}.login-visual-copy{position:relative;z-index:2;margin-top:80px;max-width:390px}.login-visual h2{font-size:32px;line-height:1.35;margin:0 0 13px;color:#fff;letter-spacing:-.5px}.login-visual p{color:#9eb0c1;line-height:1.9;font-size:12px}.trust-list{display:grid;gap:9px;margin-top:25px}.trust-item{display:flex;align-items:center;gap:9px;font-size:11px;color:#bbc8d5}.trust-item i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(13,148,136,.14);color:#64d7ca}.login-card{padding:46px 44px;background:#fff;display:flex;flex-direction:column;justify-content:center}.login-card .mobile-login-logo{display:none}.login-card h1{text-align:right;margin:0 0 7px;font-size:24px;color:#111d30}.login-card>p{text-align:right;color:#7c899a;line-height:1.7;margin:0 0 24px;font-size:11px}.login-card label{display:block;font-size:11px;color:#526176;font-weight:800;margin:12px 0}.login-card label input{margin-top:6px}.login-card button.primary{margin-top:6px;min-height:44px}.login-note{display:block;text-align:center;color:#97a3b1;line-height:1.6;margin-top:17px;font-size:9px}.login-security{display:flex;align-items:center;justify-content:center;gap:5px;color:#8090a3;margin-top:15px;font-size:9px}
/* misc parity */
.account-link{color:#aebccc}.candidate-filter{margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #e8edf2}.aid-builder{margin-top:14px}.project-workspace{align-items:start}.candidate-filter{margin-bottom:14px}.phase3-stats{grid-template-columns:repeat(4,1fr)}
/* Collapsed */
.sidebar-collapsed .app-shell{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-item span,.sidebar-collapsed .user-copy,.sidebar-collapsed .sidebar-user-card form,.sidebar-collapsed .sidebar-user-card>a{display:none}.sidebar-collapsed .brand-wrap{justify-content:center}.sidebar-collapsed .brand{flex:0 0 auto}.sidebar-collapsed .sidebar-collapse{position:absolute;top:28px;left:-12px;background:#fff;color:#314057;box-shadow:var(--shadow);z-index:4}.sidebar-collapsed .sidebar-collapse .icon{transform:rotate(180deg)}.sidebar-collapsed .nav-item{justify-content:center;padding:10px}.sidebar-collapsed .sidebar-user-card{grid-template-columns:1fr;padding:8px}.sidebar-collapsed .avatar{margin:auto}.sidebar-collapsed .nav-item:hover::after{content:attr(title);position:absolute;right:60px;background:#111d2f;color:#fff;border:1px solid rgba(255,255,255,.08);padding:6px 9px;border-radius:8px;font-size:10px;white-space:nowrap;box-shadow:var(--shadow-lg)}
/* responsive */
.sidebar-overlay{display:none}.mobile-menu{display:none}@media(max-width:1250px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){:root{--sidebar:280px}.app-shell{display:block}.sidebar{position:fixed;right:0;top:0;width:var(--sidebar);transform:translateX(105%);box-shadow:var(--shadow-lg);transition:transform .25s ease}.sidebar-collapse{display:none}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(2,10,20,.48);backdrop-filter:blur(2px);z-index:45;opacity:0;pointer-events:none;transition:.2s}.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}.content{padding:0 18px 18px}.mobile-menu{display:grid}.topbar{padding-top:16px}.topbar-actions .release-chip{display:none}.stats-grid,.phase3-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.form-grid,.details-grid{grid-template-columns:1fr}.span-2,.details-grid .wide{grid-column:auto}.project-workspace{grid-template-columns:1fr}.mini-edit,.user-edit{grid-template-columns:1fr;min-width:300px}.permission-box{grid-column:auto;grid-template-columns:1fr}.permission-box>b,.permission-box>p{grid-column:auto}.bulk-options{grid-template-columns:1fr}}
@media(max-width:620px){body{font-size:13px}.content{padding:0 12px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:22px}.topbar p{font-size:10px}.eyebrow{display:none}.system-status span{display:none}.system-status{padding:9px}.stats-grid,.phase3-stats,.stats-4{grid-template-columns:1fr 1fr;gap:9px}.stat{min-height:94px;padding:14px}.stat strong{font-size:23px}.panel{padding:14px;border-radius:14px}.actions-bar{gap:6px}.button,button.primary,button.secondary-button,button.danger{font-size:11px;padding:8px 10px}.upload-row,.search-row,.danger-zone,.beneficiary-row{align-items:stretch;flex-direction:column}.search-row select{max-width:none}.form-actions{flex-wrap:wrap}.reset-row{grid-template-columns:1fr;min-width:300px}.app-footer{display:block;text-align:center}.app-footer span{display:block}.login-page{padding:14px}.login-shell{grid-template-columns:1fr;border-radius:20px}.login-visual{display:none}.login-card{padding:32px 24px}.login-card .mobile-login-logo{display:grid;width:52px;height:52px;margin-bottom:22px;border-radius:15px;background:linear-gradient(145deg,#12a698,#0b7b72);color:#fff;place-items:center}.table-wrap{border-radius:10px}th,td{padding:10px 9px}}
@media(max-width:420px){.stats-grid,.phase3-stats,.stats-4{grid-template-columns:1fr}.topbar-actions{display:none}}
@media print{.sidebar,.sidebar-overlay,.topbar,.actions-bar,.alert,.app-footer{display:none!important}.app-shell{display:block}.content{padding:0;background:#fff}.panel{border:0;box-shadow:none}.qr-card{border:0;box-shadow:none}}
