@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800;900&display=swap');

/* University Installments UI Program — UI Phase 01 */
:root{
 --ui-bg:#f4f7fb;--ui-surface:#fff;--ui-surface-2:#f8fafc;--ui-text:#182235;--ui-muted:#69758a;--ui-border:#e4eaf2;
 --ui-primary:#176b87;--ui-primary-2:#0f576f;--ui-primary-soft:#e9f5f8;--ui-success:#16805d;--ui-success-soft:#e9f7f1;
 --ui-warning:#b7791f;--ui-warning-soft:#fff7df;--ui-danger:#b83a48;--ui-danger-soft:#fff0f2;--ui-info:#3d68b2;--ui-info-soft:#edf3ff;
 --ui-sidebar:#142332;--ui-sidebar-2:#1a2d3e;--ui-sidebar-text:#dfe9f0;--ui-sidebar-muted:#93a8b7;
 --ui-radius-sm:8px;--ui-radius:12px;--ui-radius-lg:18px;--ui-shadow:0 8px 28px rgba(27,45,68,.08);--ui-shadow-sm:0 3px 14px rgba(27,45,68,.06);
 --ui-sidebar-w:284px;--ui-topbar-h:70px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,"Segoe UI",Arial,sans-serif;background:var(--ui-bg);color:var(--ui-text);font-size:14px;line-height:1.65}a{color:var(--ui-primary);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.ui-icon{display:inline-block;vertical-align:middle;flex:0 0 auto}
.app-shell{min-height:100vh}.ui-app{min-height:100vh}.ui-sidebar{position:fixed;top:0;right:0;bottom:0;width:var(--ui-sidebar-w);background:linear-gradient(180deg,var(--ui-sidebar),#10202d);color:var(--ui-sidebar-text);z-index:50;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.05);transition:transform .25s ease,width .25s ease}.ui-brand{height:78px;padding:16px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.07)}.ui-brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#3aa1b8,#176b87);display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}.ui-brand-copy{min-width:0}.ui-brand-title{font-weight:800;font-size:15px;color:#fff;white-space:nowrap}.ui-brand-sub{font-size:11px;color:var(--ui-sidebar-muted);white-space:nowrap}.ui-nav-search{padding:14px 14px 8px;position:relative}.ui-nav-search .ui-icon{position:absolute;right:26px;top:26px;color:#7f98a8}.ui-nav-search input{width:100%;height:40px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.055);color:#fff;border-radius:10px;padding:0 38px 0 12px;outline:none;margin:0}.ui-nav-search input::placeholder{color:#7891a2}.ui-nav-search input:focus{border-color:rgba(78,179,198,.65);background:rgba(255,255,255,.08)}.ui-nav{padding:6px 12px 18px;overflow-y:auto;flex:1}.ui-nav-group{margin:12px 0}.ui-nav-label{font-size:10px;font-weight:700;letter-spacing:.06em;color:#7891a2;padding:0 11px 6px}.ui-nav-link{display:flex;align-items:center;gap:11px;color:#cad8e1;padding:9px 11px;border-radius:10px;margin:2px 0;transition:.16s ease;position:relative}.ui-nav-link:hover{background:rgba(255,255,255,.065);color:#fff}.ui-nav-link.active{background:linear-gradient(90deg,rgba(42,151,176,.24),rgba(42,151,176,.11));color:#fff}.ui-nav-link.active:before{content:"";position:absolute;right:-12px;width:3px;height:22px;border-radius:3px;background:#43acc2}.ui-nav-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-sidebar-foot{border-top:1px solid rgba(255,255,255,.07);padding:12px}.ui-sidebar-user{display:flex;align-items:center;gap:10px;padding:7px}.ui-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-weight:700;color:#fff}.ui-user-meta{min-width:0;flex:1}.ui-user-name{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-user-role{font-size:11px;color:#8ea4b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-shell{margin-right:var(--ui-sidebar-w);min-height:100vh;transition:margin .25s ease}.ui-topbar{height:var(--ui-topbar-h);position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--ui-border);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.ui-topbar-start,.ui-topbar-end{display:flex;align-items:center;gap:12px}.ui-icon-btn{width:40px;height:40px;border:1px solid var(--ui-border);border-radius:10px;background:#fff;color:#526176;display:grid;place-items:center}.ui-icon-btn:hover{border-color:#cbd7e3;background:#f8fafc}.ui-topbar-title{font-size:15px;font-weight:800}.ui-topbar-date{color:var(--ui-muted);font-size:12px}.ui-account-pill{display:flex;align-items:center;gap:9px;padding:6px 10px;border:1px solid var(--ui-border);border-radius:12px;background:#fff}.ui-account-pill .ui-avatar{width:30px;height:30px;background:var(--ui-primary-soft);color:var(--ui-primary)}.ui-account-text{line-height:1.25}.ui-account-text strong{display:block;font-size:12px}.ui-account-text span{font-size:10px;color:var(--ui-muted)}.ui-logout{border:0;background:transparent;color:#758196;padding:7px;display:grid;place-items:center;border-radius:8px}.ui-logout:hover{color:var(--ui-danger);background:var(--ui-danger-soft)}.ui-main{padding:28px}.container{max-width:1500px;margin:0 auto;padding:0}.ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.ui-page-header h1{margin:2px 0 4px;font-size:27px;line-height:1.35;letter-spacing:-.02em}.ui-page-header p{margin:0;color:var(--ui-muted);max-width:720px}.ui-page-eyebrow{font-size:11px;color:var(--ui-primary);font-weight:800}.ui-page-actions{display:flex;gap:8px;flex-wrap:wrap}.ui-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}.ui-section-title h2,.ui-section-title h3{margin:0;font-size:17px}.ui-section-title p{margin:2px 0 0;color:var(--ui-muted);font-size:12px}
.card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--ui-shadow-sm)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ui-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ui-stat-card{background:#fff;border:1px solid var(--ui-border);border-radius:16px;padding:17px 18px;box-shadow:var(--ui-shadow-sm);position:relative;overflow:hidden}.ui-stat-card:after{content:"";position:absolute;left:-25px;bottom:-28px;width:85px;height:85px;border-radius:50%;background:currentColor;opacity:.035}.ui-stat-top{display:flex;align-items:center;gap:10px}.ui-stat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary)}.ui-stat-label{font-size:12px;color:var(--ui-muted);font-weight:700}.ui-stat-value{font-size:25px;font-weight:800;margin-top:12px;line-height:1.15;letter-spacing:-.02em}.ui-stat-meta{font-size:11px;color:var(--ui-muted);margin-top:7px}.tone-success .ui-stat-icon{background:var(--ui-success-soft);color:var(--ui-success)}.tone-warning .ui-stat-icon{background:var(--ui-warning-soft);color:var(--ui-warning)}.tone-danger .ui-stat-icon{background:var(--ui-danger-soft);color:var(--ui-danger)}.tone-info .ui-stat-icon{background:var(--ui-info-soft);color:var(--ui-info)}.ui-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:16px}.ui-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ui-quick-action{display:flex;align-items:center;gap:10px;border:1px solid var(--ui-border);background:#fff;border-radius:12px;padding:12px;color:var(--ui-text);font-weight:700;transition:.15s}.ui-quick-action:hover{border-color:#bfd4de;background:#f8fcfd;transform:translateY(-1px)}.ui-quick-icon{width:35px;height:35px;border-radius:10px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center}.ui-progress{height:8px;background:#edf1f5;border-radius:999px;overflow:hidden}.ui-progress>span{display:block;height:100%;background:linear-gradient(90deg,#39a3b9,var(--ui-primary));border-radius:inherit}.ui-progress-row{display:grid;grid-template-columns:160px 1fr 50px;gap:10px;align-items:center;margin:12px 0}.ui-progress-row strong{font-size:12px}.ui-progress-row small{text-align:left;color:var(--ui-muted)}.ui-info-strip{display:flex;gap:12px;align-items:flex-start;background:var(--ui-info-soft);border:1px solid #dbe7ff;color:#355787;border-radius:13px;padding:13px 14px;margin-bottom:16px}.ui-info-strip strong{display:block;margin-bottom:1px}.ui-info-strip p{margin:0;font-size:12px}.ui-empty-state{text-align:center;padding:30px 16px;color:var(--ui-muted)}.ui-empty-state strong{display:block;color:var(--ui-text);margin-top:8px}.ui-empty-state p{margin:3px auto 0;max-width:420px}.ui-empty-icon{width:46px;height:46px;border-radius:14px;background:var(--ui-surface-2);display:grid;place-items:center;margin:auto;color:#8b98aa}
.muted{color:var(--ui-muted)}.small{font-size:12px}.mono{font-family:Consolas,monospace;direction:ltr;text-align:left}.amount{font-variant-numeric:tabular-nums}.big-amount{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.actions{display:flex;gap:8px;flex-wrap:wrap}.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline>div{min-width:150px;flex:1}.student-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.permissions{columns:2;column-gap:20px}.permissions label{display:block;break-inside:avoid;margin:5px 0}.scope-tree,.structure-node{border:1px solid var(--ui-border);border-radius:12px;padding:14px;margin:10px 0;background:#fff}.scope-tree h4{margin:0 0 8px}.scope-child{margin-right:22px;padding-right:10px;border-right:2px solid #e8edf3}.qrbox{text-align:center;padding:18px;border:1px dashed #a8b8c7;border-radius:14px;background:#fbfcfe}.qrbox img{max-width:260px;width:100%}.bar{height:8px;background:#e8edf3;border-radius:999px;overflow:hidden;min-width:80px}.bar i{display:block;height:100%;background:var(--ui-primary)}
label{font-size:12px;font-weight:700;color:#49566a}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d7e0e9;border-radius:10px;margin:6px 0 12px;background:#fff;color:var(--ui-text);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#70aebe;box-shadow:0 0 0 3px rgba(23,107,135,.09)}input[type=checkbox],input[type=radio]{width:auto}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:var(--ui-primary);color:#fff;padding:9px 14px;border-radius:10px;text-decoration:none;font-weight:700;line-height:1.3;transition:.15s}.btn:hover,button:hover{background:var(--ui-primary-2);color:#fff}.btn.secondary{background:#53657a}.btn.secondary:hover{background:#405166}.btn.danger{background:var(--ui-danger)}.btn.danger:hover{background:#9e2f3c}.btn.light{background:#f3f6f9;color:#334155;border-color:#e1e8ef}.btn.light:hover{background:#e9eef4;color:#243143}.btn.success{background:var(--ui-success)}.alert,.warning{padding:12px 14px;border-radius:11px;margin-bottom:14px;border:1px solid}.alert{background:var(--ui-success-soft);color:#12674c;border-color:#d3eee4}.warning{background:var(--ui-warning-soft);color:#855b17;border-color:#f1e3b9}.error{color:var(--ui-danger);font-size:12px}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#edf1f5;color:#526176;font-size:11px;font-weight:700}.badge.ok{background:var(--ui-success-soft);color:var(--ui-success)}.badge.off{background:var(--ui-danger-soft);color:var(--ui-danger)}
table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:right;padding:11px 10px;border-bottom:1px solid #edf1f5;vertical-align:top}th{background:#f8fafc;color:#5b687a;font-size:11px;font-weight:800}tbody tr:hover td{background:#fbfdff}tbody tr:last-child td{border-bottom:0}.ui-table-wrap{overflow:auto;border:1px solid var(--ui-border);border-radius:13px}.ui-table-wrap table{min-width:700px}.ui-audit-event{font-weight:700}.ui-time{font-size:11px;color:var(--ui-muted);white-space:nowrap}
.guest-shell{min-height:100vh;background:radial-gradient(circle at 80% 10%,#e8f5f8 0,transparent 32%),radial-gradient(circle at 15% 90%,#edf2fb 0,transparent 30%),#f6f8fb}.guest-shell .ui-guest-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.guest-shell .ui-main{padding:0;width:100%;max-width:560px}.guest-shell .container{max-width:560px}.guest-shell .card{box-shadow:var(--ui-shadow);border-radius:20px}.ui-guest-brand{text-align:center;margin-bottom:16px}.ui-guest-brand .ui-brand-mark{margin:auto}.ui-guest-brand h1{font-size:20px;margin:10px 0 2px}.ui-guest-brand p{margin:0;color:var(--ui-muted);font-size:12px}
.ui-overlay{display:none}.ui-mobile-only{display:none}.ui-desktop-only{display:inline-flex}.ui-sidebar-collapsed .ui-sidebar{width:82px}.ui-sidebar-collapsed .ui-shell{margin-right:82px}.ui-sidebar-collapsed .ui-brand-copy,.ui-sidebar-collapsed .ui-nav-label,.ui-sidebar-collapsed .ui-nav-link span,.ui-sidebar-collapsed .ui-nav-search input,.ui-sidebar-collapsed .ui-user-meta{display:none}.ui-sidebar-collapsed .ui-nav-search{height:54px}.ui-sidebar-collapsed .ui-nav-search .ui-icon{right:28px}.ui-sidebar-collapsed .ui-nav-link{justify-content:center}.ui-sidebar-collapsed .ui-nav-link.active:before{right:-12px}.ui-sidebar-collapsed .ui-brand{justify-content:center;padding:14px}.ui-sidebar-collapsed .ui-sidebar-user{justify-content:center}
@media(max-width:1180px){.ui-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-dashboard-grid{grid-template-columns:1fr}.ui-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ui-sidebar{transform:translateX(105%);width:min(86vw,300px)}.ui-shell,.ui-sidebar-collapsed .ui-shell{margin-right:0}.ui-sidebar-collapsed .ui-sidebar{width:min(86vw,300px)}.ui-sidebar-collapsed .ui-brand-copy,.ui-sidebar-collapsed .ui-nav-label,.ui-sidebar-collapsed .ui-nav-link span,.ui-sidebar-collapsed .ui-nav-search input,.ui-sidebar-collapsed .ui-user-meta{display:block}.ui-sidebar-collapsed .ui-nav-link{justify-content:flex-start}.ui-sidebar-collapsed .ui-brand{justify-content:flex-start;padding:16px 18px}.ui-sidebar-collapsed .ui-sidebar-user{justify-content:flex-start}.ui-nav-open .ui-sidebar{transform:translateX(0)}.ui-overlay{position:fixed;inset:0;background:rgba(7,18,28,.42);z-index:45}.ui-nav-open .ui-overlay{display:block}.ui-mobile-only{display:grid}.ui-desktop-only{display:none}.ui-topbar{padding:0 14px}.ui-main{padding:20px 14px}.ui-page-header{align-items:flex-start;flex-direction:column}.ui-page-header h1{font-size:23px}.permissions{columns:1}.scope-child{margin-right:8px}.ui-account-text{display:none}}
@media(max-width:620px){.ui-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.ui-stat-card{padding:14px}.ui-stat-value{font-size:20px}.ui-quick-grid{grid-template-columns:1fr 1fr}.ui-topbar-date{display:none}.ui-main{padding:16px 10px}.card{padding:15px;border-radius:15px}.ui-progress-row{grid-template-columns:105px 1fr 42px}.ui-page-actions{width:100%}.ui-page-actions .btn{flex:1}.inline{display:block}table{display:block;overflow-x:auto;white-space:nowrap}th,td{min-width:110px}}
@media(max-width:430px){.ui-kpi-grid,.ui-quick-grid{grid-template-columns:1fr}.ui-topbar-title{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media print{.ui-sidebar,.ui-topbar,.ui-overlay,.ui-page-actions{display:none!important}.ui-shell{margin:0!important}.ui-main{padding:0}.card{box-shadow:none;border-color:#ddd}.app-shell{background:#fff}}

/* University Installments UI Program — UI Phase 02: Students + Profile + QR */
.ui-search-primary{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ui-search-box{position:relative;flex:1;min-width:280px}.ui-search-box .ui-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#8b98a8}.ui-search-box input{margin:0;padding-right:42px;height:44px}.btn.ghost{background:transparent;color:var(--ui-muted);border-color:transparent}.btn.ghost:hover{background:var(--ui-surface-2);color:var(--ui-text)}.btn-sm{padding:7px 10px;font-size:12px}.btn-block{width:100%;justify-content:center}.btn.danger-outline,.danger-outline{background:#fff;color:var(--ui-danger);border:1px solid #f0c8cf}.btn.danger-outline:hover,.danger-outline:hover{background:var(--ui-danger-soft)}.ui-filter-panel{display:none;margin-top:16px;border-top:1px solid var(--ui-border);padding-top:16px}.ui-filter-panel.is-open{display:block}.ui-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ui-filter-actions{display:flex;gap:8px;margin-top:14px}.ui-list-meta{display:flex;justify-content:space-between;gap:12px;margin:4px 2px 10px;font-size:12px;color:var(--ui-muted)}.ui-list-meta strong{color:var(--ui-text)}.ui-table-card{padding:0;overflow:hidden}.ui-table-scroll{overflow-x:auto}.ui-students-table th{background:#f8fafc;color:#667386;font-size:11px}.ui-students-table td{vertical-align:middle}.ui-student-cell{display:flex;align-items:center;gap:11px;min-width:225px}.ui-student-avatar,.ui-profile-avatar{display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#e8f5f8,#d9edf3);color:var(--ui-primary);font-weight:800}.ui-student-avatar{width:38px;height:38px;flex:0 0 38px}.ui-student-avatar.is-muted{background:#eef1f4;color:#788493}.ui-student-name{font-weight:800;color:var(--ui-text)}.ui-student-sub{display:flex;align-items:center;gap:6px;color:var(--ui-muted);font-size:11px}.ui-academic-path{min-width:220px}.ui-academic-path strong,.ui-academic-path span{display:block}.ui-academic-path span{color:var(--ui-muted);font-size:11px}.ui-finance-badges{display:flex;gap:5px;flex-wrap:wrap}.badge.warn,.ui-badge-warning{background:var(--ui-warning-soft);color:var(--ui-warning)}.ui-badge-danger{background:var(--ui-danger-soft);color:var(--ui-danger)}.ui-pagination-wrap{padding:14px 18px;border-top:1px solid var(--ui-border)}.ui-profile-hero{background:linear-gradient(135deg,#fff,#f8fbfc);border:1px solid var(--ui-border);border-radius:20px;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:var(--ui-shadow-sm);margin-bottom:14px}.ui-profile-main{display:flex;align-items:center;gap:15px}.ui-profile-avatar{width:62px;height:62px;flex:0 0 62px;font-size:25px;border-radius:18px}.ui-profile-eyebrow{font-size:11px;color:var(--ui-primary);font-weight:800}.ui-profile-main h1,.ui-qr-result-hero h1{margin:3px 0 5px;font-size:25px}.ui-profile-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--ui-muted);font-size:11px}.ui-profile-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ui-profile-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ui-mini-kpi{background:#fff;border:1px solid var(--ui-border);border-radius:14px;padding:13px 15px}.ui-mini-kpi span{display:block;color:var(--ui-muted);font-size:10px}.ui-mini-kpi.is-danger{background:var(--ui-danger-soft);border-color:#f2d5da}.ui-profile-tabs{display:flex;gap:4px;overflow-x:auto;background:#fff;border:1px solid var(--ui-border);border-radius:13px;padding:5px;margin-bottom:14px;position:sticky;top:82px;z-index:15}.ui-profile-tabs a{white-space:nowrap;padding:8px 12px;border-radius:9px;color:var(--ui-muted);font-size:12px;font-weight:700}.ui-profile-tabs a:hover{background:var(--ui-primary-soft);color:var(--ui-primary)}.ui-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.ui-profile-section{scroll-margin-top:145px}.ui-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.ui-section-heading>div{display:flex;gap:10px}.ui-section-heading h2{font-size:16px;margin:0}.ui-section-heading p{font-size:11px;color:var(--ui-muted);margin:2px 0}.ui-section-icon{width:36px;height:36px;border-radius:10px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;flex:0 0 auto}.ui-detail-grid,.ui-academic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ui-detail-grid>div,.ui-academic-grid>div{background:#f8fafc;border:1px solid #edf1f4;border-radius:10px;padding:10px 12px}.ui-detail-grid span,.ui-academic-grid span{display:block;font-size:10px;color:var(--ui-muted)}.ui-finance-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.ui-finance-progress strong{font-size:22px}.ui-finance-progress span{font-size:10px;color:var(--ui-muted)}.ui-finance-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ui-finance-numbers div{border-right:1px solid var(--ui-border);padding-right:10px}.ui-finance-numbers span{display:block;color:var(--ui-muted);font-size:10px}.ui-profile-side{align-self:start;position:sticky;top:135px}.ui-side-card{text-align:center}.ui-side-card-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary);margin:0 auto 10px}.ui-side-card p{font-size:11px;color:var(--ui-muted)}.ui-sensitive-card{border-color:#f0d8dc;background:#fffafb}.ui-debt-list{display:grid;gap:8px}.ui-debt-row{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(100px,.7fr));gap:10px;align-items:center;border:1px solid var(--ui-border);border-radius:11px;padding:10px 12px}.ui-debt-row span{display:block;font-size:10px;color:var(--ui-muted)}.ui-danger-text{color:var(--ui-danger)}.ui-form-stack{display:grid;gap:13px}.ui-form-stack .card{margin:0}.ui-form-section-head{display:flex;gap:11px;align-items:flex-start;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--ui-border)}.ui-form-section-head h2{font-size:16px;margin:0}.ui-form-section-head p{font-size:11px;color:var(--ui-muted);margin:2px 0}.ui-step-number{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ui-primary);color:#fff;font-weight:800}.ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ui-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-form-grid small{display:block;font-size:10px;color:var(--ui-muted);margin-top:-6px}.ui-sticky-submit{position:sticky;bottom:12px;z-index:20;background:rgba(255,255,255,.96);border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 10px 30px rgba(27,45,68,.14);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.ui-sticky-submit span{display:block;font-size:10px;color:var(--ui-muted)}.ui-check{display:flex;align-items:flex-start;gap:8px;margin:12px 0}.ui-check input{width:auto}.ui-qr-station{max-width:980px;margin:auto}.ui-qr-reader-card{display:grid;grid-template-columns:280px 1fr;gap:26px;align-items:center;padding:30px}.ui-qr-visual{height:250px;border:1px dashed #b8c9d3;border-radius:22px;background:#f1f8fa;display:grid;place-items:center;color:var(--ui-primary);position:relative;overflow:hidden}.ui-qr-visual span{width:108px;height:108px;border:2px solid #79afbf;border-radius:20px;display:grid;place-items:center;background:#fff}.ui-qr-visual i{position:absolute;left:25px;right:25px;height:2px;background:#43a6bd;animation:uiQrScan 2.5s ease-in-out infinite}.ui-qr-copy h2{font-size:22px;margin:0}.ui-qr-copy>p{color:var(--ui-muted);font-size:12px}.ui-qr-input{position:relative}.ui-qr-input .ui-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%)}.ui-qr-input input{height:50px;padding-right:44px}.ui-qr-help{display:grid;grid-template-columns:repeat(3,1fr);padding:0;overflow:hidden}.ui-qr-help>div{padding:17px}.ui-qr-help>div+div{border-right:1px solid var(--ui-border)}.ui-qr-help strong{display:block;font-size:12px}.ui-qr-help p{font-size:10px;color:var(--ui-muted)}.ui-qr-result-hero{background:#fff;border:1px solid var(--ui-border);border-radius:18px;padding:20px;display:flex;align-items:center;gap:14px;margin-bottom:14px}.ui-qr-result-hero>div:nth-child(2){flex:1}.ui-qr-result-actions{display:flex;gap:7px;flex-wrap:wrap}.ui-qr-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ui-finance-status-line{display:flex;justify-content:space-between;align-items:center}.ui-debt-alert{display:flex;gap:9px;background:var(--ui-danger-soft);border-radius:11px;padding:11px;margin-top:12px;color:var(--ui-danger)}.ui-debt-alert strong,.ui-debt-alert span{display:block}.ui-success-note{display:flex;gap:7px;background:var(--ui-success-soft);color:var(--ui-success);border-radius:10px;padding:10px;margin-top:12px}.ui-danger-panel{display:flex;gap:13px;background:var(--ui-danger-soft);border:1px solid #efc8d0;border-radius:16px;padding:17px;margin-bottom:14px;color:#7f2f3b}.ui-danger-panel>span{width:44px;height:44px;border-radius:12px;background:#fff;display:grid;place-items:center}.ui-danger-panel h2{margin:0}.ui-danger-panel.is-strong{border-width:2px}.ui-sensitive-form{max-width:760px}@keyframes uiQrScan{0%,100%{top:35px}50%{top:210px}}@media(max-width:1100px){.ui-filter-grid{grid-template-columns:repeat(2,1fr)}.ui-profile-layout{grid-template-columns:1fr}.ui-profile-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px}.ui-profile-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.ui-search-box{min-width:100%}.ui-filter-grid,.ui-form-grid,.ui-form-grid-3,.ui-detail-grid,.ui-academic-grid,.ui-qr-result-grid{grid-template-columns:1fr}.ui-profile-hero,.ui-qr-result-hero{align-items:flex-start;flex-direction:column}.ui-profile-actions,.ui-qr-result-actions{width:100%}.ui-finance-summary{grid-template-columns:1fr}.ui-debt-row{grid-template-columns:1fr 1fr}.ui-profile-side{grid-template-columns:1fr}.ui-qr-reader-card{grid-template-columns:1fr;padding:18px}.ui-qr-visual{height:190px}.ui-qr-help{grid-template-columns:1fr}.ui-qr-help>div+div{border-right:0;border-top:1px solid var(--ui-border)}.ui-sticky-submit{position:static;flex-direction:column;align-items:stretch}}@media(max-width:470px){.ui-profile-kpis{grid-template-columns:1fr 1fr}.ui-profile-avatar{width:50px;height:50px;flex-basis:50px}.ui-profile-main h1{font-size:20px}.ui-debt-row{grid-template-columns:1fr}@keyframes uiQrScan{0%,100%{top:28px}50%{top:130px}}}

/* UI Phase 03: Financial Plans + Student Finance + Discounts */
.ui-phase03-head{margin-bottom:16px}.ui-phase03-head .ui-eyebrow,.ui-plan-hero .ui-eyebrow{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--ui-primary);text-transform:uppercase}.ui-phase03-head h1{margin:2px 0 3px;font-size:26px}.ui-phase03-head p{max-width:760px;margin:0;color:var(--ui-muted);font-size:12px}
.ui-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.ui-student-finance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.ui-finance-kpi{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:15px;padding:14px;display:flex;align-items:center;gap:11px;min-width:0;box-shadow:var(--ui-shadow-sm)}.ui-finance-kpi>div{min-width:0}.ui-finance-kpi span:not(.ui-kpi-icon){display:block;color:var(--ui-muted);font-size:10px}.ui-finance-kpi strong{display:block;font-size:19px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-finance-kpi small{display:block;color:var(--ui-muted);font-size:9px}.ui-finance-kpi.is-emphasis{border-width:2px}.ui-finance-kpi.is-emphasis.is-danger{background:var(--ui-danger-soft);border-color:#ecc5cd}.ui-finance-kpi.is-emphasis.is-success{background:var(--ui-success-soft);border-color:#c9eadc}.ui-kpi-icon{width:39px;height:39px;border-radius:12px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;flex:0 0 auto}.ui-kpi-icon.is-warning{background:var(--ui-warning-soft);color:var(--ui-warning)}.ui-kpi-icon.is-success{background:var(--ui-success-soft);color:var(--ui-success)}.ui-kpi-icon.is-primary{background:var(--ui-primary);color:#fff}
.ui-plan-filter-grid{grid-template-columns:1.2fr repeat(5,minmax(120px,1fr))}.ui-table-primary{display:flex;flex-direction:column;min-width:0}.ui-table-primary strong{font-size:12px}.ui-table-primary span{font-size:10px;color:var(--ui-muted);max-width:320px}.ui-version-pill{display:inline-grid;place-items:center;min-width:38px;height:26px;padding:0 8px;border-radius:8px;background:#eef3f7;border:1px solid #dde5ed;color:#45556b;font-weight:800;font-size:10px}.ui-currency-label{display:block;color:var(--ui-muted);font-size:9px}.ui-info-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:var(--ui-info-soft);color:var(--ui-info);font-size:10px;font-weight:700}.badge.warn{background:var(--ui-warning-soft);color:var(--ui-warning);border-color:#f1dfad}.badge.info{background:var(--ui-info-soft);color:var(--ui-info);border-color:#d6e2fb}.ui-empty-state{padding:34px;text-align:center;color:var(--ui-muted)}.ui-empty-state>span{width:54px;height:54px;border-radius:16px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;margin:0 auto 10px}.ui-empty-state h3{color:var(--ui-text);margin:0 0 3px}.ui-empty-state p{font-size:11px}.btn.compact{padding:7px 10px;font-size:10px}.btn.full{width:100%;justify-content:center;margin-top:12px}
.ui-info-panel{display:flex;gap:11px;align-items:flex-start;background:var(--ui-info-soft);border:1px solid #dbe5fb;border-radius:14px;padding:13px 15px;color:#35588e}.ui-info-panel>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff;flex:0 0 auto}.ui-info-panel strong{display:block;color:#294a7c}.ui-info-panel p{margin:2px 0 0;font-size:11px}.ui-plan-rule{margin-bottom:14px}.ui-plan-step{padding:18px}.ui-plan-context-wrap small{display:block;margin-top:4px;color:var(--ui-muted);font-size:10px}.ui-context-preview{margin-top:10px;display:flex;align-items:center;gap:10px;background:var(--ui-surface-2);border:1px dashed #cad6e2;border-radius:12px;padding:11px 13px;color:var(--ui-muted)}.ui-context-preview>span{color:var(--ui-primary)}.ui-context-preview strong,.ui-context-preview small{display:block}.ui-context-preview strong{color:var(--ui-text);font-size:11px}.ui-context-preview small{font-size:9px}.ui-policy-toggle{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--ui-border);border-radius:13px;padding:13px;background:#fbfcfe}.ui-policy-toggle input{width:auto;margin-top:4px}.ui-policy-toggle strong,.ui-policy-toggle small{display:block}.ui-policy-toggle small{font-size:10px;color:var(--ui-muted)}.ui-live-plan-preview,.ui-discount-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}.ui-live-plan-preview>div,.ui-discount-preview>div{background:#f8fafc;border:1px solid #edf1f4;border-radius:11px;padding:10px 12px}.ui-live-plan-preview span,.ui-discount-preview span{display:block;color:var(--ui-muted);font-size:9px}.ui-live-plan-preview strong,.ui-discount-preview strong{font-size:13px}.ui-help-note{display:flex;align-items:flex-start;gap:7px;border-radius:10px;background:var(--ui-primary-soft);color:#355f70;padding:9px 11px;margin-top:10px;font-size:10px}.ui-help-note.is-danger{background:var(--ui-danger-soft);color:var(--ui-danger)}
.ui-plan-hero{background:linear-gradient(135deg,#fff,#f5fafb);border:1px solid var(--ui-border);border-radius:18px;padding:18px 20px;margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:var(--ui-shadow-sm)}.ui-plan-hero-main{min-width:0}.ui-plan-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ui-plan-title-row h1{margin:2px 0;font-size:24px}.ui-plan-hero-main>p{margin:3px 0;color:var(--ui-muted);font-size:11px}.ui-plan-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;color:var(--ui-muted);font-size:10px}.ui-plan-meta span{display:flex;align-items:center;gap:4px}.ui-approval-gate{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--ui-warning-soft);border:1px solid #efdca2;border-radius:15px;padding:14px 15px;margin-bottom:14px}.ui-approval-icon{width:42px;height:42px;border-radius:12px;background:#fff;color:var(--ui-warning);display:grid;place-items:center}.ui-approval-gate strong{display:block}.ui-approval-gate p{margin:1px 0;color:#7b642e;font-size:10px}.ui-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.ui-plan-side{display:grid;gap:14px;align-self:start;position:sticky;top:84px}.ui-plan-schedule-card{min-width:0}.ui-installment-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--ui-primary-soft);color:var(--ui-primary);font-weight:800}.ui-revision-list{display:grid;gap:6px}.ui-revision-row{display:flex;align-items:center;gap:9px;border:1px solid var(--ui-border);border-radius:10px;padding:9px;color:var(--ui-text)}.ui-revision-row:hover,.ui-revision-row.active{background:var(--ui-primary-soft);border-color:#bfdbe2}.ui-revision-row div{min-width:0}.ui-revision-row strong,.ui-revision-row small{display:block}.ui-revision-row strong{font-size:10px}.ui-revision-row small{font-size:9px;color:var(--ui-muted)}.ui-plan-guidance{text-align:right}.ui-plan-guidance .ui-side-card-icon{margin:0 0 10px}.ui-plan-guidance h3{margin:0 0 4px}
.ui-finance-student-hero{margin-bottom:13px}.ui-finance-empty-layout{max-width:1040px}.ui-assignment-card{padding:19px}.ui-plan-choice-list{display:grid;gap:8px;margin:14px 0}.ui-plan-choice{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border:1px solid var(--ui-border);border-radius:13px;padding:12px 14px;cursor:pointer;transition:.15s ease}.ui-plan-choice:hover{border-color:#9dc9d4;background:#f9fcfd}.ui-plan-choice:has(input:checked){border-color:var(--ui-primary);background:var(--ui-primary-soft);box-shadow:0 0 0 2px rgba(23,107,135,.08)}.ui-plan-choice input{width:auto}.ui-plan-choice-main>span,.ui-plan-choice-main>small{display:block}.ui-plan-choice-main>span:not(.ui-plan-choice-top){font-size:11px}.ui-plan-choice-main>small{font-size:9px;color:var(--ui-muted)}.ui-plan-choice-top{display:flex!important;align-items:center;gap:7px;margin-bottom:2px}.ui-choice-check{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf2f5;color:transparent;font-weight:800}.ui-plan-choice:has(input:checked) .ui-choice-check{background:var(--ui-primary);color:#fff}.ui-collection-progress-card{padding:14px 16px}.ui-collection-head,.ui-collection-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.ui-collection-head>div strong,.ui-collection-head>div span{display:block}.ui-collection-head>div span{font-size:9px;color:var(--ui-muted)}.ui-collection-head>strong{font-size:18px;color:var(--ui-primary)}.ui-progress-track{height:8px;background:#edf1f4;border-radius:999px;overflow:hidden;margin:9px 0}.ui-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--ui-primary),#43a6bd);border-radius:inherit}.ui-collection-foot{justify-content:flex-start;gap:20px;color:var(--ui-muted);font-size:9px}.ui-finance-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;margin-top:14px}.ui-finance-main{min-width:0;display:grid;gap:14px}.ui-finance-side{display:grid;gap:14px;align-self:start;position:sticky;top:84px}.ui-success-text{color:var(--ui-success)}.ui-active-discount{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--ui-warning-soft);border:1px solid #f0dda9;border-radius:14px;padding:13px}.ui-active-discount-icon{width:42px;height:42px;border-radius:12px;background:#fff;color:var(--ui-warning);display:grid;place-items:center}.ui-active-discount-main{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center}.ui-active-discount-main span{display:block;color:#7b642e;font-size:9px}.ui-active-discount-main strong{font-size:13px}.ui-active-discount-main p{margin:0;color:#6c5c34;font-size:10px}.ui-discount-void-form{margin-top:10px;background:var(--ui-danger-soft);border-radius:12px;padding:12px}.ui-discount-form textarea{min-height:74px}.ui-form-action-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.ui-form-action-line .ui-help-note{margin:0;flex:1}.ui-history-details{margin-top:12px;border-top:1px solid var(--ui-border);padding-top:10px}.ui-history-details summary{cursor:pointer;font-weight:700;color:var(--ui-primary);font-size:11px;margin-bottom:9px}.ui-empty-inline{padding:12px;border-radius:10px;background:var(--ui-surface-2);color:var(--ui-muted);font-size:10px}.ui-operational-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ui-operation-box{border:1px solid var(--ui-border);border-radius:13px;padding:13px;background:#fbfcfd}.ui-operation-box h3{margin:0}.ui-operation-box>p{font-size:10px;color:var(--ui-muted)}.ui-operation-box form{display:grid;gap:8px}.ui-phase04-preview{border-style:dashed}.ui-finance-plan-card .ui-detail-grid{grid-template-columns:1fr 1fr}.ui-old-debt-total{background:var(--ui-danger-soft);border-radius:11px;padding:11px;margin-bottom:9px}.ui-old-debt-total span,.ui-old-debt-total strong{display:block}.ui-old-debt-total span{font-size:9px;color:var(--ui-muted)}.ui-old-debt-total strong{color:var(--ui-danger);font-size:16px}.ui-debt-mini{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--ui-border);padding:7px 0}.ui-debt-mini:last-child{border-bottom:0}.ui-debt-mini div strong,.ui-debt-mini div span{display:block}.ui-debt-mini div strong{font-size:10px}.ui-debt-mini div span{font-size:9px;color:var(--ui-muted)}.ui-debt-mini>strong{font-size:11px;color:var(--ui-danger)}.ui-section-icon.danger{background:var(--ui-danger-soft);color:var(--ui-danger)}
@media(max-width:1250px){.ui-plan-filter-grid{grid-template-columns:repeat(3,1fr)}.ui-student-finance-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.ui-finance-kpis{grid-template-columns:repeat(2,1fr)}.ui-plan-layout,.ui-finance-layout{grid-template-columns:1fr}.ui-plan-side,.ui-finance-side{position:static;grid-template-columns:1fr 1fr}.ui-student-finance-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ui-phase03-head,.ui-plan-hero{align-items:flex-start;flex-direction:column}.ui-plan-filter-grid,.ui-live-plan-preview,.ui-discount-preview,.ui-operational-grid{grid-template-columns:1fr 1fr}.ui-approval-gate{grid-template-columns:auto 1fr}.ui-approval-gate form{grid-column:1/-1}.ui-approval-gate .btn{width:100%;justify-content:center}.ui-plan-side,.ui-finance-side{grid-template-columns:1fr}.ui-student-finance-kpis{grid-template-columns:repeat(2,1fr)}.ui-active-discount{grid-template-columns:auto 1fr}.ui-active-discount>.btn{grid-column:1/-1}.ui-active-discount-main{grid-template-columns:1fr 1fr}.ui-active-discount-main p{grid-column:1/-1}.ui-form-action-line{align-items:stretch;flex-direction:column}.ui-plan-choice{grid-template-columns:auto 1fr}.ui-choice-check{display:none}}
@media(max-width:520px){.ui-finance-kpis,.ui-student-finance-kpis,.ui-plan-filter-grid,.ui-live-plan-preview,.ui-discount-preview{grid-template-columns:1fr}.ui-collection-foot{display:grid;grid-template-columns:1fr 1fr}.ui-plan-title-row h1{font-size:20px}.ui-plan-hero{padding:15px}.ui-plan-choice{padding:10px}.ui-active-discount-main{grid-template-columns:1fr}}

/* UI Phase 04: Payments + Receipts + Cashbox */
.ui-payment-workspace{border:1px solid #dbe5ea;box-shadow:0 8px 24px rgba(27,45,68,.06)}.ui-payment-heading{margin-bottom:13px}.ui-payment-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:13px}.ui-payment-summary-strip>div{background:linear-gradient(180deg,#fbfdfe,#f6f9fb);border:1px solid var(--ui-border);border-radius:12px;padding:11px 12px}.ui-payment-summary-strip span,.ui-payment-summary-strip small{display:block;color:var(--ui-muted);font-size:9px}.ui-payment-summary-strip strong{display:block;font-size:13px;margin:1px 0}.ui-payment-form{border:1px solid #cfe1e6;background:linear-gradient(145deg,#fff,#f8fcfd);border-radius:16px;padding:15px}.ui-payment-entry-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;align-items:end}.ui-payment-amount-field label,.ui-payment-approval-field label{font-weight:800}.ui-money-input-wrap{position:relative}.ui-money-input-wrap input{font-size:21px;font-weight:800;height:54px;padding-left:50px;background:#fff}.ui-money-input-wrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--ui-muted);font-weight:700}.ui-payment-amount-field small,.ui-payment-approval-field small{display:block;margin-top:4px;color:var(--ui-muted);font-size:9px}.ui-payment-policy-ok{min-height:78px;border:1px solid #cce7dc;background:var(--ui-success-soft);border-radius:12px;padding:11px;display:flex;align-items:center;gap:9px}.ui-payment-policy-ok>span{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--ui-success);display:grid;place-items:center}.ui-payment-policy-ok strong,.ui-payment-policy-ok small{display:block}.ui-payment-policy-ok small{color:#4c7464;font-size:9px}.ui-payment-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}.ui-payment-preview>div{border:1px solid #e1e8ed;background:#fff;border-radius:11px;padding:10px 11px}.ui-payment-preview span,.ui-payment-preview small{display:block;font-size:9px;color:var(--ui-muted)}.ui-payment-preview strong{display:block;font-size:13px}.ui-payment-validation{margin-top:9px;border-radius:10px;padding:9px 11px;font-size:10px;background:var(--ui-danger-soft);color:var(--ui-danger);border:1px solid #f1ccd2}.ui-payment-validation.is-ok{background:var(--ui-success-soft);color:var(--ui-success);border-color:#c9e8dc}.ui-payment-submit-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.ui-payment-submit-line .ui-help-note{margin:0;flex:1}.ui-payment-submit:disabled{opacity:.5;cursor:not-allowed}.ui-partial-request-panel{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:12px;align-items:center;border:1px dashed #d8c47f;background:#fffbef;border-radius:14px;padding:12px;margin-top:12px}.ui-partial-request-copy{display:flex;gap:10px;align-items:flex-start}.ui-partial-icon{width:36px;height:36px;border-radius:10px;background:#fff;color:var(--ui-warning);display:grid;place-items:center;flex:0 0 auto}.ui-partial-request-copy strong,.ui-partial-request-copy p{display:block}.ui-partial-request-copy p{font-size:9px;color:#76643b;margin:2px 0}.ui-partial-request-form{display:grid;grid-template-columns:.65fr 1fr auto;gap:8px;align-items:end}.ui-partial-request-form label{font-size:9px}.ui-partial-request-form .btn{height:42px}.ui-partial-decision{display:flex;align-items:center;gap:5px}.ui-partial-decision select,.ui-partial-decision input{min-width:0;margin:0;height:34px;padding:5px 7px}.ui-payment-history-table .ui-receipt-link{font-weight:800}.ui-payment-history[open] summary{margin-bottom:10px}
.ui-receipt-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;background:linear-gradient(135deg,#f4fbf8,#fff);border:1px solid #cde8dc;border-radius:18px;padding:18px 20px;margin-bottom:12px;box-shadow:var(--ui-shadow-sm)}.ui-receipt-hero.is-voided{background:linear-gradient(135deg,#fff5f6,#fff);border-color:#efcbd0}.ui-receipt-state-icon{width:50px;height:50px;border-radius:15px;background:#fff;color:var(--ui-success);display:grid;place-items:center;box-shadow:0 5px 15px rgba(27,45,68,.07)}.ui-receipt-hero.is-voided .ui-receipt-state-icon{color:var(--ui-danger)}.ui-receipt-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-receipt-title-row h1{margin:1px 0;font-size:23px}.ui-receipt-hero-main p{margin:2px 0;color:var(--ui-muted);font-size:10px}.ui-receipt-amount{text-align:left;border-right:1px solid #dfeae5;padding-right:18px;min-width:170px}.ui-receipt-amount span,.ui-receipt-amount small{display:block;color:var(--ui-muted);font-size:9px}.ui-receipt-amount strong{display:block;font-size:24px;line-height:1.3}.ui-receipt-flash{margin-bottom:12px}.ui-void-banner,.ui-closure-banner,.ui-reopened-banner{display:flex;align-items:flex-start;gap:10px;border-radius:12px;padding:11px 13px;margin-bottom:12px}.ui-void-banner{background:var(--ui-danger-soft);border:1px solid #efcbd0;color:var(--ui-danger)}.ui-closure-banner{background:#f2f5f7;border:1px solid #dce3e8;color:#485665}.ui-reopened-banner{background:var(--ui-warning-soft);border:1px solid #ead99e;color:#80672e}.ui-void-banner>span,.ui-closure-banner>span,.ui-reopened-banner>span{width:31px;height:31px;border-radius:9px;background:#fff;display:grid;place-items:center;flex:0 0 auto}.ui-void-banner strong,.ui-void-banner p,.ui-closure-banner strong,.ui-closure-banner p,.ui-reopened-banner strong,.ui-reopened-banner p{display:block;margin:0}.ui-void-banner p,.ui-closure-banner p,.ui-reopened-banner p{font-size:9px}.ui-receipt-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--ui-border);border-radius:13px;padding:10px 12px;margin-bottom:13px}.ui-receipt-context span,.ui-receipt-context strong,.ui-receipt-context small{display:block}.ui-receipt-context span,.ui-receipt-context small{font-size:9px;color:var(--ui-muted)}.ui-receipt-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.ui-receipt-main{display:grid;gap:14px;min-width:0}.ui-receipt-side{display:grid;gap:14px;align-self:start;position:sticky;top:84px}.ui-receipt-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ui-receipt-detail-grid>div{background:#f8fafc;border:1px solid #edf1f4;border-radius:11px;padding:10px}.ui-receipt-detail-grid span,.ui-receipt-detail-grid small{display:block;font-size:9px;color:var(--ui-muted)}.ui-receipt-detail-grid strong{display:block;font-size:11px}.ui-allocation-list{display:grid;gap:7px}.ui-allocation-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--ui-border);border-radius:11px;padding:9px 11px}.ui-allocation-row div strong,.ui-allocation-row div small{display:block}.ui-allocation-row div small{font-size:9px;color:var(--ui-muted)}.ui-allocation-row>strong{font-size:11px}.ui-receipt-debt-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ui-receipt-debt-summary>div{border-radius:11px;background:var(--ui-danger-soft);padding:11px}.ui-receipt-debt-summary span,.ui-receipt-debt-summary strong{display:block}.ui-receipt-debt-summary span{font-size:9px;color:var(--ui-muted)}.ui-receipt-status-card{text-align:center}.ui-receipt-status-card .ui-side-card-icon{margin:0 auto 8px}.ui-receipt-status-card h3{margin:0}.ui-receipt-status-card p{font-size:9px;color:var(--ui-muted)}.ui-receipt-status-text{display:block;font-size:20px;margin:5px 0}.ui-receipt-status-text.is-ok{color:var(--ui-success)}.ui-receipt-status-text.is-off{color:var(--ui-danger)}.ui-receipt-void-card textarea{min-height:90px}.ui-receipt-void-card .ui-help-note{margin-bottom:10px}
.ui-cashbox-head{align-items:flex-end}.ui-date-filter{background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:8px 10px;min-width:280px}.ui-date-filter label{display:block;font-size:9px;color:var(--ui-muted);margin-bottom:3px}.ui-date-filter>div{display:flex;gap:6px}.ui-date-filter input{margin:0}.ui-cashbox-kpis{margin-bottom:12px}.ui-cashbox-rule{margin-bottom:13px}.ui-cashbox-list{display:grid;gap:14px}.ui-cashbox-branch{padding:0;overflow:hidden}.ui-cashbox-branch.is-closed{border-color:#d5dde4}.ui-cashbox-branch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#fbfcfd)}.ui-cashbox-identity{display:flex;align-items:center;gap:10px}.ui-branch-avatar{width:42px;height:42px;border-radius:12px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center}.ui-cashbox-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-cashbox-title-row h2{margin:0}.ui-cashbox-identity p{margin:1px 0;color:var(--ui-muted);font-size:9px}.ui-cashbox-net{text-align:left}.ui-cashbox-net span,.ui-cashbox-net small{display:block;color:var(--ui-muted);font-size:9px}.ui-cashbox-net strong{display:block;font-size:20px}.ui-cashbox-branch>.ui-closure-banner,.ui-cashbox-branch>.ui-reopened-banner{margin:12px 14px 0}.ui-cashbox-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:13px 14px}.ui-cashbox-metrics>div{background:#f8fafc;border:1px solid #edf1f4;border-radius:11px;padding:10px}.ui-cashbox-metrics span,.ui-cashbox-metrics small{display:block;color:var(--ui-muted);font-size:9px}.ui-cashbox-metrics strong{display:block;font-size:13px}.ui-cashbox-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;padding:0 14px 13px}.ui-cashbox-panel{border:1px solid var(--ui-border);border-radius:12px;padding:11px;min-width:0}.ui-cashbox-panel .ui-table-head{padding:0 0 8px}.ui-cashbox-panel .ui-table-head h3{margin:0}.ui-recent-receipts{display:grid;gap:6px}.ui-recent-receipt{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border-bottom:1px solid var(--ui-border);padding:7px 0}.ui-recent-receipt:last-child{border-bottom:0}.ui-recent-receipt div strong,.ui-recent-receipt div span,.ui-recent-receipt div a{display:block}.ui-recent-receipt div span,.ui-recent-receipt div a{font-size:9px;color:var(--ui-muted)}.ui-recent-receipt>div:nth-child(2){text-align:left}.ui-cashbox-actions{border-top:1px solid var(--ui-border);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfcfd}.ui-cashbox-actions>div:first-child strong,.ui-cashbox-actions>div:first-child span{display:block}.ui-cashbox-actions>div:first-child span{font-size:9px;color:var(--ui-muted)}.ui-reopen-form{margin:0 14px 14px;background:var(--ui-warning-soft);border:1px solid #ead99e;border-radius:12px;padding:11px}.ui-reopen-form textarea{min-height:72px}.ui-reopen-form .btn{margin-top:7px}
@media(max-width:1150px){.ui-payment-summary-strip,.ui-payment-preview,.ui-cashbox-metrics{grid-template-columns:repeat(2,1fr)}.ui-receipt-detail-grid{grid-template-columns:repeat(2,1fr)}.ui-cashbox-grid{grid-template-columns:1fr}.ui-receipt-layout{grid-template-columns:1fr}.ui-receipt-side{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ui-payment-entry-grid,.ui-partial-request-panel{grid-template-columns:1fr}.ui-partial-request-form{grid-template-columns:1fr 1fr}.ui-partial-request-form .btn{grid-column:1/-1}.ui-payment-submit-line,.ui-receipt-actions-bar,.ui-cashbox-branch-head,.ui-cashbox-actions{align-items:stretch;flex-direction:column}.ui-receipt-hero{grid-template-columns:auto 1fr}.ui-receipt-amount{grid-column:1/-1;text-align:right;border-right:0;border-top:1px solid #dfeae5;padding:10px 0 0}.ui-receipt-side{grid-template-columns:1fr}.ui-cashbox-head{align-items:stretch}.ui-date-filter{min-width:0}.ui-cashbox-net{text-align:right}.ui-recent-receipt{grid-template-columns:1fr auto}.ui-recent-receipt>.badge{grid-column:1/-1;width:max-content}}
@media(max-width:520px){.ui-payment-summary-strip,.ui-payment-preview,.ui-cashbox-metrics,.ui-receipt-detail-grid,.ui-receipt-debt-summary{grid-template-columns:1fr}.ui-partial-request-form{grid-template-columns:1fr}.ui-receipt-hero{padding:15px}.ui-receipt-title-row h1{font-size:19px}.ui-date-filter>div{flex-direction:column}}

/* UI Phase 05: Previous Debts + Overdues */
.ui-info-box{padding:13px 14px;border:1px solid var(--ui-border);border-radius:13px;background:#fff}.ui-form-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:12px}.badge.danger{background:var(--ui-danger-soft);color:var(--ui-danger)}
.ui-phase05-head{align-items:flex-start}
.ui-debt-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.ui-kpi-icon.is-danger{background:rgba(185,52,52,.10);color:#b93434}
.ui-debt-separation-note{display:flex;gap:12px;align-items:flex-start;margin:0 0 18px;border-color:rgba(34,116,165,.18);background:linear-gradient(135deg,rgba(34,116,165,.06),rgba(255,255,255,.8))}
.ui-debt-separation-note p{margin:4px 0 0;color:var(--ui-muted);line-height:1.8}
.ui-debt-create{padding:0;overflow:hidden}.ui-debt-create>summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.ui-debt-create>summary::-webkit-details-marker{display:none}.ui-debt-create>summary span{display:flex;gap:8px;align-items:center}.ui-debt-create>summary small{font-weight:500;color:var(--ui-muted)}.ui-debt-create[open]>summary{border-bottom:1px solid var(--ui-border);background:var(--ui-surface-2)}.ui-debt-create-form{padding:20px}.ui-field-help{display:block;margin-top:6px;color:var(--ui-muted);font-size:12px;line-height:1.6}
.ui-debt-filter-grid{grid-template-columns:2fr repeat(5,minmax(140px,1fr))}
.ui-debt-list{display:grid;gap:12px;padding:0 18px 18px}.ui-debt-record{border:1px solid var(--ui-border);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 20px rgba(22,35,50,.03)}.ui-debt-record.is-voided{opacity:.78}.ui-debt-record-main{display:grid;grid-template-columns:minmax(190px,1.7fr) repeat(5,minmax(110px,1fr)) auto;gap:12px;align-items:center;padding:16px}.ui-debt-student{display:flex;gap:11px;align-items:center;min-width:0}.ui-debt-student>div{display:grid;min-width:0}.ui-debt-student strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-debt-student small,.ui-debt-student span{color:var(--ui-muted)}.ui-debt-cell{display:grid;gap:3px}.ui-debt-cell>span{font-size:11px;color:var(--ui-muted)}.ui-debt-cell strong{font-size:14px}.ui-debt-cell small{font-size:11px;color:var(--ui-muted)}.ui-debt-cell.is-balance strong{font-size:18px;color:var(--ui-text)}.ui-success-text{color:#20805c!important}.ui-danger-text{color:#b93434!important}.ui-debt-file{border-top:1px solid var(--ui-border)}.ui-debt-file>summary{list-style:none;cursor:pointer;padding:11px 16px;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--ui-primary);font-weight:700;background:var(--ui-surface-2)}.ui-debt-file>summary::-webkit-details-marker{display:none}.ui-debt-file[open]>summary .ui-icon{transform:rotate(-90deg)}.ui-debt-file-grid{display:grid;grid-template-columns:1.6fr .85fr;gap:18px;padding:18px}.ui-debt-file-grid h3{margin:0 0 12px;font-size:15px}.ui-debt-timeline{display:grid;gap:8px}.ui-debt-payment{display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--ui-border)}.ui-debt-payment:last-child{border-bottom:0}.ui-debt-payment.is-voided{opacity:.65}.ui-debt-payment>div{display:grid}.ui-debt-payment small{color:var(--ui-muted)}.ui-timeline-dot{width:9px;height:9px;border-radius:999px;background:#2f9a70;box-shadow:0 0 0 4px rgba(47,154,112,.10)}.ui-debt-payment.is-voided .ui-timeline-dot{background:#b93434}.ui-empty-inline{padding:16px;border:1px dashed var(--ui-border);border-radius:12px;color:var(--ui-muted);text-align:center}.ui-debt-note{margin-top:14px;padding:12px;border-radius:12px;background:var(--ui-surface-2)}.ui-debt-note p{margin:4px 0 0;color:var(--ui-muted);white-space:pre-line}.ui-debt-note.is-danger{background:rgba(185,52,52,.07)}.ui-debt-actions{border:1px solid var(--ui-border);border-radius:14px;padding:15px;background:var(--ui-surface-2);align-self:start}.ui-debt-actions form{display:grid;gap:9px}.ui-debt-payment-preview{display:flex;align-items:baseline;gap:5px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--ui-border)}.ui-debt-payment-preview span{margin-left:auto;color:var(--ui-muted);font-size:12px}.ui-debt-payment-preview strong{font-size:20px}.ui-debt-payment-preview small{color:var(--ui-muted)}.ui-debt-void{margin-top:16px;padding-top:14px;border-top:1px solid var(--ui-border)}.ui-success-panel{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:12px;background:rgba(47,154,112,.09);color:#1d7655}.ui-success-panel div{display:grid}.ui-success-panel small{opacity:.8}.ui-empty-state{text-align:center;padding:40px 20px;color:var(--ui-muted)}.ui-empty-state>span{width:52px;height:52px;border-radius:16px;background:var(--ui-surface-2);display:grid;place-items:center;margin:0 auto 12px;color:var(--ui-primary)}.ui-empty-state h3{color:var(--ui-text);margin:0 0 6px}.ui-empty-state p{margin:0}
.ui-overdue-source-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.ui-overdue-source-tabs a{display:grid;gap:2px;text-decoration:none;color:var(--ui-text);padding:14px 16px;border:1px solid var(--ui-border);border-radius:14px;background:#fff;transition:.18s ease}.ui-overdue-source-tabs a:hover,.ui-overdue-source-tabs a.active{border-color:rgba(34,116,165,.35);box-shadow:0 8px 24px rgba(22,35,50,.06);transform:translateY(-1px)}.ui-overdue-source-tabs a.active{background:linear-gradient(135deg,rgba(34,116,165,.08),#fff)}.ui-overdue-source-tabs span{font-size:12px;color:var(--ui-muted)}.ui-overdue-source-tabs strong{font-size:20px}.ui-overdue-source-tabs small{color:var(--ui-muted)}
.ui-overdue-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-aging-card{margin-bottom:16px}.ui-aging-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:8px}.ui-aging-bucket{padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-2);display:grid;gap:4px}.ui-aging-bucket>span{font-size:12px;color:var(--ui-muted)}.ui-aging-bucket>strong{font-size:19px}.ui-aging-bucket>small{color:var(--ui-muted)}.ui-aging-bar{height:5px;background:rgba(20,35,50,.07);border-radius:999px;overflow:hidden;margin-top:8px}.ui-aging-bar i{display:block;height:100%;border-radius:inherit;background:#5b91b2}.ui-aging-bucket.is-61_90 .ui-aging-bar i{background:#c68a2d}.ui-aging-bucket.is-90_plus .ui-aging-bar i{background:#b93434}.ui-overdue-filter-grid{grid-template-columns:repeat(5,minmax(150px,1fr))}.ui-overdue-section{margin-top:16px}.ui-section-kicker{display:inline-flex;font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;margin-bottom:5px}.ui-section-kicker.is-current{background:rgba(34,116,165,.10);color:#226d9c}.ui-section-kicker.is-previous{background:rgba(126,80,170,.10);color:#7444a1}.ui-age-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(198,138,45,.10);color:#95661f;font-weight:800;font-size:12px}.ui-age-pill.is-high{background:rgba(208,103,41,.10);color:#a85621}.ui-age-pill.is-severe{background:rgba(185,52,52,.10);color:#a32f2f}
@media(max-width:1180px){.ui-debt-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-debt-record-main{grid-template-columns:1.5fr repeat(3,minmax(100px,1fr))}.ui-debt-record-main .ui-debt-cell:nth-of-type(4),.ui-debt-record-main .ui-debt-cell:nth-of-type(5){display:none}.ui-overdue-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:900px){.ui-debt-kpis,.ui-overdue-kpis,.ui-aging-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-debt-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-debt-record-main{grid-template-columns:1fr 1fr}.ui-debt-student{grid-column:1/-1}.ui-debt-status{position:absolute}.ui-debt-file-grid{grid-template-columns:1fr}.ui-overdue-source-tabs{grid-template-columns:1fr}}
@media(max-width:760px){.ui-debt-kpis,.ui-overdue-kpis,.ui-aging-grid,.ui-debt-filter-grid,.ui-overdue-filter-grid{grid-template-columns:1fr}.ui-debt-record-main{display:grid;grid-template-columns:1fr 1fr;padding:13px}.ui-debt-record-main .ui-debt-cell{display:grid!important}.ui-debt-student{grid-column:1/-1}.ui-debt-status{position:static}.ui-debt-file-grid{padding:13px}.ui-debt-payment{grid-template-columns:auto 1fr}.ui-debt-payment .btn,.ui-debt-payment .badge{grid-column:2}.ui-debt-create>summary{align-items:flex-start;flex-direction:column}.ui-overdue-source-tabs{grid-template-columns:1fr}.ui-aging-card .ui-table-head{align-items:flex-start}}


/* UI Phase 06: Academic Movement + Promotion + Year Close + Archive */
.ui-phase06-head{align-items:flex-start}.ui-impact-box{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--ui-border);border-radius:14px;padding:14px 15px;margin:14px 0}.ui-impact-box .ui-icon{margin-top:2px}.ui-impact-box strong{display:block;margin-bottom:2px}.ui-impact-box p{margin:0;color:inherit;font-size:12px}.ui-impact-box.info{background:var(--ui-info-soft);border-color:#dbe7ff;color:#355787}.ui-impact-box.warning{background:var(--ui-warning-soft);border-color:#f2df9e;color:#815a1b}.ui-impact-box.danger{background:var(--ui-danger-soft);border-color:#f1c7cd;color:#8f2e39}
.ui-movement-summary{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:12px;margin-bottom:16px}.ui-movement-summary>div{background:#fff;border:1px solid var(--ui-border);border-radius:16px;padding:15px;box-shadow:var(--ui-shadow-sm)}.ui-movement-summary span{display:block;color:var(--ui-muted);font-size:11px}.ui-movement-summary strong{display:block;margin-top:5px;font-size:15px}.ui-movement-summary small{display:block;margin-top:4px;color:var(--ui-muted)}.ui-movement-profile{display:flex;align-items:center;gap:12px}.ui-avatar-lg{width:48px;height:48px;border-radius:15px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;font-size:19px;font-weight:800;flex:none}.ui-phase06-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ui-sensitive-card{min-width:0}.ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ui-field-help{display:block;color:var(--ui-muted);font-size:11px;margin:-3px 0 10px}.ui-confirm-row{display:flex!important;align-items:flex-start;gap:8px;margin:13px 0;color:var(--ui-text);font-weight:600}.ui-confirm-row input{width:auto;margin:3px 0 0;flex:none}.ui-confirm-row.compact{margin:0;font-size:12px}.ui-transfer-before-after,.ui-promotion-map{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:12px 0 18px}.ui-transfer-before-after>div:not(.ui-transfer-arrow),.ui-promotion-map>div:not(.ui-transfer-arrow){padding:13px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface-2)}.ui-transfer-before-after span,.ui-promotion-map span{display:block;font-size:11px;color:var(--ui-muted)}.ui-transfer-before-after strong,.ui-promotion-map strong{display:block;margin:3px 0;font-size:13px}.ui-transfer-before-after small,.ui-promotion-map small{color:var(--ui-muted)}.ui-transfer-before-after .is-after{background:var(--ui-primary-soft)!important;border-color:#cce3ea!important}.ui-transfer-arrow{display:grid;place-items:center;color:var(--ui-primary)}
.ui-timeline{position:relative;margin-right:8px}.ui-timeline:before{content:"";position:absolute;right:6px;top:8px;bottom:8px;width:2px;background:#e6edf3}.ui-timeline article{position:relative;padding-right:30px;margin:0 0 18px}.ui-timeline-dot{position:absolute;right:0;top:7px;width:14px;height:14px;border-radius:50%;background:var(--ui-info);border:3px solid #fff;box-shadow:0 0 0 2px #dbe7ff}.ui-timeline-dot.is-transfer{background:var(--ui-primary);box-shadow:0 0 0 2px #cce3ea}.ui-timeline-content{border:1px solid var(--ui-border);border-radius:13px;padding:13px;background:#fff}.ui-timeline-head{display:flex;justify-content:space-between;gap:12px}.ui-timeline-head time{font-size:11px;color:var(--ui-muted);white-space:nowrap}.ui-timeline-content p{margin:7px 0 0;color:var(--ui-muted)}.ui-history-transfer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.ui-history-transfer>div{background:var(--ui-surface-2);border-radius:10px;padding:9px}.ui-history-transfer span{display:block;color:var(--ui-muted);font-size:10px}.ui-history-transfer b{font-size:11px}
.ui-flow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 16px}.ui-flow-steps span{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--ui-border);border-radius:12px;background:#fff;color:var(--ui-muted);font-size:11px;font-weight:700}.ui-flow-steps b{width:24px;height:24px;border-radius:8px;background:#edf1f5;display:grid;place-items:center;color:#64748b}.ui-flow-steps .is-active{border-color:#c9e3e9;background:var(--ui-primary-soft);color:var(--ui-primary)}.ui-flow-steps .is-active b{background:var(--ui-primary);color:#fff}.ui-promotion-kpis,.ui-close-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.ui-promotion-kpis>div,.ui-close-kpis>div{background:#fff;border:1px solid var(--ui-border);border-radius:15px;padding:14px 16px;box-shadow:var(--ui-shadow-sm)}.ui-promotion-kpis span,.ui-close-kpis span{font-size:11px;color:var(--ui-muted);display:block}.ui-promotion-kpis strong,.ui-close-kpis strong{display:block;font-size:22px;margin-top:5px}.ui-promotion-kpis .is-success,.ui-close-kpis .is-success{border-top:3px solid var(--ui-success)}.ui-promotion-kpis .is-danger,.ui-close-kpis .is-danger{border-top:3px solid var(--ui-danger)}.ui-promotion-kpis .is-warning,.ui-close-kpis .is-warning{border-top:3px solid var(--ui-warning)}.ui-promotion-kpis .is-muted{border-top:3px solid #94a3b8}.ui-close-kpis small{color:var(--ui-muted);font-size:10px}.ui-execution-gate{border-color:#efc7cc;background:linear-gradient(180deg,#fff,#fffafb)}.ui-gate-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.ui-gate-checklist>div{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--ui-border);border-radius:11px;background:#fff}.ui-gate-checklist b{width:25px;height:25px;border-radius:8px;background:#eef2f6;display:grid;place-items:center}.ui-gate-checklist .is-ok b{background:var(--ui-success-soft);color:var(--ui-success)}.ui-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ui-proof-grid>div{padding:11px;background:var(--ui-surface-2);border-radius:11px;overflow:hidden}.ui-proof-grid span{display:block;font-size:10px;color:var(--ui-muted)}.ui-proof-grid strong{display:block;margin-top:4px;overflow-wrap:anywhere;font-size:11px}
.ui-year-lifecycle{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.ui-year-lifecycle span{border:1px solid var(--ui-border);background:#fff;border-radius:12px;padding:8px 14px;font-weight:800}.ui-year-lifecycle small{display:block;color:var(--ui-muted);font-weight:400;font-size:10px}.ui-year-lifecycle i{color:#a0aec0;font-style:normal}.ui-year-lifecycle .is-active{background:var(--ui-success-soft);border-color:#cce8dc;color:var(--ui-success)}.ui-close-confirm{max-width:900px}.ui-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.ui-archive-year-card{background:#fff;border:1px solid var(--ui-border);border-radius:17px;padding:17px;box-shadow:var(--ui-shadow-sm)}.ui-archive-year-top{display:flex;justify-content:space-between;align-items:center}.ui-archive-icon{width:38px;height:38px;border-radius:11px;background:var(--ui-info-soft);color:var(--ui-info);display:grid;place-items:center}.ui-archive-year-card h2{margin:14px 0 2px;font-size:20px}.ui-archive-year-card>p{margin:0 0 12px;color:var(--ui-muted)}.ui-archive-year-card dl{margin:0 0 14px}.ui-archive-year-card dl div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #eef2f6}.ui-archive-year-card dt{color:var(--ui-muted);font-size:11px}.ui-archive-year-card dd{margin:0;font-weight:700}.ui-archive-banner{display:flex;gap:11px;align-items:flex-start;background:#f2f6fa;border:1px solid #dce5ee;border-radius:14px;padding:14px;margin-bottom:16px;color:#42566a}.ui-archive-banner strong{display:block}.ui-archive-banner p{margin:2px 0 0;font-size:12px}.ui-archive-action{display:flex;gap:7px;align-items:center}.ui-archive-action input{margin:0;min-width:220px}.ui-archive-search{display:flex;gap:8px;margin:10px 0 14px}.ui-archive-search input{margin:0;max-width:420px}.ui-archive-student-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ui-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ui-detail-list>div{padding:10px;background:var(--ui-surface-2);border-radius:10px}.ui-detail-list span{display:block;color:var(--ui-muted);font-size:10px}.ui-detail-list strong{display:block;margin-top:2px}
@media(max-width:1100px){.ui-movement-summary{grid-template-columns:repeat(2,1fr)}.ui-phase06-grid{grid-template-columns:1fr}.ui-archive-grid{grid-template-columns:repeat(2,1fr)}.ui-promotion-kpis,.ui-close-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ui-movement-summary,.ui-promotion-kpis,.ui-close-kpis,.ui-archive-grid,.ui-archive-student-grid,.ui-form-grid,.ui-gate-checklist,.ui-proof-grid,.ui-history-transfer{grid-template-columns:1fr}.ui-flow-steps{grid-template-columns:1fr 1fr}.ui-transfer-before-after,.ui-promotion-map{grid-template-columns:1fr}.ui-transfer-arrow{transform:rotate(-90deg);min-height:25px}.ui-archive-action,.ui-archive-search{display:grid;grid-template-columns:1fr}.ui-archive-action input,.ui-archive-search input{max-width:none;min-width:0}.ui-timeline-head{display:block}.ui-timeline-head time{display:block;margin-top:3px}}

/* UI Phase 07: Reports + Investor + WhatsApp + Settings + System Health + Final UI Closure */
.ui-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.ui-page-head h1{margin:2px 0 4px;font-size:27px;line-height:1.35}.ui-page-head p{margin:0;color:var(--ui-muted);max-width:820px}.ui-eyebrow{font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--ui-primary);text-transform:uppercase}.ui-final-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #cfe2e8;background:var(--ui-primary-soft);color:var(--ui-primary);border-radius:999px;font-size:10px;font-weight:800}.ui-final-badge.is-investor{background:#f1effb;border-color:#ddd7f5;color:#5d4db0}
.ui-report-filter-card{padding:0;overflow:hidden}.ui-report-filter-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,#fff,#fbfcfd)}.ui-report-filter-head h2{margin:1px 0;font-size:15px}.ui-report-filter-head p{margin:0;color:var(--ui-muted);font-size:10px}.ui-report-filter-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-report-filter-panel{padding:15px 17px}.ui-report-filter-panel.is-collapsed{display:none}.ui-report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.ui-report-filter-grid input,.ui-report-filter-grid select{margin:3px 0 0}.ui-report-period{margin-inline-start:auto;display:inline-flex;align-items:center;gap:5px;color:var(--ui-muted);font-size:10px}.ui-report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:12px}.ui-report-kpis.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-report-kpis .ui-kpi-icon.is-danger{background:var(--ui-danger-soft);color:var(--ui-danger)}.ui-report-kpis .ui-kpi-icon.is-info{background:var(--ui-info-soft);color:var(--ui-info)}.ui-kpi-name{font-size:13px!important}.ui-report-rate-card{padding:14px 16px}.ui-report-rate-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ui-report-rate-head div strong,.ui-report-rate-head div span{display:block}.ui-report-rate-head div span{font-size:9px;color:var(--ui-muted)}.ui-report-rate-head>b{font-size:20px}.ui-progress-lg{height:11px}.ui-report-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.ui-report-module{margin:0;display:flex;flex-direction:column;gap:12px;min-height:210px}.ui-report-module-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary)}.ui-report-module-icon.is-info{background:var(--ui-info-soft);color:var(--ui-info)}.ui-report-module-icon.is-success{background:var(--ui-success-soft);color:var(--ui-success)}.ui-report-module h2{margin:0 0 3px;font-size:16px}.ui-report-module p{margin:0;color:var(--ui-muted);font-size:10px}.ui-report-module-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--ui-border);padding-top:10px}.ui-report-module-foot>span:first-child{font-size:9px;color:var(--ui-muted);text-transform:uppercase}.ui-report-table td,.ui-report-table th{white-space:nowrap}.ui-rate-cell{min-width:105px}.ui-rate-cell strong{font-size:10px}.ui-rate-cell .ui-progress{margin-top:4px}.ui-positive-text{color:var(--ui-success)!important}.ui-danger-text{color:var(--ui-danger)!important}.ui-pagination{padding-top:10px}
.ui-investor-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.ui-investor-kpi{border:1px solid var(--ui-border);background:#fff;border-radius:15px;padding:15px;box-shadow:var(--ui-shadow-sm)}.ui-investor-kpi span,.ui-investor-kpi small{display:block;color:var(--ui-muted);font-size:9px}.ui-investor-kpi strong{display:block;font-size:20px;margin:4px 0}.ui-investor-kpi.is-success{border-top:3px solid var(--ui-success)}.ui-investor-kpi.is-warning{border-top:3px solid var(--ui-warning)}.ui-investor-kpi.is-danger{border-top:3px solid var(--ui-danger)}.ui-investor-kpi.is-info{border-top:3px solid var(--ui-info)}.ui-investor-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.7fr);gap:12px}.ui-investor-chart,.ui-investor-signal{margin:0}.ui-month-bars{display:grid;gap:9px}.ui-month-row{display:grid;grid-template-columns:70px 1fr 110px;gap:10px;align-items:center}.ui-month-row>span{font-size:10px;color:var(--ui-muted)}.ui-month-row>strong{text-align:left;font-size:10px}.ui-month-track{height:11px;background:#edf1f5;border-radius:999px;overflow:hidden}.ui-month-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3ba4ba,var(--ui-primary))}.ui-signal-list{display:grid;gap:8px}.ui-signal-list>div{display:grid;grid-template-columns:10px 1fr;gap:9px;border-bottom:1px solid var(--ui-border);padding:8px 0}.ui-signal-list>div:last-child{border-bottom:0}.ui-signal-list strong{font-size:11px}.ui-signal-list p{margin:1px 0 0;color:var(--ui-muted);font-size:9px}.ui-signal-dot{width:8px;height:8px;border-radius:50%;background:var(--ui-primary);margin-top:5px}.ui-signal-dot.is-success{background:var(--ui-success)}.ui-signal-dot.is-warning{background:var(--ui-warning)}.ui-signal-dot.is-info{background:var(--ui-info)}
.ui-whatsapp-health{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--ui-border);border-radius:14px;padding:14px 16px;margin-bottom:12px}.ui-whatsapp-health.is-ready{background:var(--ui-success-soft);border-color:#cce9dc}.ui-whatsapp-health.is-attention{background:var(--ui-warning-soft);border-color:#ecdfa9}.ui-whatsapp-health-icon{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center}.ui-whatsapp-health strong{font-size:12px}.ui-whatsapp-health p{margin:1px 0 0;font-size:9px;color:var(--ui-muted)}.ui-outbox-status-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.ui-outbox-status{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--ui-border);border-radius:11px;padding:10px 12px;color:var(--ui-text)}.ui-outbox-status span{font-size:9px;color:var(--ui-muted)}.ui-outbox-status strong{font-size:16px}.ui-outbox-status.is-active{border-color:#9bc8d4;background:var(--ui-primary-soft);color:var(--ui-primary)}.ui-outbox-filter{padding:14px}.ui-outbox-filter .ui-filter-grid{grid-template-columns:1.3fr repeat(3,minmax(130px,1fr))}.ui-outbox-table .ui-error-cell{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-whatsapp-security{display:flex;gap:11px;align-items:flex-start;background:#f7f9fc;border:1px solid #dfe6ef;border-right:4px solid var(--ui-info);border-radius:12px;padding:12px 14px;margin-bottom:13px}.ui-whatsapp-security strong{display:block}.ui-whatsapp-security p{margin:1px 0 0;color:var(--ui-muted);font-size:9px}
.ui-settings-stack{display:grid;gap:12px}.ui-settings-section{margin:0}.ui-settings-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}.ui-settings-icon{width:40px;height:40px;border-radius:12px;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;flex:0 0 auto}.ui-settings-icon.is-info{background:var(--ui-info-soft);color:var(--ui-info)}.ui-settings-icon.is-success{background:var(--ui-success-soft);color:var(--ui-success)}.ui-settings-heading h2{margin:0;font-size:15px}.ui-settings-heading p{margin:1px 0 0;color:var(--ui-muted);font-size:9px}.ui-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ui-toggle-card{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--ui-border);border-radius:11px;padding:11px;background:#fbfcfd;cursor:pointer}.ui-toggle-card input{width:auto;margin:3px 0 0}.ui-toggle-card span strong,.ui-toggle-card span small{display:block}.ui-toggle-card span strong{font-size:10px;color:var(--ui-text)}.ui-toggle-card span small{font-size:8px;color:var(--ui-muted)}.ui-settings-grid{display:grid;gap:10px;margin-top:12px}.ui-settings-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-settings-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-settings-grid small{display:block;color:var(--ui-muted);font-size:8px;margin-top:2px}.ui-template-field{margin:12px 0}.ui-template-field-head{display:flex;justify-content:space-between;align-items:center}.ui-template-field-head span{font-size:8px;color:var(--ui-muted)}.ui-template-field textarea{margin:3px 0 2px;min-height:92px}.ui-template-field>small{display:block;color:var(--ui-muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-sticky-actions{position:sticky;bottom:12px;z-index:9;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.96);border:1px solid var(--ui-border);border-radius:13px;padding:10px 12px;box-shadow:0 8px 28px rgba(27,45,68,.12)}.ui-sticky-actions span{font-size:9px;color:var(--ui-muted)}.ui-test-message{margin-top:13px}
.ui-health-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 17px;border-radius:15px;margin-bottom:12px;border:1px solid var(--ui-border)}.ui-health-banner.is-healthy{background:var(--ui-success-soft);border-color:#cceadd}.ui-health-banner.is-attention{background:var(--ui-warning-soft);border-color:#ebdba2}.ui-health-orb{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center}.ui-health-banner strong{font-size:13px}.ui-health-banner p{margin:1px 0 0;color:var(--ui-muted);font-size:9px}.ui-health-banner>b{font-size:11px;letter-spacing:.08em}.ui-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.ui-health-card{margin:0}.ui-health-card-head{display:flex;align-items:center;justify-content:space-between}.ui-health-card-head>span{width:34px;height:34px;border-radius:10px;background:var(--ui-surface-2);display:grid;place-items:center;color:var(--ui-primary)}.ui-health-card h2{font-size:11px;margin:12px 0 2px;color:var(--ui-muted)}.ui-health-card>strong{font-size:14px;display:block}.ui-health-card>p{font-size:8px;color:var(--ui-muted);margin:2px 0 0}.ui-health-main-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.ui-health-queue,.ui-runtime-card{margin:0}.ui-queue-bars{display:grid;gap:9px}.ui-queue-row{display:grid;grid-template-columns:75px 55px 1fr;gap:8px;align-items:center}.ui-queue-row span{font-size:9px;color:var(--ui-muted)}.ui-queue-row strong{font-size:10px}.ui-health-foot{font-size:9px;color:var(--ui-muted);border-top:1px solid var(--ui-border);padding-top:9px;margin-top:10px}.ui-runtime-list{display:grid;gap:7px}.ui-runtime-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fafc;border:1px solid #edf1f4;border-radius:9px;padding:9px}.ui-runtime-list span{font-size:9px;color:var(--ui-muted)}.ui-runtime-list strong{font-size:10px}
@media(max-width:1200px){.ui-investor-kpis{grid-template-columns:repeat(3,1fr)}.ui-report-kpis{grid-template-columns:repeat(2,1fr)}.ui-health-grid{grid-template-columns:repeat(2,1fr)}.ui-report-filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.ui-page-head{align-items:flex-start;flex-direction:column}.ui-report-catalog,.ui-investor-grid,.ui-health-main-grid{grid-template-columns:1fr}.ui-report-kpis.compact{grid-template-columns:repeat(2,1fr)}.ui-toggle-grid,.ui-settings-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ui-report-kpis,.ui-report-kpis.compact,.ui-investor-kpis,.ui-health-grid,.ui-report-filter-grid,.ui-settings-grid.two,.ui-settings-grid.three,.ui-toggle-grid,.ui-outbox-filter .ui-filter-grid{grid-template-columns:1fr}.ui-outbox-status-strip{grid-template-columns:repeat(2,1fr)}.ui-report-filter-head,.ui-whatsapp-health,.ui-health-banner{grid-template-columns:1fr;align-items:flex-start}.ui-report-filter-head{flex-direction:column}.ui-report-period{margin-inline-start:0}.ui-month-row{grid-template-columns:60px 1fr}.ui-month-row>strong{grid-column:2}.ui-sticky-actions{position:static;align-items:flex-start;flex-direction:column}.ui-settings-heading{align-items:flex-start}}

/* Global typography refinement — Tajawal + calmer professional scale */
body{
 font-family:"Tajawal",Tahoma,"Segoe UI",Arial,sans-serif;
 font-size:13px;
 line-height:1.6;
}
button,input,select,textarea{font-family:inherit}

/* Professional confirmation dialog */
.ui-confirm-open{overflow:hidden}.ui-confirm-overlay[hidden]{display:none}.ui-confirm-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,24,38,.62);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.ui-confirm-dialog{width:min(460px,100%);background:#fff;border:1px solid #dce5ec;border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(9,25,40,.28);display:grid;grid-template-columns:48px 1fr;gap:14px;animation:ui-confirm-in .16s ease-out}.ui-confirm-symbol{width:48px;height:48px;border-radius:14px;background:var(--ui-warning-soft);color:var(--ui-warning);display:grid;place-items:center;font-size:25px;font-weight:900}.ui-confirm-copy h2{font-size:18px;margin:1px 0 6px}.ui-confirm-copy p{margin:0;color:var(--ui-muted);line-height:1.8}.ui-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-start;gap:9px;margin-top:8px}.ui-confirm-actions .btn{min-width:115px}.ui-confirm-actions .danger{background:var(--ui-danger);color:#fff}@keyframes ui-confirm-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* Student finance: keep the plan summary inside the layout at reduced desktop widths. */
.ui-finance-layout,.ui-finance-main,.ui-finance-side,.ui-finance-main>.card{min-width:0;max-width:100%}
.ui-finance-main>.card{overflow:hidden}
.ui-finance-main .ui-table-wrap{width:100%;max-width:100%}
@media(max-width:1400px){
 .ui-finance-layout{grid-template-columns:minmax(0,1fr)}
 .ui-finance-side{position:static;top:auto;grid-row:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .ui-finance-side>.card:only-child{grid-column:1/-1}
 .ui-finance-main{grid-row:2}
}
@media(max-width:760px){.ui-finance-side{grid-template-columns:minmax(0,1fr)}}

/* Navigation and app chrome */
.ui-brand-title{font-size:14px}
.ui-brand-sub,.ui-user-role{font-size:10px}
.ui-nav-label{font-size:9px}
.ui-nav-link{font-size:12px}
.ui-user-name{font-size:12px}
.ui-topbar-title{font-size:14px}
.ui-topbar-date{font-size:11px}

/* Page and secondary headings */
.ui-page-header h1,.ui-page-head h1{font-size:24px}
.ui-phase03-head h1{font-size:23px}
.ui-profile-main h1,.ui-qr-result-hero h1{font-size:22px}
.ui-plan-title-row h1,.ui-receipt-title-row h1{font-size:21px}
.ui-page-header p,.ui-page-head p{font-size:12px}
.ui-section-title h2,.ui-section-title h3{font-size:15px}
.ui-section-title p{font-size:11px}
.ui-form-section-head h2,.ui-section-heading h2,.ui-report-module h2,.ui-settings-heading h2{font-size:15px}
.ui-archive-year-card h2{font-size:18px}
.ui-guest-brand h1{font-size:18px}

/* Cards, controls, and tables */
.card p{font-size:12px}
label{font-size:11px}
.btn,button{font-size:12px}
th{font-size:10px}
td{font-size:12px}
.ui-stat-label{font-size:11px}
.ui-stat-meta{font-size:10px}

/* KPI and large numeric values */
.ui-stat-value{font-size:20px}
.big-amount{font-size:22px}
.ui-finance-progress strong{font-size:19px}
.ui-promotion-kpis strong,.ui-close-kpis strong{font-size:18px}
.ui-finance-kpi strong{font-size:17px}
.ui-investor-kpi strong{font-size:17px}
.ui-report-rate-head>b,.ui-receipt-status-text,.ui-overdue-source-tabs strong,.ui-debt-payment-preview strong,.ui-cashbox-net strong{font-size:18px}
.ui-receipt-amount strong{font-size:20px}
.ui-money-input-wrap input{font-size:18px}
.ui-aging-bucket>strong{font-size:17px}
.ui-collection-head>strong,.ui-debt-cell.is-balance strong{font-size:16px}
.ui-old-debt-total strong{font-size:15px}
.ui-outbox-status strong{font-size:14px}

/* Laravel pagination — project-native sizing without Tailwind utilities */
.ui-main nav[role="navigation"]{
 margin-top:14px;
 font-size:12px;
}
.ui-main nav[role="navigation"]>div:first-child{display:none}
.ui-main nav[role="navigation"]>div:last-child{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
}
.ui-main nav[role="navigation"] p{
 margin:0;
 color:var(--ui-muted);
 font-size:11px;
}
.ui-main nav[role="navigation"]>div:last-child>div:last-child>span{
 display:inline-flex;
 align-items:center;
 gap:4px;
 direction:ltr;
}
.ui-main nav[role="navigation"]>div:last-child>div:last-child>span>a,
.ui-main nav[role="navigation"]>div:last-child>div:last-child>span>span>span{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:34px;
 height:34px;
 padding:0 9px;
 border:1px solid var(--ui-border);
 border-radius:8px;
 background:var(--ui-surface);
 color:var(--ui-text);
 line-height:1;
}
.ui-main nav[role="navigation"]>div:last-child>div:last-child>span>a:hover{
 border-color:#bfd4de;
 background:var(--ui-primary-soft);
 color:var(--ui-primary);
}
.ui-main nav[role="navigation"] span[aria-current="page"]>span{
 border-color:var(--ui-primary);
 background:var(--ui-primary);
 color:#fff;
}
.ui-main nav[role="navigation"] span[aria-disabled="true"]>span{
 background:var(--ui-surface-2);
 color:#9aa6b5;
 cursor:not-allowed;
}
.ui-main nav[role="navigation"] svg{
 display:block;
 width:18px!important;
 height:18px!important;
 max-width:18px;
 max-height:18px;
 flex:0 0 18px;
}

@media(max-width:620px){
 body{font-size:12.5px}
 .ui-page-header h1,.ui-page-head h1{font-size:21px}
 .ui-stat-value{font-size:18px}
 .big-amount{font-size:20px}
 .ui-receipt-amount strong{font-size:18px}
 .ui-main nav[role="navigation"]>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
 }
 .ui-main nav[role="navigation"]>div:last-child{display:none}
 .ui-main nav[role="navigation"]>div:first-child>a,
 .ui-main nav[role="navigation"]>div:first-child>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--ui-border);
  border-radius:9px;
  background:var(--ui-surface);
  color:var(--ui-text);
 }
 .ui-main nav[role="navigation"]>div:first-child>span{
  background:var(--ui-surface-2);
  color:#9aa6b5;
 }
}

/* Central Investor Dashboard V2 - Phase05 */
.ui-central-filter-card{padding:15px 17px}.ui-central-filter-grid{display:grid;grid-template-columns:1.2fr 1.2fr repeat(2,minmax(145px,.8fr)) auto;gap:10px;align-items:end}.ui-central-filter-grid label>span{display:block;color:var(--ui-muted);font-size:10px;font-weight:700;margin-bottom:3px}.ui-central-filter-grid input,.ui-central-filter-grid select{margin:0}.ui-central-filter-actions{display:flex;gap:7px}.ui-central-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-central-sub{display:block;color:var(--ui-muted);font-size:9px;margin-top:2px}.ui-central-bottom-grid{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:12px}.ui-central-alert-list{display:grid;gap:8px}.ui-central-alert{display:grid;gap:2px;border:1px solid var(--ui-border);border-radius:11px;padding:10px 12px;background:#fff}.ui-central-alert strong{font-size:11px}.ui-central-alert span{font-size:9px;color:var(--ui-muted)}.ui-central-alert.is-danger{border-inline-start:3px solid var(--ui-danger)}.ui-central-alert.is-warning{border-inline-start:3px solid var(--ui-warning)}.ui-central-alert.is-info{border-inline-start:3px solid var(--ui-info)}.ui-central-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ui-central-wallet-grid>div{border:1px solid var(--ui-border);border-radius:11px;padding:12px;background:var(--ui-surface-2)}.ui-central-wallet-grid span{display:block;color:var(--ui-muted);font-size:9px}.ui-central-wallet-grid strong{display:block;font-size:18px;margin-top:3px}
@media(max-width:1180px){.ui-central-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-central-filter-actions{grid-column:1/-1}.ui-central-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ui-central-bottom-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ui-central-filter-grid,.ui-central-kpis,.ui-central-wallet-grid{grid-template-columns:1fr}.ui-central-filter-actions{grid-column:auto}}
/* Professional university wallet workspace */
.ui-wallet-university{margin:0 0 24px;border:1px solid #dbe5ee;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:0 14px 36px rgba(20,35,50,.07);overflow:hidden}.ui-wallet-university-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;background:linear-gradient(120deg,#142332,#1c3b50);color:#fff}.ui-wallet-university-brand{display:flex;align-items:center;gap:14px}.ui-wallet-university-brand>img,.ui-wallet-university-brand>span{width:54px;height:54px;border-radius:15px;background:#ffffff18;border:1px solid #ffffff26;display:grid;place-items:center;object-fit:contain;padding:5px}.ui-wallet-university-brand h2{margin:0 0 4px;color:#fff}.ui-wallet-university-brand p{margin:0;color:#c9d8e4}.ui-wallet-university-total{text-align:left}.ui-wallet-university-total span,.ui-wallet-university-total small{display:block;color:#bcd0dc}.ui-wallet-university-total strong{font-size:1.7rem;color:#7ee0d6;font-variant-numeric:tabular-nums}.ui-wallet-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:18px}.ui-wallet-card{position:relative;border:1px solid #dde7ef;border-radius:17px;padding:17px;background:#fff;overflow:hidden}.ui-wallet-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:#1787a0}.ui-wallet-card.is-violet:before{background:#7c5ce0}.ui-wallet-card.is-teal:before{background:#0d9d8b}.ui-wallet-card.is-amber:before{background:#d49218}.ui-wallet-card-top{display:flex;justify-content:space-between;align-items:center}.ui-wallet-card-icon{width:42px;height:42px;border-radius:13px;background:#edf7fa;color:#087e8b;display:grid;place-items:center}.ui-wallet-card h3{margin:14px 0 4px}.ui-wallet-card>p{min-height:38px;margin:0;color:#718096;font-size:.88rem}.ui-wallet-balance{margin:16px 0 12px;padding:13px;border-radius:13px;background:#f5f8fb}.ui-wallet-balance span,.ui-wallet-balance small{display:block;color:#718096;font-size:.76rem}.ui-wallet-balance strong{display:block;font-size:1.45rem;color:#142332;font-variant-numeric:tabular-nums}.ui-wallet-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:14px}.ui-wallet-flow span{font-size:.72rem;color:#718096}.ui-wallet-flow b{display:block;color:#2b4052;font-size:.82rem;font-variant-numeric:tabular-nums}.ui-wallet-receipt-card{max-width:900px;margin-inline:auto;padding:28px}.ui-wallet-receipt-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:2px solid #dce8ee}.ui-wallet-receipt-brand{display:flex;align-items:center;gap:14px}.ui-wallet-receipt-brand img{width:64px;height:64px;object-fit:contain}.ui-wallet-receipt-brand h2{margin:0 0 5px}.ui-wallet-receipt-brand span,.ui-wallet-receipt-number span,.ui-wallet-receipt-number small{color:#718096}.ui-wallet-receipt-number{text-align:left}.ui-wallet-receipt-number strong{display:block;margin:5px 0;font-size:1.1rem}.ui-wallet-receipt-amount{text-align:center;margin:22px 0;padding:22px;border-radius:18px;background:linear-gradient(120deg,#eaf8f7,#f5fbfc)}.ui-wallet-receipt-amount span,.ui-wallet-receipt-amount small{display:block;color:#557080}.ui-wallet-receipt-amount strong{display:block;font-size:2.2rem;color:#087e8b;font-variant-numeric:tabular-nums}.ui-wallet-receipt-notes{margin-top:18px;padding:15px;border:1px solid #dbe5ee;border-radius:13px}.ui-wallet-receipt-notes span{color:#718096;font-size:.8rem}.ui-wallet-receipt-notes p{margin:5px 0 0}.ui-wallet-receipt-status{display:flex;gap:8px;margin-top:18px}@media(max-width:1200px){.ui-wallet-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.ui-wallet-university-head,.ui-wallet-receipt-head{align-items:flex-start;flex-direction:column}.ui-wallet-university-total,.ui-wallet-receipt-number{text-align:right}.ui-wallet-cards{grid-template-columns:1fr;padding:12px}.ui-wallet-receipt-card{padding:18px}}

/* Investor decision room: university comparison and wallet intelligence */
.ui-period-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--ui-border)}
.ui-period-presets:before{content:"فترة سريعة";color:var(--ui-muted);font-size:10px;font-weight:700;margin-inline-end:4px}
.ui-period-presets a{padding:6px 11px;border:1px solid #d8e5ec;border-radius:999px;background:#f8fbfc;color:#315369;font-size:10px;font-weight:700}
.ui-period-presets a:hover{background:var(--ui-primary-soft);border-color:#abd3dc;color:var(--ui-primary)}
.ui-investor-comparison{margin-bottom:14px;overflow:hidden;background:linear-gradient(155deg,#fff 60%,#f5fafb)}
.ui-chart-legend{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 12px}
.ui-chart-legend label{display:grid;grid-template-columns:auto auto minmax(70px,1fr) auto;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:11px;background:#fff;cursor:pointer;font-size:10px}
.ui-chart-legend input{width:14px;height:14px;margin:0;accent-color:var(--ui-primary)}
.ui-chart-legend i{width:9px;height:9px;border-radius:50%;background:var(--series-color)}
.ui-chart-legend strong{color:#496476;font-variant-numeric:tabular-nums}
.ui-investor-canvas-wrap{width:100%;min-width:0;overflow-x:auto;border:1px solid #e4edf2;border-radius:14px;background:#fff;padding:8px}
.ui-investor-canvas-wrap canvas{display:block;width:100%;min-width:620px}
.ui-chart-fallback{margin-top:10px}.ui-chart-fallback.is-js-hidden{display:none}.ui-chart-fallback table{width:100%}
.ui-decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.ui-decision-card{position:relative;display:flex;flex-direction:column;gap:6px;min-height:116px;overflow:hidden}
.ui-decision-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:#64748b}.ui-decision-card.is-success:before{background:#0d9d8b}.ui-decision-card.is-info:before{background:#1787a0}.ui-decision-card.is-warning:before{background:#d49218}
.ui-decision-card>span{color:var(--ui-muted);font-size:10px}.ui-decision-card>strong{font-size:14px}.ui-decision-card>b{margin-top:auto;color:#234258;font-size:17px;font-variant-numeric:tabular-nums}
.ui-university-wallets{margin-bottom:14px;background:linear-gradient(145deg,#fff,#f7fafc)}
.ui-university-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ui-university-wallet-card{border:1px solid #dce7ed;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(20,35,50,.045)}
.ui-university-wallet-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #e7eef2}.ui-university-wallet-card header strong,.ui-university-wallet-card header small{display:block}.ui-university-wallet-card header small{color:var(--ui-muted);font-size:9px;margin-top:2px}.ui-university-wallet-card header a{font-size:10px;font-weight:700;color:var(--ui-primary)}
.ui-university-wallet-card .ui-wallet-total{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0}.ui-university-wallet-card .ui-wallet-total span{color:var(--ui-muted);font-size:10px}.ui-university-wallet-card .ui-wallet-total strong{font-size:21px;color:#15374b;font-variant-numeric:tabular-nums}.ui-university-wallet-card .ui-wallet-total small{font-size:9px;color:var(--ui-muted)}
.ui-university-wallet-card .ui-wallet-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 11px}.ui-university-wallet-card .ui-wallet-flow span{padding:9px;border-radius:10px;background:#f2f7f9;font-size:9px}.ui-university-wallet-card .ui-wallet-flow b{display:block;margin-top:3px;font-size:12px}.ui-university-wallet-card .ui-wallet-flow .is-in b{color:#087f72}.ui-university-wallet-card .ui-wallet-flow .is-out b{color:#bd4f4f}
.ui-wallet-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ui-wallet-types>div{padding:8px;border-radius:9px;background:#f7f9fb}.ui-wallet-types span,.ui-wallet-types small{display:block;color:var(--ui-muted);font-size:8px}.ui-wallet-types strong{display:block;margin:3px 0;font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:1080px){.ui-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-university-wallet-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ui-decision-grid{grid-template-columns:1fr}.ui-chart-legend label{grid-template-columns:auto auto minmax(60px,1fr)}.ui-chart-legend label strong{grid-column:3}.ui-wallet-types{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* QR complete student profile: permission-aware workspace */
.ui-qr-complete-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;background:linear-gradient(125deg,#102f43,#174d61);color:#fff;box-shadow:0 14px 34px rgba(16,47,67,.16)}
.ui-qr-student-mark{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#55d7c9,#20a294);color:#fff;font-size:28px;font-weight:900;border:1px solid #ffffff42}
.ui-qr-student-title>span{color:#8fe5dc;font-size:11px}.ui-qr-student-title h1{margin:3px 0 6px;color:#fff;font-size:23px}.ui-qr-student-title>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#c6d8e1;font-size:10px}
.ui-qr-permission-seal{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #ffffff29;border-radius:13px;background:#ffffff0d}.ui-qr-permission-seal strong,.ui-qr-permission-seal span{display:block}.ui-qr-permission-seal strong{font-size:10px}.ui-qr-permission-seal span{font-size:8px;color:#bed1da}
.ui-qr-action-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0;padding:11px;border:1px solid var(--ui-border);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(20,35,50,.04)}
.ui-readonly-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#edf6f8;color:#42677a;font-size:10px;font-weight:700}
.ui-qr-full-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ui-qr-detail-card,.ui-qr-finance-card{margin-bottom:12px}
.ui-qr-finance-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.ui-qr-finance-kpis>div{padding:12px;border:1px solid #e0e8ed;border-radius:12px;background:#f8fafb}.ui-qr-finance-kpis span,.ui-qr-finance-kpis strong{display:block}.ui-qr-finance-kpis span{color:var(--ui-muted);font-size:9px}.ui-qr-finance-kpis strong{margin-top:4px;font-size:15px;font-variant-numeric:tabular-nums}.ui-qr-finance-kpis .is-success{background:#eef9f6;border-color:#bde5dc}.ui-qr-finance-kpis .is-success strong{color:#08775d}.ui-qr-finance-kpis .is-danger{background:#fff4f4;border-color:#f0caca}.ui-qr-finance-kpis .is-danger strong{color:#b83f4b}
.ui-qr-plan-line{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;align-items:center;gap:9px;margin:10px 0;padding:11px 13px;border-radius:12px;background:#f1f6f8}.ui-qr-plan-line span,.ui-qr-plan-line strong{display:block}.ui-qr-plan-line>div>span{font-size:8px;color:var(--ui-muted)}.ui-qr-plan-line>div>strong{font-size:10px;margin-top:2px}.ui-qr-schedule tr.is-overdue td{background:#fff6f6}
.ui-qr-debt-list{display:grid;gap:8px}.ui-qr-debt-list>div{display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:11px;padding:10px;border:1px solid #eadfe0;border-radius:11px;background:#fffafa}.ui-qr-debt-list span{color:var(--ui-muted);font-size:9px}.ui-qr-debt-list b{color:#b43e4a;font-size:10px}
.ui-qr-rotate-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#efcfd2}.ui-qr-rotate-card h3,.ui-qr-rotate-card p{margin:0}.ui-qr-rotate-card p{color:var(--ui-muted);font-size:9px;margin-top:3px}.ui-qr-rotate-card form{display:flex;gap:7px;align-items:center;min-width:min(100%,460px)}.ui-qr-rotate-card input{margin:0}
@media(max-width:1100px){.ui-qr-finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-qr-plan-line{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ui-qr-complete-hero{grid-template-columns:auto 1fr}.ui-qr-permission-seal{grid-column:1/-1}.ui-qr-full-grid{grid-template-columns:1fr}.ui-qr-rotate-card,.ui-qr-rotate-card form{align-items:stretch;flex-direction:column}.ui-qr-debt-list>div{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ui-qr-complete-hero{grid-template-columns:1fr;text-align:center}.ui-qr-student-mark{margin:auto}.ui-qr-student-title>div{justify-content:center}.ui-qr-finance-kpis,.ui-qr-plan-line{grid-template-columns:1fr 1fr}.ui-qr-action-bar .btn{flex:1 1 46%}}

