:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f9f9f7;--primary-dark: #002344;--gold: #c5a059;--background: #f9f9f7;--card-grey: #e8eaef;--white: #ffffff;--ink: #172033;--muted-ink: #637083;--line: #dbe3ee;--soft-line: #edf1f6;--surface: #ffffff;--surface-muted: #f5f7fa;--teal: #176b63;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(14, 30, 55, .06);--shadow-md: 0 14px 36px rgba(14, 30, 55, .1);--focus-ring: 0 0 0 3px rgba(197, 160, 89, .28);--ui-bg-page: #f4f6fb;--ui-bg-page-tint: #eef1f7;--ui-surface: #ffffff;--ui-surface-muted: #f7f9fc;--ui-surface-raised: #ffffff;--ui-surface-info: #f1f6ff;--ui-surface-warning: #fff7e6;--ui-surface-success: #effaf2;--ui-surface-empty: #fbfcfe;--ui-border-card: #e3e8f1;--ui-border-strong: #d5dce8;--ui-border-info: #cfe0ff;--ui-border-warning: #f3dca5;--ui-border-success: #b8e3c6;--ui-hero-bg: linear-gradient(135deg, #0a2a55 0%, #143866 55%, #1c4378 100%);--ui-hero-fg: #f5f8ff;--ui-hero-muted: rgba(225, 232, 248, .78);--ui-hero-line: rgba(255, 255, 255, .12);--ui-text-strong: #0e1a2d;--ui-text: #1d2a44;--ui-text-muted: #4a5566;--ui-text-faint: #6b7280;--ui-text-on-dark: #f5f8ff;--ui-text-on-dark-muted: rgba(225, 232, 248, .72);--ui-elev-1: 0 1px 2px rgba(14, 30, 55, .05), 0 1px 1px rgba(14, 30, 55, .03);--ui-elev-2: 0 1px 2px rgba(14, 30, 55, .05), 0 6px 16px rgba(14, 30, 55, .06);--ui-elev-hero: 0 10px 28px rgba(10, 42, 85, .18);--ui-bp-sm: 480px;--ui-bp-md: 768px;--ui-bp-lg: 1024px;--ui-bp-xl: 1440px;--ui-page-padding: clamp(12px, 3.5vw, 28px);--ui-section-gap: clamp(12px, 2.2vw, 20px);--ui-content-max-width: 1320px;--ui-appbar-height: 64px;--ui-appbar-height-sm: 56px;--ui-drawer-width: 280px;--ui-drawer-width-sm: min(86vw, 320px);--ui-sidebar-width: 250px;--ui-bottom-nav-height: 64px;--ui-card-padding: clamp(14px, 2vw, 20px);--ui-card-padding-sm: 14px;--ui-card-gap: 16px;--ui-radius-card: 14px;--ui-radius-sm: 8px;--ui-radius-md: 12px;--ui-radius-lg: 18px;--ui-radius-pill: 999px;--ui-input-height: 42px;--ui-input-height-sm: 40px;--ui-form-gap: 14px;--ui-grid-gap: 16px;--ui-shadow-1: 0 1px 2px rgba(14, 30, 55, .06);--ui-shadow-2: 0 4px 14px rgba(14, 30, 55, .08);--ui-shadow-3: 0 14px 36px rgba(14, 30, 55, .12);--ui-z-drawer: 70;--ui-z-backdrop: 60;--ui-z-modal: 90}*{box-sizing:border-box}body{margin:0;background:var(--background);line-height:1.45}button,input,select,textarea{font:inherit}a,button,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}a,button,[role=button],.student-primary-link,.student-secondary-link{touch-action:manipulation;-webkit-tap-highlight-color:rgba(197,160,89,.24)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}[dir=rtl] body{direction:rtl}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--primary-dark);color:#fff;padding:22px 18px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--gold);color:var(--primary-dark);font-weight:800}.brand-icon-img{width:42px;height:42px;flex:0 0 auto;border-radius:10px;object-fit:contain}.brand-logo-horizontal{width:min(220px,46vw);height:auto;flex:0 0 auto;object-fit:contain}.brand span,.topbar span,.muted{display:block;color:#7a8496;font-size:12px}.sidebar nav{display:grid;gap:6px}.sidebar a{display:flex;align-items:center;gap:10px;color:#d8e1ef;text-decoration:none;padding:10px 12px;border-radius:8px}.sidebar a.active,.sidebar a:hover{background:#ffffff1f;color:#fff}main{min-width:0}.topbar{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--soft-line)}.page{width:min(1320px,100%);padding:28px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}h1,h2{margin:0 0 12px}h1{font-size:26px;line-height:1.2}h2{font-size:17px;line-height:1.3}.card{background:var(--surface);border:1px solid var(--soft-line);border-radius:var(--radius-md);padding:18px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat{display:block;font-size:30px;margin-top:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wide{grid-column:1 / -1}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;background:#fff;color:var(--ink)}textarea{min-height:72px;resize:vertical}button{border:0;border-radius:var(--radius-sm);min-height:40px;padding:10px 14px;background:var(--primary-dark);color:#fff;cursor:pointer;font-weight:700}button.secondary,button.ghost{background:#eef2f7;color:#172033}button:not(:disabled):hover{transform:translateY(-1px)}button.ghost:not(:disabled):hover,button.secondary:not(:disabled):hover{background:#e4ebf4}button.danger{background:#ffe8e8;color:#9b1c1c}button:disabled{opacity:.65;cursor:not-allowed}.actions,.row-actions,.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.password-tools{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,auto);gap:8px;align-items:center}.filters{margin-bottom:12px}.filters>*{max-width:280px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tabs button{padding:8px 12px}.tabs button.active{background:var(--primary-dark);color:#fff}.compact-tabs{margin:0 0 10px}.compact-tabs button{min-height:36px}.compact-table th,.compact-table td{padding:9px 8px}.status-select{min-width:150px}.media-gallery{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.nested-detail-grid{margin-top:8px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:14px 0}.summary-item{border:1px solid #edf1f6;border-radius:8px;padding:12px;background:#f8fafc}.summary-item span{display:block;color:#637083;font-size:12px}.summary-item strong{display:block;margin-top:4px;color:var(--primary-dark);font-size:22px}.scoped-note{margin:0 0 16px;border:1px solid #d8dee9;border-radius:8px;padding:10px 12px;color:#445066;background:#fff}.compact-empty{min-height:80px}.responsive-table{width:100%;overflow-x:auto}.date-range{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);gap:10px;align-items:end;max-width:none}.filters>.date-range{max-width:560px}.date-field{display:grid;gap:5px}.date-field span{color:#637083;font-size:12px;font-weight:700}.date-range-arrow{display:grid;place-items:center;min-height:42px;color:#637083;font-size:16px;font-weight:700}[dir=rtl] .date-range-arrow{transform:scaleX(-1)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf1f6;vertical-align:top}[dir=rtl] th,[dir=rtl] td{text-align:right}th{color:#637083;font-size:12px;text-transform:uppercase}.badge{display:inline-flex;border-radius:999px;padding:3px 8px;background:#eef2f7;color:#445066;font-size:12px;font-weight:700}.badge-active,.badge-resolved,.badge-done,.badge-scheduled,.badge-read{background:#e8f7ef;color:#17633a}.badge-approved{background:#e8f1ff;color:#2457a6}.badge-confidential,.badge-rejected,.badge-cancelled,.badge-inactive,.badge-unread{background:#ffe8e8;color:#9b1c1c}.badge-pending,.badge-in_progress{background:#fff6df;color:#8a5d00}.error{color:#9b1c1c;background:#ffe8e8;border:1px solid #f5caca;border-radius:var(--radius-sm);padding:10px 12px}.success{color:#17633a;background:#e8f7ef;border:1px solid #ccead9;border-radius:var(--radius-sm);padding:10px 12px}.amount-positive{color:#17633a;font-weight:700}.amount-negative{color:#9b1c1c;font-weight:700}.search-picker{position:relative}.search-results{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #d8dee9;border-radius:8px;box-shadow:0 8px 24px #0e1e371f}.search-result{width:100%;display:block;text-align:left;border-radius:0;background:#fff;color:#172033;border-bottom:1px solid #edf1f6}.lookup-picker{min-width:min(100%,280px)}.maintenance-cash-report-card,.maintenance-cash-report-card .filter-bar,.maintenance-cash-report-card .filter-controls{overflow:visible}.maintenance-cash-report-card .filter-controls{align-items:end;gap:14px}.maintenance-cash-report-card .lookup-picker{flex:1 1 280px;min-width:min(100%,260px);z-index:2}.maintenance-cash-report-card .date-range{flex:2 1 360px;min-width:min(100%,320px)}.maintenance-cash-report-card select{flex:1 1 190px;min-width:min(100%,180px)}.lookup-picker.wide,.form-grid .lookup-picker{max-width:none}.housing-occupancy-map{display:grid;gap:18px;margin:16px 0 20px}.housing-occupancy-loading{margin:14px 0}.housing-occupancy-legend{display:flex;flex-wrap:wrap;gap:10px}.housing-occupancy-legend span{display:inline-flex;align-items:center;gap:7px;color:var(--muted-ink);font-size:13px;font-weight:800}.housing-occupancy-legend i{width:12px;height:12px;border-radius:3px;border:1px solid transparent}.housing-building-map{display:grid;gap:10px}.housing-building-map h3{margin:0;color:var(--primary-dark);font-size:16px}.housing-room-card-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}@media(max-width:1024px){.housing-room-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:560px){.housing-room-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:360px){.housing-room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.housing-room-card{align-items:start;justify-content:start;text-align:start;display:grid;gap:2px;border-radius:8px;border:1px solid var(--soft-line);padding:8px 6px;background:#f8fafc;color:var(--primary-dark);box-shadow:none;overflow:hidden}.housing-room-card strong{font-size:15px;line-height:1.15}.housing-room-card span{color:var(--muted-ink);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.housing-room-card b{font-size:11px;font-weight:700}.housing-room-card em{color:var(--muted-ink);font-size:10px;font-style:normal;line-height:1.2}.housing-room-card.is-available,.housing-occupancy-legend .is-available{background:#e8f7ee;border-color:#8fd3a7}.housing-room-card.is-partial,.housing-occupancy-legend .is-partial{background:#fdf3d7;border-color:#edc65a}.housing-room-card.is-occupied,.housing-occupancy-legend .is-occupied{background:#fde8e8;border-color:#f1a2a2}.housing-room-card.is-inactive,.housing-occupancy-legend .is-inactive{background:#edf1f5;border-color:#cbd5e1;color:#64748b}.lookup-selected{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px;padding:8px 10px;border:1px solid #d8dee9;border-radius:8px;background:#f8fafc}.lookup-selected .ghost{padding:2px 7px}.lookup-result strong,.lookup-result span{display:block}.lookup-result span{margin-top:2px;color:#637083;font-size:12px}[dir=rtl] .search-result{text-align:right}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#e8eaef}.chip button{padding:0;width:20px;height:20px;border-radius:999px}.empty,.center{display:grid;place-items:center;min-height:180px;color:#637083}.empty{border:1px dashed var(--line);border-radius:var(--radius-md);background:#ffffffb8;padding:18px;text-align:center}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-grid.compact{grid-template-columns:repeat(3,minmax(120px,1fr))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0c14226b}.modal-panel{width:min(860px,100%);max-height:min(720px,calc(100vh - 32px));overflow:auto;background:#fff;border-radius:8px;border:1px solid #e7ebf2;padding:16px;box-shadow:0 18px 48px #0e1e3738}.confirm-backdrop{z-index:90}.confirm-dialog{width:min(440px,100%);border:1px solid var(--soft-line);border-radius:var(--radius-lg);padding:clamp(18px,3vw,24px);background:#fff;box-shadow:0 22px 60px #0e1e373d}.confirm-dialog h2{margin-bottom:8px;color:var(--primary-dark);font-size:22px}.confirm-dialog p{margin:0;color:#445066;line-height:1.65}.confirm-actions{justify-content:flex-end;margin-top:18px}.detail-item{background:var(--card-grey);border-radius:8px;padding:12px}.detail-item span{display:block;color:#637083;font-size:12px}.entity-grid,.request-card-grid,.announcement-grid,.media-grid{display:grid;gap:12px}.entity-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.request-card-grid,.announcement-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.request-list{display:grid;gap:10px}.entity-card,.request-card,.announcement-card{display:grid;gap:10px;border:1px solid #edf1f6;border-radius:8px;padding:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.entity-card-head,.request-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.entity-card-head strong,.request-card-head strong{display:block;color:var(--primary-dark)}.entity-card-head span,.request-card-head span{display:block;margin-top:3px;color:#637083;font-size:12px}.entity-card p,.request-description,.announcement-card p{margin:0;color:#445066;line-height:1.45;white-space:pre-wrap}.announcement-media-carousel{display:grid;gap:10px}.media-strip{display:flex;justify-content:center;gap:6px}.media-strip button{width:26px;height:8px;padding:0;border-radius:999px;background:#d8dee8;color:transparent}.media-strip button.active{width:42px;background:var(--gold)}.request-actions{grid-template-columns:minmax(220px,1.5fr) minmax(140px,.8fr)}.inline-detail{justify-self:start;padding:7px 10px}.media-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.media-thumb,.file-card{width:100%;min-height:180px;border:1px solid #edf1f6;border-radius:16px;background:#f8fafc}.media-thumb{object-fit:cover;max-height:340px}.media-thumb.large{min-height:260px;max-height:420px}.media-button{padding:0;background:transparent;color:inherit;width:100%;border-radius:16px;overflow:hidden}.video-card{display:grid;place-items:center;gap:8px;min-height:260px;border:1px solid #edf1f6;border-radius:16px;padding:10px;background:linear-gradient(145deg,#101827,#25324a);color:var(--primary-dark);color:#fff;width:100%}.media-modal video{width:100%;max-width:1100px;max-height:80vh;border-radius:16px;background:#111827}.media-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:56px 20px 20px;background:#000000d6}.media-modal img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.media-modal-close{position:fixed;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#172033}[dir=rtl] .media-modal-close{right:auto;left:16px}.file-card{display:grid;align-content:center;gap:6px;padding:14px;color:#172033;text-decoration:none}.file-card span{color:var(--gold);font-size:12px;font-weight:800}.stack{display:grid;gap:16px}.detail-section{border:1px solid #edf1f6;border-radius:8px;padding:12px;overflow-x:auto}.detail-section h3{margin:0 0 10px;font-size:15px}.notification-list{display:grid;gap:10px;max-height:min(620px,65vh);overflow-y:auto;padding-right:4px}.notification-item{display:grid;grid-template-columns:minmax(170px,1fr) minmax(240px,2fr) minmax(150px,auto);gap:14px;align-items:start;padding:12px;border:1px solid #edf1f6;border-radius:8px;background:#fff}.notification-recipient,.notification-content{min-width:0}.notification-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.notification-title-row strong,.notification-content p,.notification-date{overflow-wrap:anywhere}.notification-content p{margin:6px 0 0;color:#445066;line-height:1.45;white-space:pre-wrap}.notification-date{color:#637083;font-size:13px;text-align:right}[dir=rtl] .notification-date{text-align:left}.login-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr;color:#fff;background:radial-gradient(circle at 18% 16%,rgba(23,107,99,.44),transparent 28rem),radial-gradient(circle at 88% 12%,rgba(197,160,89,.2),transparent 24rem),var(--primary-dark)}.login-topbar{width:min(1180px,calc(100% - 48px));min-height:84px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.login-home-link{color:#fff;text-decoration:none}.login-home-link strong,.login-card-head strong{display:block;line-height:1.2}.login-home-link span,.login-card-head span{display:block;color:#ffffffb3;font-size:12px}.login-card{width:min(440px,100%);display:grid;gap:15px;background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.56);border-radius:var(--radius-lg);padding:clamp(22px,3vw,32px);border-top:4px solid var(--gold);box-shadow:0 26px 72px #000a1c4d}.login-brand{display:flex;align-items:center;gap:12px}.login-brand h1{margin-bottom:2px}.login-main{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(28px,7vh,78px) 0 72px}.login-intro{max-width:600px}.login-intro h1{margin:16px 0 14px;color:#fff;font-size:clamp(32px,4vw,52px);letter-spacing:0}.login-intro p{max-width:520px;margin:0;color:#ffffffd1;font-size:18px;line-height:1.75}.login-kicker,.login-public-link{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff1a}.login-kicker{min-height:38px;padding:7px 13px;color:#f3dfb7;font-weight:800}.login-public-link{width:fit-content;margin-top:24px;border-radius:var(--radius-md);padding:14px 16px;color:#ffffffe6;font-weight:800;line-height:1.6;text-decoration:none}.login-card-head{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--soft-line)}.login-card-head span{color:var(--muted-ink)}.login-card label{display:grid;gap:6px;color:#445066;font-weight:700}.login-submit{width:100%;min-height:48px;border-radius:var(--radius-md);font-size:16px}.login-error{margin:0}.input-with-icon{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 10px;background:#fff}.input-with-icon input{flex:1;min-width:0;border:0;min-height:46px;padding-left:0}.input-with-icon:focus-within{border-color:var(--gold);box-shadow:var(--focus-ring)}.input-with-icon .password-visibility{width:32px;min-width:32px;height:32px;min-height:32px;display:grid;place-items:center;padding:0;color:var(--muted-ink);background:transparent}[dir=rtl] .input-with-icon input{padding-right:0}.language-select{width:auto;min-width:116px}.day-picker{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-picker-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.file-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-md);padding:9px 14px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.file-picker-button[aria-disabled=true]{opacity:.6;pointer-events:none}.file-picker-summary{min-width:0;color:var(--muted-ink);font-size:13px;overflow-wrap:anywhere}.upload-progress{display:inline-flex;align-items:center;gap:10px;min-height:40px;color:var(--primary-dark);font-weight:800}.spinner{width:18px;height:18px;border:2px solid rgba(15,48,87,.18);border-top-color:var(--primary-dark);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:35;width:100%;min-width:0;max-width:100vw;overflow:hidden;padding:12px}.sidebar .brand{min-width:0;width:100%;margin-bottom:10px}.sidebar nav{display:flex;width:100%;min-width:0;max-width:100%;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.sidebar a{flex:0 0 auto;min-height:38px;padding:8px 10px;font-size:13px;white-space:nowrap}.grid.two,.stats-grid,.detail-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.date-range{grid-template-columns:1fr;gap:8px}.date-range-arrow{min-height:auto;justify-self:center}.password-tools{grid-template-columns:1fr}.page{padding:16px}.notification-list{max-height:none;overflow:visible;padding-right:0}.notification-item{grid-template-columns:1fr;gap:8px}.notification-title-row{align-items:flex-start}.notification-date{text-align:left}table{display:block;overflow-x:auto}.filters>*{max-width:none}.modal-panel{max-height:calc(100vh - 24px)}.request-actions{grid-template-columns:1fr}}@media(max-width:520px){.summary-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.tabs button{flex:1 1 auto}.row-actions .status-select{min-width:100%}}.student-public-page,.student-login-page,.student-shell{min-height:100vh;background:var(--background)}.student-public-nav,.student-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:12px 24px;background:var(--primary-dark);color:#fff}.student-brand,.student-login-brand{display:flex;align-items:center;gap:12px}.student-brand span,.student-login-brand p{display:block;margin:2px 0 0;color:#ffffffb8;font-size:12px}.student-public-nav{position:sticky;top:0;z-index:25;border-bottom:1px solid rgba(255,255,255,.12)}.student-public-brand{min-width:0;color:#fff;text-decoration:none}.student-public-brand span{min-width:0}.student-public-brand strong,.student-topbar-brand strong{display:block;color:#fff;line-height:1.2}.student-public-brand small{display:block;overflow:hidden;color:#ffffffad;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.student-public-nav-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.student-public-nav select,.student-topbar select{width:auto;min-width:118px}.student-nav-login{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:var(--radius-sm);padding:9px 14px;color:var(--primary-dark);background:var(--gold);font-weight:800;text-decoration:none}.student-public-main{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:30px 0 58px}.student-public-hero{min-height:min(650px,calc(100vh - 154px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(24px,4vw,54px);align-items:center;color:#fff;background:var(--primary-dark);border:1px solid rgba(255,255,255,.12);border-radius:0 0 28px 28px;padding:clamp(28px,5vw,64px);overflow:hidden}.student-kicker{color:var(--gold);font-weight:800}.student-public-hero h1{color:#fff;font-size:clamp(40px,6vw,72px);margin:12px 0;letter-spacing:0}.student-public-hero p,.student-public-section p{margin:0;line-height:1.7;color:#ffffffc7;max-width:620px}.student-public-copy{min-width:0}.student-public-copy>p{font-size:clamp(17px,1.8vw,21px)}.student-public-copy .student-public-intro{max-width:560px;margin-top:14px;color:#ffffffad;font-size:15px}.student-public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.student-primary-link,.student-secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;padding:11px 17px;text-decoration:none;border:1px solid rgba(255,255,255,.24)}.student-primary-link{background:var(--gold);color:var(--primary-dark);font-weight:800}.student-secondary-link{background:#ffffff1a;color:#fff}button.student-secondary-link:disabled{opacity:.85}.student-public-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.student-public-proof span{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 12px;color:#ffffffeb;background:#ffffff14}.student-public-product{display:grid;gap:14px;min-width:0}.student-public-product>img{width:min(340px,100%);border:1px solid rgba(255,255,255,.16);border-radius:18px;box-shadow:0 24px 70px #000a1c59}.student-product-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:4px 12px;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:14px;background:#ffffff17;color:#fff}.student-product-card svg{grid-row:span 2;color:var(--gold)}.student-product-card span,.student-product-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-product-card span{color:#ffffffb3;font-size:13px}.student-public-section{margin-top:28px;padding:clamp(20px,3vw,32px);border-radius:var(--radius-lg);background:#fff;border:1px solid var(--soft-line);box-shadow:var(--shadow-sm)}.student-public-section p{color:#445066}.student-public-section-head{max-width:760px}.student-public-section-head h2{margin-top:8px;font-size:clamp(24px,2.5vw,34px)}.student-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.student-feature-card,.student-quick-action{display:flex;align-items:center;gap:12px;border:1px solid var(--soft-line);border-radius:var(--radius-md);padding:16px;background:#fff;color:var(--primary-dark)}.student-feature-card{min-height:82px;background:var(--surface-muted)}.student-public-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.student-public-bands article{min-height:182px;border:1px solid var(--soft-line);border-radius:var(--radius-lg);padding:clamp(18px,2vw,24px);background:#fff;box-shadow:var(--shadow-sm)}.student-public-bands h2{color:var(--primary-dark);font-size:21px}.student-public-bands p{margin:0;color:#445066;line-height:1.7}.student-public-footer{width:min(1180px,calc(100% - 48px));display:flex;justify-content:space-between;gap:16px;margin:0 auto;padding:0 0 34px;color:#445066}.student-public-footer span{color:var(--muted-ink)}.student-feature-card svg,.student-quick-action svg,.student-card-head svg,.student-row-card>svg{color:var(--gold);flex:0 0 auto}.student-login-page,.student-denied{display:grid;place-items:center;padding:16px;background:var(--primary-dark)}.student-login-card{width:min(420px,100%);display:grid;gap:16px;padding:30px;border-radius:18px;background:#fff;border-top:4px solid var(--gold)}.student-login-brand p{color:#637083}.student-back-link{color:var(--primary-dark);text-align:center;text-decoration:none}.student-shell{display:grid;grid-template-columns:260px minmax(0,1fr)}.student-sidebar{min-height:100vh;padding:22px 18px;background:var(--primary-dark);color:#fff}.student-sidebar nav{display:grid;gap:6px;margin-top:26px}.student-sidebar a,.student-bottom-nav a{display:flex;align-items:center;gap:10px;color:#d8e1ef;text-decoration:none;border-radius:12px;padding:10px 12px}.student-sidebar a.active,.student-sidebar a:hover{background:#ffffff1f;color:#fff}.student-main{min-width:0;padding-bottom:0}.student-topbar{background:#fff;color:var(--primary-dark);border-bottom:1px solid var(--soft-line)}.student-topbar-brand{min-width:0;display:flex;align-items:center;gap:11px}.student-topbar-brand strong{color:var(--primary-dark)}.student-topbar-brand span{display:block;overflow:hidden;color:var(--muted-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.student-topbar .brand-mark{width:36px;height:36px;flex:0 0 auto}.student-account-link{min-height:40px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);padding:8px 11px;color:var(--primary-dark);background:var(--surface-muted);text-decoration:none;font-weight:700}.student-account-link.active{border-color:#c5a05980;background:#fbf5e8}.student-mobile-nav{display:none}.student-page{width:min(980px,100%);padding:28px 24px}.student-stack{display:grid;gap:16px}.student-welcome{padding:28px;border-radius:0 0 30px 30px;background:var(--primary-dark);color:#fff}.student-welcome span{color:var(--gold);font-weight:800}.public-contact-list{display:flex;flex-wrap:wrap;gap:10px}.public-contact-list span{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 12px;background:#ffffff14;color:#ffffffd1;font-weight:700}.student-welcome h1{color:#fff;margin:6px 0 0}.student-card,.student-row-card,.student-history-card,.student-note{border:1px solid var(--soft-line);border-radius:var(--radius-lg);background:#fff;padding:16px;box-shadow:var(--shadow-sm)}.student-card.compact{padding:14px}.student-card h2,.student-row-card strong,.student-history-card strong{color:var(--primary-dark)}.student-card p{margin:6px 0;color:#445066;line-height:1.5}.student-housing-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px}.student-icon-box{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--primary-dark);color:var(--gold)}.student-chip-row,.student-action-grid,.student-card-grid{display:grid;gap:12px}.student-chip-row{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.student-info-chip{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f6f7f9}.student-info-chip small,.student-detail span,.student-row-card small,.student-history-card small{color:#637083;font-size:12px}.student-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-quick-action{justify-content:flex-start;min-height:76px;font-weight:800}.student-section-title,.student-page-title,.student-card-head,.student-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.student-page-title h1,.student-section-title h2{margin:0;color:var(--primary-dark)}.student-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,248px),312px));justify-content:start;align-items:start}.student-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,360px));justify-content:start;gap:16px;align-items:start}.student-service-card{min-width:0}.student-service-list{display:grid;gap:10px}.student-service-summary,.student-service-option-details{display:grid;gap:10px;min-width:0}.student-service-summary{margin-top:12px}.student-service-option-details h3{margin:0;color:var(--primary-dark);font-size:16px;line-height:1.35}.student-service-parent-action{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;text-align:inherit}.student-service-parent-action strong{display:grid;place-items:center;min-width:32px;min-height:32px;border-radius:999px;background:#ffffff29}.student-service-modal-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.student-service-modal-option{display:grid;align-content:space-between;gap:12px;min-width:0;border:1px solid var(--soft-line);border-radius:var(--radius-md);padding:14px;background:#f8fafc}.student-modal-description{margin-top:0;color:#445066}.student-service-option{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(132px,.75fr);gap:12px;align-items:stretch;text-align:inherit;color:#172033;background:#f8fafc;border:1px solid #e6eaf0;border-radius:12px;padding:12px}.student-service-option-main,.student-service-meta{display:grid;align-content:start;gap:6px;min-width:0}.student-service-option-main strong,.student-service-option-main small,.student-service-meta small{overflow-wrap:anywhere}.student-service-option-main small{color:#637083;line-height:1.5}.student-service-meta{justify-items:start}.student-service-meta b,.student-service-meta small{display:inline-flex;width:fit-content;max-width:100%;border-radius:999px;padding:5px 8px;background:#fff;border:1px solid #e3e8ef;color:#314158;font-size:12px}.student-service-meta b{color:var(--primary-dark);border-color:#b78a2d59}.student-list{display:grid;gap:8px}.student-list-row,.student-row-card,.student-history-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:inherit;color:#172033}.student-list-row{grid-template-columns:minmax(0,1fr) auto;background:#f8fafc}.student-list-row span,.student-row-card span,.student-history-card span{display:grid;gap:3px;min-width:0}.student-list-row small,.student-row-card small,.student-history-card small{overflow-wrap:anywhere}.student-cancel-action{display:grid;justify-items:start;gap:6px;min-width:0}.student-cancel-action small{margin:0;padding:6px 8px}.student-balance-card{display:grid;gap:8px;padding:22px;border-radius:var(--radius-lg);background:var(--primary-dark);color:#fff;min-width:0}.student-balance-card span{color:#ffffffbf}.student-balance-card strong{font-size:32px}.student-balance-card small{color:var(--gold)}.student-balance-card.maintenance{background:#173f3a}.student-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-segmented{display:flex;gap:8px;flex-wrap:wrap}.student-segmented.scroll{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.student-segmented button{background:#eef2f7;color:var(--primary-dark)}.student-segmented button.active{background:var(--primary-dark);color:#fff}.student-direction{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;font-weight:900}.student-direction.income{background:#e8f7ef;color:#17633a}.student-direction.expense{background:#ffe8e8;color:#9b1c1c}.student-history-card{grid-template-columns:minmax(0,1fr) auto;background:#fff}.student-form{display:grid;gap:12px}.student-form label{display:grid;gap:6px;color:#445066;font-weight:700}.student-note{color:#445066;background:#f8fafc}.student-full-button{width:100%}.student-file-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.student-file-label input{display:none}.student-preview-strip,.student-image-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.student-preview-strip img,.student-image-button img{width:104px;height:104px;object-fit:cover;border-radius:12px}.student-image-button{padding:0;background:transparent}.student-modal-backdrop,.student-media-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#0c14227a}.student-modal-panel{width:min(680px,100%);max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:18px;border-radius:18px;background:#fff}.student-modal-head{margin-bottom:14px}.student-modal-head h2{margin:0}.student-detail{display:grid;gap:4px;margin-bottom:10px}.student-empty{display:grid;place-items:center;min-height:140px;padding:18px;color:#637083;border-radius:var(--radius-lg);background:#fff;border:1px dashed var(--line);text-align:center}.student-media-modal{background:#000000d6;padding-top:58px}.student-media-modal img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.student-media-close{position:fixed;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#172033}[dir=rtl] .student-media-close{right:auto;left:16px}.student-profile{display:grid;justify-items:center;gap:10px}.student-profile-hero{width:calc(100% + 48px);display:grid;place-items:end center;height:220px;margin:-24px -24px 58px;border-radius:0 0 40px 40px;background:var(--primary-dark)}.student-profile-hero img,.student-profile-hero div{width:124px;height:124px;margin-bottom:-52px;border:6px solid white;border-radius:999px;object-fit:cover;background:#efe5cf;color:var(--primary-dark);display:grid;place-items:center;font-size:42px;font-weight:900}.student-bottom-nav{display:none}@media(max-width:980px){.student-public-hero{grid-template-columns:1fr;min-height:auto;gap:22px;padding:32px}.student-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-public-bands,.student-shell{grid-template-columns:1fr}.student-sidebar{display:none}.student-main{padding-bottom:74px}.student-mobile-nav{display:flex;width:100%;max-width:100vw;min-width:0;gap:8px;overflow-x:auto;padding:10px 16px;border-bottom:1px solid var(--soft-line);background:#fffffff5;scrollbar-width:thin}.student-mobile-nav a{min-height:38px;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid var(--soft-line);border-radius:999px;padding:8px 11px;color:var(--muted-ink);background:#fff;font-size:13px;font-weight:700;text-decoration:none}.student-mobile-nav a.active{border-color:#c5a0598f;color:var(--primary-dark);background:#fbf5e8}.student-page{width:100%;padding:16px}.student-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;border-top:1px solid #edf1f6;background:#fff}.student-bottom-nav a{display:grid;justify-items:center;gap:3px;padding:8px 4px;color:#637083;font-size:11px}.student-bottom-nav a.active{color:var(--primary-dark);background:#f6f7f9}}@media(max-width:620px){.login-topbar,.login-main{width:min(520px,calc(100% - 32px))}.login-topbar{min-height:72px}.login-main{grid-template-columns:1fr;gap:22px;padding:20px 0 32px}.login-intro h1{margin-top:12px;font-size:30px}.login-intro p{font-size:16px}.login-public-link{margin-top:16px;padding:12px}.login-card{padding:20px}.student-public-main{width:100%;padding-top:0}.student-public-nav{min-height:72px;padding:10px 16px}.student-public-brand small{max-width:132px}.student-public-nav select{min-width:102px}.student-nav-login{min-height:40px;padding-inline:12px}.student-public-hero{border-radius:0 0 24px 24px;padding:24px 18px}.student-public-hero h1{font-size:40px}.student-public-actions a,.student-public-actions button{width:100%}.student-preview-shell{gap:10px;padding:14px}.student-preview-panel{gap:9px;padding:14px}.student-preview-grid div{min-height:78px;padding:11px;font-size:13px}.student-preview-grid div:nth-child(n+3){display:none}.student-public-section{margin:16px;padding:18px}.student-public-bands{margin:0 16px}.student-public-footer{width:calc(100% - 32px);display:grid;padding-bottom:26px}.student-feature-grid,.student-action-grid,.student-card-grid,.student-services-grid,.student-chip-row,.student-wallet-grid,.student-service-option,.student-housing-card,.student-row-card{grid-template-columns:1fr}.student-topbar{min-height:0;align-items:flex-start;padding:12px;flex-direction:column}.student-topbar .actions{width:100%;justify-content:space-between;flex-wrap:nowrap}.student-topbar select{min-width:104px;max-width:122px}.student-topbar button.ghost{padding:9px}.student-logout-button{flex:0 0 auto}.student-mobile-nav{padding-inline:12px}}@media(max-width:420px){.login-topbar .language-select{min-width:104px}.student-public-nav{gap:8px}.student-public-brand small{display:none}.student-public-nav-actions{gap:6px}.student-account-link span{display:none}.student-topbar .actions{min-width:0;gap:6px;overflow:hidden}.student-logout-button{max-width:48px;overflow:hidden;white-space:nowrap}}:root{--radius-card: 10px;--radius-control: 8px;--shadow-card: 0 8px 24px rgba(14, 30, 55, .06);--shadow-card-hover: 0 14px 34px rgba(14, 30, 55, .1)}.page{margin-inline:auto}.page-header,.section-header,.student-page-title,.student-section-title,.student-card-head,.student-modal-head{min-width:0}.page-header h1,.section-header h2,.student-page-title h1,.student-section-title h2{color:var(--primary-dark);letter-spacing:0}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--soft-line)}.section-header h2{margin:0;font-size:18px}.section-header p{max-width:760px;margin:6px 0 0;color:var(--muted-ink);line-height:1.65}.section-eyebrow{display:block;margin-bottom:4px;color:var(--gold);font-size:12px;font-weight:800}.section-actions,.action-bar,.filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.card,.student-card,.student-row-card,.student-history-card,.student-note,.entity-card,.request-card,.announcement-card{border-color:#e5ebf3;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card{padding:clamp(16px,2vw,22px);min-width:0;overflow-x:auto}.entity-card,.request-card,.announcement-card,.student-card,.student-row-card,.student-history-card{align-content:start;gap:14px}.entity-card:hover,.request-card:hover,.announcement-card:hover,.student-service-card:hover,.student-row-card:hover{border-color:#d8e1ef;box-shadow:var(--shadow-card-hover)}.entity-card-head,.request-card-head,.student-card-head{padding-bottom:10px;border-bottom:1px solid var(--soft-line)}.entity-card-head strong,.request-card-head strong,.student-row-card strong,.student-history-card strong,.student-service-option-details h3{line-height:1.35}.filter-bar,.filters{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:12px 0 16px;padding:12px;border:1px solid var(--soft-line);border-radius:var(--radius-card);background:#f8fafc}.filter-controls,.filters{flex-wrap:wrap}.filter-controls{display:flex;align-items:end;gap:10px;flex:1 1 auto;min-width:0}.filter-controls>*,.filters>*{flex:1 1 190px;max-width:none;min-width:min(100%,170px)}input,select,textarea,.input-with-icon,.lookup-selected{border-radius:var(--radius-control)}label{color:#445066;font-weight:700}.form-grid{gap:14px}.form-grid h3,.form-grid .wide.muted,.student-form h2{margin:0}.form-grid>h3.wide,.student-form h2{padding-bottom:10px;border-bottom:1px solid var(--soft-line);color:var(--primary-dark)}.actions,.row-actions,.action-bar{gap:9px}.wide.actions,.action-bar{padding-top:10px;border-top:1px solid var(--soft-line)}.form-grid>.action-bar{grid-column:1 / -1}.tabs{padding:4px;border:1px solid var(--soft-line);border-radius:var(--radius-card);background:#f8fafc}.tabs button,.student-segmented button{border:1px solid transparent;box-shadow:none}.tabs button.secondary,.student-segmented button{background:transparent}.tabs button.active,.student-segmented button.active{border-color:#00234429}.badge{align-items:center;min-height:24px;border:1px solid rgba(68,80,102,.08);line-height:1.2;white-space:nowrap}.detail-grid,.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.detail-grid.compact,.details-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.detail-item,.info-card{min-width:0;border:1px solid var(--soft-line);border-radius:var(--radius-control);padding:12px;background:#f8fafc}.detail-item.wide,.info-card.wide{grid-column:1 / -1}.detail-item span,.info-card span,.meta-row span{display:block;margin-bottom:5px;color:var(--muted-ink);font-size:12px;font-weight:800}.detail-item strong,.info-card strong,.meta-row strong{display:block;min-width:0;color:var(--ink);font-size:14px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.meta-row{display:grid;grid-template-columns:minmax(82px,.55fr) minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--soft-line)}.meta-row:last-child{border-bottom:0}.meta-row span{margin:0}.detail-section{border-color:var(--soft-line);border-radius:var(--radius-card);padding:16px;background:#fff}.detail-section h3{color:var(--primary-dark)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.summary-item{border-color:var(--soft-line);background:#fff}.responsive-table{border:1px solid var(--soft-line);border-radius:var(--radius-card);background:#fff}.card>table,.detail-section>table{display:block;width:100%;overflow-x:auto}table{min-width:720px}th{color:#526176;letter-spacing:0}td{color:#25324a}.request-list,.student-card-grid,.student-services-grid,.entity-grid,.announcement-grid{gap:16px}.request-actions{padding:12px;border:1px solid var(--soft-line);border-radius:var(--radius-card);background:#f8fafc}.inline-detail{width:fit-content}.modal-panel,.student-modal-panel{border-radius:var(--radius-card);padding:clamp(16px,3vw,24px)}.responsive-modal{width:min(900px,100%)}.modal-header{position:sticky;top:0;z-index:1;margin:calc(clamp(16px,3vw,24px)*-1) calc(clamp(16px,3vw,24px)*-1) 18px;padding:clamp(14px,2vw,18px) clamp(16px,3vw,24px);background:#fff}.student-page{width:min(1120px,100%)}.student-welcome{border-radius:var(--radius-card);background:linear-gradient(135deg,#002344,#123d5a 58%,#176b63)}.student-services-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.student-service-card{display:grid;min-height:230px}.student-service-summary{align-content:space-between}.student-service-parent-action{align-self:end;border:1px solid rgba(0,35,68,.08);background:var(--primary-dark)}.student-service-meta{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px}.student-service-meta b,.student-service-meta small{border-radius:999px;line-height:1.35}.student-service-meta-list{display:grid;gap:0;border:1px solid var(--soft-line);border-radius:var(--radius-card);padding:2px 12px;background:#fbfcfe}.student-detail{margin:0;padding:10px 0;border-bottom:1px solid var(--soft-line)}.student-detail:last-child{border-bottom:0}.student-detail span{margin-bottom:4px;font-weight:800}.student-modal-panel .student-form,.student-card.student-form{gap:14px}.student-note,.scoped-note{border-color:#dbe8f3;background:#f5f9fc}[dir=rtl] .meta-row{grid-template-columns:minmax(0,1fr) minmax(82px,.55fr)}[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] select{text-align:right}@media(max-width:768px){.page-header,.section-header,.student-page-title,.student-section-title,.student-card-head{display:grid;gap:10px}.filter-bar,.filters{display:grid;align-items:stretch}.filter-controls,.filter-actions,.section-actions,.action-bar,.actions,.row-actions{width:100%;justify-content:stretch}.filter-controls>*,.filters>*,.actions>button,.row-actions>button,.row-actions>select,.action-bar>button{width:100%}table{min-width:640px}.student-service-card{min-height:0}}@media(max-width:420px){.card,.student-card,.student-row-card,.student-history-card{padding:14px}.detail-grid,.details-grid,.detail-grid.compact,.details-grid.compact{grid-template-columns:1fr}.meta-row,[dir=rtl] .meta-row{grid-template-columns:1fr;gap:4px}}.student-services-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;align-items:start}.student-service-card{height:auto;min-height:0;display:grid;gap:12px;padding:14px}.student-service-card .student-card-head{align-items:start;padding-bottom:10px}.student-service-card .student-card-head h2{margin:0;font-size:18px;line-height:1.35}.student-service-card .student-card-head p,.student-service-option-details p{margin:6px 0 0;color:#445066;font-size:14px;line-height:1.65}.student-service-card .student-card-head svg{width:22px;height:22px;margin-top:2px}.student-service-summary,.student-service-option-details{gap:12px}.student-service-summary{margin-top:0}.student-service-summary>button,.student-service-modal-option>button{width:100%;min-height:42px}.student-service-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-service-meta-row{min-width:0;border:1px solid var(--soft-line);border-radius:var(--radius-control);padding:9px 10px;background:#f8fafc}.student-service-meta-row span{display:block;margin-bottom:3px;color:var(--muted-ink);font-size:11px;font-weight:800}.student-service-meta-row strong{display:block;color:var(--primary-dark);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.student-service-meta-row.price{border-color:#c5a05959;background:#fffaf0}.student-service-group-summary{display:grid;gap:10px}.student-service-group-summary>span,.student-service-empty{width:fit-content;max-width:100%;border:1px solid var(--soft-line);border-radius:999px;padding:7px 10px;color:var(--muted-ink);background:#f8fafc;font-size:13px;font-weight:800}.student-service-parent-action{width:100%;justify-content:center;margin-top:0;min-height:42px;border-radius:var(--radius-control)}.student-service-card.empty{align-content:start}.student-service-modal-options{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px}.student-service-modal-option{align-content:start;gap:12px;padding:12px;background:#fff}@media(min-width:700px)and (max-width:1099px){.student-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.student-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.student-services-grid{grid-template-columns:1fr}}.student-services-grid.compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px}@media(min-width:720px){.student-services-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1180px){.student-services-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}.student-service-card-compact{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:start;display:grid;gap:10px;padding:14px 16px;border:1px solid var(--soft-line);border-radius:var(--radius-control, 12px);background:#fff;color:inherit;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;min-width:0}.student-service-card-compact:hover:not(:disabled),.student-service-card-compact:focus-visible{border-color:var(--primary, #2563eb);box-shadow:0 4px 12px -8px #0f172a38;transform:translateY(-1px)}.student-service-card-compact:disabled{cursor:not-allowed;opacity:.75}.student-service-card-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.student-service-card-compact-head h3{margin:0;font-size:16px;line-height:1.35;font-weight:800;color:var(--primary-dark, #0f172a);overflow-wrap:anywhere}.student-service-card-compact-price{flex:0 0 auto;font-size:13px;font-weight:800;color:var(--primary-dark, #0f172a);background:#fffaf0;border:1px solid rgba(197,160,89,.35);border-radius:999px;padding:4px 10px;white-space:nowrap}.student-service-card-compact-desc{margin:0;color:#4b5563;font-size:13px;line-height:1.6;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-service-card-compact-desc.is-hint{color:var(--muted-ink, #6b7280);font-weight:600}.student-service-card-compact-cta{justify-self:start;font-size:13px;font-weight:800;color:var(--primary, #2563eb)}[dir=rtl] .student-service-card-compact-cta{justify-self:end}.student-service-card-compact-cta.is-disabled{color:var(--muted-ink, #6b7280)}.student-shell,.student-main,.student-topbar,.student-page,.student-services-grid{min-width:0;max-width:100%}.student-shell,.student-main{overflow-x:hidden}.student-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px}.student-topbar .actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.student-topbar .actions>*{min-width:0}.student-logout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.student-services-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:stretch;gap:12px}.student-service-card{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;min-height:0}.student-service-card .student-card-head{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:12px}[dir=rtl] .student-service-card .student-card-head{flex-direction:row}.student-service-card .student-card-head>div{min-width:0}.student-service-card-body{min-width:0;display:grid;align-content:start;gap:12px}.student-service-card-actions{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--soft-line)}.student-service-card-actions button{width:100%}.student-service-group-summary>span,.student-service-empty{width:100%;border-radius:var(--radius-control);text-align:center}.student-service-card.empty .student-service-card-body{align-content:center}@media(min-width:760px)and (max-width:1180px){.student-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.student-mobile-nav{display:none}.student-main{padding-bottom:84px}.student-topbar .actions>.student-logout-button{width:auto;max-width:160px}}@media(max-width:620px){.student-topbar{display:grid;grid-template-columns:1fr;padding:10px 12px}.student-topbar-brand{width:100%}.student-topbar .actions{width:100%;display:grid;grid-template-columns:40px minmax(104px,1fr) 44px;gap:8px}.student-account-link{width:40px;min-width:40px;padding-inline:0;justify-content:center}.student-account-link span{display:none}.student-topbar select{width:100%;max-width:none}.student-logout-button{width:44px;min-width:44px;max-width:44px;padding-inline:0;font-size:0;overflow:hidden}.student-logout-button svg{width:18px;height:18px;flex:0 0 auto}.student-services-grid{grid-template-columns:1fr}}:root{--aspu-color-navy: #002344;--aspu-color-navy-700: #07355d;--aspu-color-gold: #c5a059;--aspu-color-bg: #f7f8fb;--aspu-color-surface: #ffffff;--aspu-color-surface-muted: #f5f7fa;--aspu-color-border: #dbe3ee;--aspu-color-border-soft: #edf1f6;--aspu-color-text: #172033;--aspu-color-muted: #637083;--aspu-color-success: #176b63;--aspu-color-warning: #9a6a08;--aspu-color-danger: #a52a2a;--aspu-color-info: #24547a;--aspu-space-1: 4px;--aspu-space-2: 8px;--aspu-space-3: 12px;--aspu-space-4: 16px;--aspu-space-5: 20px;--aspu-space-6: 24px;--aspu-space-7: 28px;--aspu-space-8: 32px;--aspu-radius-sm: 8px;--aspu-radius-md: 12px;--aspu-radius-lg: 16px;--aspu-radius-pill: 999px;--aspu-shadow-card: 0 1px 2px rgba(14, 30, 55, .06), 0 12px 28px rgba(14, 30, 55, .06);--aspu-shadow-panel: 0 18px 44px rgba(14, 30, 55, .12);--aspu-shadow-modal: 0 24px 80px rgba(0, 20, 40, .22);--aspu-font-xs: 12px;--aspu-font-sm: 13px;--aspu-font-md: 14px;--aspu-font-lg: 17px;--aspu-font-xl: 24px;--aspu-card-padding: clamp(14px, 1.7vw, 20px);--aspu-appbar-height: 68px;--aspu-sidebar-width: 250px;--aspu-student-sidebar-width: 260px;--aspu-bottom-nav-height: 72px;--aspu-content-max: 1320px;--aspu-student-content-max: 1120px;--aspu-breakpoint-sm: 390px;--aspu-breakpoint-md: 768px;--aspu-breakpoint-lg: 1024px;--aspu-breakpoint-xl: 1440px;--primary-dark: var(--aspu-color-navy);--gold: var(--aspu-color-gold);--background: var(--aspu-color-bg);--surface: var(--aspu-color-surface);--surface-muted: var(--aspu-color-surface-muted);--ink: var(--aspu-color-text);--muted-ink: var(--aspu-color-muted);--line: var(--aspu-color-border);--soft-line: var(--aspu-color-border-soft);--radius-sm: var(--aspu-radius-sm);--radius-md: var(--aspu-radius-md);--radius-lg: var(--aspu-radius-lg);--shadow-sm: var(--aspu-shadow-card);--shadow-md: var(--aspu-shadow-panel)}html,body,#root{width:100%;min-width:0;max-width:100%;overflow-x:clip}main,section,article,form,table,nav,header,aside,.app-shell,.student-shell,.student-public-page,.login-page{min-width:0}.app-shell{grid-template-columns:var(--aspu-sidebar-width) minmax(0,1fr);width:100%;max-width:100%;overflow-x:hidden}.sidebar{width:var(--aspu-sidebar-width);min-width:0}.sidebar nav,.student-sidebar nav{min-width:0}.sidebar a,.student-sidebar a,.student-bottom-nav a,.student-mobile-nav a{min-width:0}.sidebar a span,.student-sidebar a span,.student-bottom-nav a span,.student-mobile-nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis}.page,.student-page,.student-public-main,.login-main{box-sizing:border-box;min-width:0;max-width:100%}.page{width:min(var(--aspu-content-max),100%);padding:var(--aspu-space-7)}.student-page{width:min(var(--aspu-student-content-max),100%)}.topbar,.login-topbar,.student-topbar,.student-public-nav{min-height:var(--aspu-appbar-height);width:100%;max-width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--aspu-space-3);flex-wrap:wrap}.topbar>*,.login-topbar>*,.student-topbar>*,.student-public-nav>*{min-width:0}.topbar .actions,.student-topbar .actions,.student-public-nav-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--aspu-space-2);flex-wrap:wrap}.language-select,.topbar select,.student-topbar select,.login-topbar select,.student-public-nav select{width:auto;max-width:min(180px,100%);min-width:96px}.topbar button,.student-topbar button,.student-public-nav a,.login-topbar a{max-width:100%}.student-main{max-width:100%;overflow-x:hidden}.student-bottom-nav{min-height:var(--aspu-bottom-nav-height);height:var(--aspu-bottom-nav-height);padding-bottom:max(8px,env(safe-area-inset-bottom))}.student-main,.student-page{padding-bottom:calc(var(--aspu-bottom-nav-height) + 18px)}.page-header,.section-header,.student-page-title,.student-modal-head,.modal-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aspu-space-4)}.page-header h1,.page-header h2,.section-header h2,.student-page-title h1,.student-modal-head h2{margin:0;color:var(--aspu-color-navy);line-height:1.25;letter-spacing:0}.page-header .actions,.section-actions,.card-header-actions,.action-bar,.actions,.row-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--aspu-space-2);flex-wrap:wrap}.grid.two,.content-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aspu-space-4)}.card-grid,.entity-grid,.announcement-grid,.request-card-grid,.student-card-grid,.student-services-grid,.stats-grid,.summary-grid,.student-wallet-grid,.student-action-grid,.student-feature-grid,.student-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--aspu-space-4);align-items:stretch;min-width:0}.student-services-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--aspu-space-3)}.card,.student-card,.entity-card,.request-card,.announcement-card,.student-row-card,.student-history-card,.student-feature-card,.student-balance-card,.login-card,.student-preview-shell{min-width:0;border:1px solid var(--aspu-color-border-soft);border-radius:var(--aspu-radius-md);background:var(--aspu-color-surface);box-shadow:var(--aspu-shadow-card)}.card,.student-card,.entity-card,.request-card,.announcement-card,.student-row-card,.student-history-card,.student-feature-card{padding:var(--aspu-card-padding)}.card-header,.entity-card-head,.request-card-head,.student-card-head,.login-card-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aspu-space-3);padding-bottom:var(--aspu-space-3);border-bottom:1px solid var(--aspu-color-border-soft)}.card-title-group,.student-card-head>div,.entity-card-head>div,.request-card-head>div,.login-card-head>div{min-width:0;display:flex;align-items:flex-start;gap:var(--aspu-space-3)}.card-icon,.student-card-head svg,.entity-card-head svg,.request-card-head svg{flex:0 0 auto;color:var(--aspu-color-gold)}.card-header h2,.student-card-head h2,.entity-card-head h3,.request-card-head h3{margin:0;color:var(--aspu-color-navy);font-size:var(--aspu-font-lg);line-height:1.3;overflow-wrap:anywhere}.card-header p,.student-card-head p,.entity-card-head p,.request-card-head p,.student-service-card p{margin:4px 0 0;color:var(--aspu-color-muted);line-height:1.55;overflow-wrap:anywhere}.card-body,.student-service-card-body{min-width:0;display:grid;align-content:start;gap:var(--aspu-space-3)}.card-actions,.student-service-card-actions,.row-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--aspu-space-2);flex-wrap:wrap;padding-top:var(--aspu-space-3);border-top:1px solid var(--aspu-color-border-soft)}.student-service-card{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--aspu-space-3);align-content:stretch}.student-service-card.empty{background:var(--aspu-color-surface)}.empty,.student-empty,.empty-card-state,.student-service-empty{min-width:0;border:1px dashed var(--aspu-color-border);border-radius:var(--aspu-radius-md);background:var(--aspu-color-surface-muted);color:var(--aspu-color-muted);padding:var(--aspu-space-4);text-align:center;line-height:1.6}.student-service-empty{padding:var(--aspu-space-3)}.detail-grid,.details-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--aspu-space-3)}.details-grid.compact,.detail-grid.compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.detail-item,.info-card,.meta-row,.student-service-meta-row{min-width:0;border:1px solid var(--aspu-color-border-soft);border-radius:var(--aspu-radius-sm);background:var(--aspu-color-surface-muted);padding:var(--aspu-space-3)}.detail-item span,.info-card span,.meta-row span,.student-service-meta-row span{color:var(--aspu-color-muted);font-size:var(--aspu-font-xs);font-weight:700}.detail-item strong,.info-card strong,.meta-row strong,.student-service-meta-row strong{color:var(--aspu-color-text);font-size:var(--aspu-font-md);line-height:1.45;overflow-wrap:anywhere}.filters,.filter-bar{min-width:0;display:flex;align-items:center;gap:var(--aspu-space-3);flex-wrap:wrap;padding:var(--aspu-space-3);border:1px solid var(--aspu-color-border-soft);border-radius:var(--aspu-radius-md);background:var(--aspu-color-surface);box-shadow:var(--aspu-shadow-card)}.filter-controls{min-width:0;flex:1 1 360px;display:flex;align-items:center;gap:var(--aspu-space-2);flex-wrap:wrap}.filter-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--aspu-space-2);flex-wrap:wrap}label,.check{min-width:0}input,select,textarea{min-width:0;border-color:var(--aspu-color-border);border-radius:var(--aspu-radius-sm)}textarea{line-height:1.55}button,.student-primary-link,.student-secondary-link,.student-nav-login,.login-public-link,.student-account-link{min-width:0;min-height:40px;border-radius:var(--aspu-radius-sm)}button:disabled,.disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.62;transform:none}.icon-button,.modal-close{width:40px;min-width:40px;height:40px;padding:0;display:inline-grid;place-items:center}.badge{min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--aspu-radius-pill);padding:4px 10px;font-size:var(--aspu-font-xs);font-weight:800;white-space:nowrap}.badge-pending,.badge-open,.badge-new{background:#fff6db;color:var(--aspu-color-warning)}.badge-approved,.badge-completed,.badge-active,.badge-paid{background:#e7f6f1;color:var(--aspu-color-success)}.badge-rejected,.badge-cancelled,.badge-canceled,.badge-failed{background:#fdeaea;color:var(--aspu-color-danger)}.badge-assigned,.badge-in_progress,.badge-processing{background:#e9f2fb;color:var(--aspu-color-info)}.modal-backdrop,.student-modal-backdrop,.media-modal,.student-media-modal{padding:var(--aspu-space-4)}.modal-panel,.student-modal-panel,.confirm-dialog{width:min(760px,100%);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border-radius:var(--aspu-radius-lg);box-shadow:var(--aspu-shadow-modal)}.responsive-modal{display:grid;gap:var(--aspu-space-4)}.table-wrap,.table-container,.card table,.page table{max-width:100%}table{min-width:0}@media(min-width:1181px){.student-services-grid,.student-card-grid,.entity-grid,.request-card-grid,.announcement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:760px)and (max-width:1180px){.student-services-grid,.student-card-grid,.entity-grid,.request-card-grid,.announcement-grid,.grid.two,.content-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:100%;position:sticky;top:0;z-index:20;padding:var(--aspu-space-3)}.sidebar nav{display:flex;gap:var(--aspu-space-2);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:2px}.sidebar a{flex:0 0 auto;white-space:nowrap}.page{padding:var(--aspu-space-5)}.topbar,.login-topbar,.student-public-nav{padding-inline:var(--aspu-space-4)}}@media(max-width:620px){.page,.student-page,.login-main,.student-public-main{padding-inline:var(--aspu-space-3)}.page-header,.section-header,.student-page-title,.student-modal-head,.modal-header{flex-direction:column;align-items:stretch}.page-header .actions,.section-actions,.action-bar,.actions,.row-actions,.filter-actions{justify-content:stretch}.page-header .actions>*,.action-bar>*,.row-actions>*,.filter-actions>*{flex:1 1 auto}.grid.two,.content-grid,.form-grid,.card-grid,.entity-grid,.announcement-grid,.request-card-grid,.student-card-grid,.student-services-grid,.stats-grid,.summary-grid,.student-wallet-grid,.student-action-grid,.student-feature-grid{grid-template-columns:minmax(0,1fr)}.filter-controls,.filter-actions{flex-basis:100%}.filter-controls>*,.filters>*{flex:1 1 100%}.topbar{align-items:stretch}.topbar .actions{justify-content:stretch}.topbar .actions>*{flex:1 1 auto}.student-public-nav-actions{width:100%;justify-content:stretch}.student-public-nav-actions>*{flex:1 1 auto}.modal-backdrop,.student-modal-backdrop,.media-modal,.student-media-modal{padding:var(--aspu-space-2)}.modal-panel,.student-modal-panel,.confirm-dialog{max-width:calc(100vw - 16px)}}.dashboard-shell,.dashboard-main{min-width:0;max-width:100%;overflow-x:hidden}.dashboard-sidebar{min-height:100vh;overflow:hidden auto}.dashboard-brand{min-width:0;align-items:center}.dashboard-brand>div:not(.brand-mark){min-width:0}.dashboard-brand strong,.dashboard-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-drawer-close,.dashboard-menu-button,.dashboard-nav-backdrop{display:none}.dashboard-nav{min-width:0}.dashboard-nav a{min-width:0;display:flex;align-items:center;gap:var(--aspu-space-3)}.dashboard-nav a svg{flex:0 0 auto}.dashboard-nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-topbar{min-width:0;max-width:100%;flex-wrap:nowrap;align-items:center}.dashboard-user{min-width:0;flex:1 1 auto}.dashboard-user strong,.dashboard-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-topbar-actions{width:auto;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}.dashboard-topbar-actions .language-select{flex:0 0 auto}.dashboard-logout-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.stats-grid .card{min-height:112px;margin-bottom:0;display:grid;align-content:center;gap:8px}.stats-grid .muted{color:var(--aspu-color-muted);font-weight:700;line-height:1.35}.stat{color:var(--aspu-color-navy);font-size:clamp(24px,3.4vw,34px);line-height:1}@media(min-width:981px){.dashboard-shell{grid-template-columns:var(--aspu-sidebar-width) minmax(0,1fr)}.dashboard-sidebar{position:sticky;top:0}}@media(max-width:980px){.dashboard-shell{grid-template-columns:minmax(0,1fr)}.dashboard-sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:80;width:min(300px,calc(100vw - 48px));max-width:calc(100vw - 48px);min-height:100dvh;padding:16px;transform:translate(-110%);visibility:hidden;pointer-events:none;transition:transform .2s ease;box-shadow:var(--aspu-shadow-modal)}[dir=rtl] .dashboard-sidebar{transform:translate(110%)}.dashboard-shell.nav-open .dashboard-sidebar{transform:translate(0);visibility:visible;pointer-events:auto}.dashboard-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;width:100%;height:100%;min-height:100dvh;border:0;border-radius:0;padding:0;background:#0014286b;opacity:0;pointer-events:none;transition:opacity .2s ease}.dashboard-shell.nav-open .dashboard-nav-backdrop{display:block;opacity:1;pointer-events:auto}.dashboard-drawer-close,.dashboard-menu-button{display:inline-grid}.dashboard-brand{width:100%;gap:10px;margin-bottom:16px}.dashboard-drawer-close{margin-inline-start:auto;color:#fff;background:#ffffff1f}.dashboard-nav{display:grid;gap:7px;overflow:visible;padding:0}.dashboard-nav a{width:100%;min-height:42px;flex:none;border-radius:var(--aspu-radius-sm);padding:10px 12px;white-space:normal}.dashboard-main{width:100%}.dashboard-topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;padding:10px 12px;background:var(--aspu-color-surface)}.dashboard-topbar-actions{min-width:0;display:flex;gap:7px;justify-content:flex-end}.dashboard-topbar-actions .language-select{width:108px;min-width:108px;max-width:108px;min-height:38px;padding-inline:8px}.dashboard-logout-button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.dashboard-logout-button span{display:none}.dashboard-main>.page{width:100%;padding:16px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats-grid .card{min-height:88px;padding:14px}.stats-grid .muted{font-size:12px}.stat{margin-top:0;font-size:26px}}@media(max-width:520px){.dashboard-topbar{grid-template-columns:40px minmax(0,1fr) auto;min-height:62px}.dashboard-user strong{font-size:14px}.dashboard-user span{font-size:11px}.dashboard-topbar-actions{width:auto;justify-content:flex-end}.dashboard-topbar-actions>*,.dashboard-topbar .actions>*{flex:0 0 auto}.dashboard-topbar-actions .language-select{width:96px;min-width:96px;max-width:96px}.dashboard-main>.page{padding:12px}.stats-grid{grid-template-columns:minmax(0,1fr);gap:10px}.stats-grid .card{min-height:76px;padding:12px 14px}}@media(max-width:620px){.dashboard-main table.compact-table{display:block;width:100%;min-width:0;border:0}.dashboard-main table.compact-table thead{display:none}.dashboard-main table.compact-table tbody,.dashboard-main table.compact-table tr,.dashboard-main table.compact-table td{display:block;width:100%;min-width:0}.dashboard-main table.compact-table tr{margin-top:10px;border:1px solid var(--aspu-color-border-soft);border-radius:var(--aspu-radius-md);padding:10px;background:var(--aspu-color-surface);box-shadow:var(--aspu-shadow-card)}.dashboard-main table.compact-table td{border:0;padding:6px 0;overflow-wrap:anywhere}.dashboard-main table.compact-table .row-actions{width:100%;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--aspu-color-border-soft)}.dashboard-main table.compact-table .row-actions>button,.dashboard-main table.compact-table .row-actions>select{width:auto;min-width:112px;flex:0 0 auto}}.mobile-drawer-backdrop,.public-menu-button,.student-menu-button,.student-drawer-close,.public-drawer-close,.mobile-drawer-actions,.public-mobile-drawer{display:none}.mobile-drawer-nav{min-width:0}@media(max-width:980px){.mobile-drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:80;width:min(304px,calc(100vw - 48px));max-width:calc(100vw - 48px);min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:16px;overflow-y:auto;overflow-x:hidden;color:#fff;background:var(--aspu-color-navy);box-shadow:var(--aspu-shadow-modal);transform:translate(-110%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility .2s ease}[dir=rtl] .mobile-drawer{transform:translate(110%)}.nav-open>.mobile-drawer{transform:translate(0);visibility:visible;pointer-events:auto}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;width:100%;height:100%;min-height:100dvh;border:0;border-radius:0;padding:0;background:#0014286b;opacity:0;pointer-events:none;transition:opacity .2s ease}.nav-open>.mobile-drawer-backdrop,.dashboard-shell.nav-open .mobile-drawer-backdrop{display:block;opacity:1;pointer-events:auto}.mobile-drawer-header{min-width:0;display:flex;align-items:center;gap:10px;margin-bottom:4px}.mobile-drawer-header>div:not(.brand-mark),.mobile-drawer-header>span{min-width:0;flex:1 1 auto}.mobile-drawer-header strong,.mobile-drawer-header span,.mobile-drawer-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-drawer-close,.public-drawer-close,.dashboard-drawer-close{display:inline-grid;flex:0 0 auto;margin-inline-start:auto;color:#fff;background:#ffffff1f}.mobile-drawer-nav,.dashboard-nav,.student-drawer-nav{display:grid;align-content:start;gap:7px;overflow:visible}.mobile-drawer-nav a,.dashboard-nav a,.student-drawer-nav a{min-width:0;min-height:44px;display:flex;align-items:center;gap:10px;border-radius:var(--aspu-radius-sm);padding:10px 12px;color:#d8e1ef;text-decoration:none}.mobile-drawer-nav a.active,.mobile-drawer-nav a:hover,.dashboard-nav a.active,.dashboard-nav a:hover,.student-drawer-nav a.active,.student-drawer-nav a:hover{color:#fff;background:#ffffff21}.mobile-drawer-nav a svg,.dashboard-nav a svg,.student-drawer-nav a svg{flex:0 0 auto}.mobile-drawer-nav a span,.dashboard-nav a span,.student-drawer-nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-actions{min-width:0;display:grid;gap:9px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}.mobile-drawer-actions select,.mobile-drawer-actions button,.mobile-drawer-actions a{width:100%;min-height:42px}.mobile-drawer-actions button,.mobile-drawer-actions a{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--aspu-radius-sm)}.dashboard-drawer-user{min-width:0;padding:10px 0}.dashboard-drawer-user strong,.dashboard-drawer-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-drawer-user span{color:#ffffffb3;font-size:12px}.dashboard-topbar{grid-template-columns:42px minmax(0,1fr)}.dashboard-topbar .dashboard-topbar-actions{display:none}.student-sidebar.mobile-drawer{display:grid}.student-main{padding-bottom:0}.student-topbar{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;min-height:64px;padding:10px 12px}.student-menu-button,.public-menu-button{display:inline-grid}.student-topbar-brand{min-width:0;width:auto}.student-topbar .actions,.student-mobile-nav,.student-bottom-nav{display:none}.student-page{padding-bottom:18px}.student-public-nav{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px}.student-public-nav .student-public-nav-actions{display:none}.public-mobile-drawer{display:grid}}@media(max-width:620px){.dashboard-topbar,.student-topbar{grid-template-columns:40px minmax(0,1fr)}.student-topbar .actions,.dashboard-topbar .actions,.student-public-nav-actions{display:none}}@media(min-width:981px){.dashboard-drawer-actions,.student-drawer-actions,.student-drawer-close,.public-mobile-drawer,.public-drawer-backdrop,.student-drawer-backdrop{display:none}}html,body{max-width:100%;overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}img,svg,video,canvas{max-width:100%;height:auto}.app-shell,.dashboard-shell,.dashboard-main,.dashboard-topbar,.dashboard-topbar>*,.dashboard-user,.dashboard-topbar-actions,.dashboard-topbar-actions>*,.student-main,.student-topbar,.student-topbar>*,.page,.page>*,.card,.card>*,.card-header,.card-header>*,.card-body,.card-body>*,.section-header,.section-header>*,.filter-bar,.filter-bar>*,.filter-controls,.filter-controls>*,.action-bar,.action-bar>*,.actions,.actions>*,.form-grid,.form-grid>*,.stats-grid,.stats-grid>*,.details-grid,.details-grid>*,.grid,.grid>*{min-width:0}.dashboard-main>.page,.student-main>.student-page,.page{width:100%;max-width:var(--ui-content-max-width);margin-inline:auto;padding:var(--ui-page-padding)}.page>*+*,.student-page>*+*{margin-top:var(--ui-section-gap)}.card{padding:var(--ui-card-padding);border-radius:var(--ui-radius-card);min-height:0;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-header h2{margin:0}.card-header-actions{display:flex;flex-wrap:wrap;gap:8px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--ui-grid-gap)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ui-grid-gap)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--ui-form-gap)}@media(min-width:720px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1180px){.form-grid.form-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-grid>.wide,.form-grid>h3,.form-grid>.action-bar,.form-grid>.actions{grid-column:1 / -1}.form-grid label{display:grid;gap:6px}.form-grid input,.form-grid select,.form-grid textarea{width:100%}input,select,textarea{min-height:var(--ui-input-height);max-width:100%}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.filter-controls{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 auto}.filter-controls>*{flex:1 1 180px;min-width:0}.filter-actions{display:flex;flex-wrap:wrap;gap:8px}.actions,.action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.actions>button,.action-bar>button,.action-bar>*{width:auto}@media(max-width:520px){.action-bar,.page-header .actions{width:100%}.action-bar>button,.action-bar>.button,.page-header .actions>button{flex:1 1 140px}}.page-header{flex-wrap:wrap;gap:12px}.page-header h1{margin:0;min-width:0;overflow-wrap:anywhere}.responsive-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--ui-radius-sm)}.responsive-table-wrap>table{width:100%;min-width:640px}@media(max-width:620px){.student-main table.compact-table,.page table.compact-table{display:block;width:100%;min-width:0}.student-main table.compact-table thead,.page table.compact-table thead{display:none}.student-main table.compact-table tbody,.student-main table.compact-table tr,.student-main table.compact-table td,.page table.compact-table tbody,.page table.compact-table tr,.page table.compact-table td{display:block;width:100%;min-width:0}.student-main table.compact-table tr,.page table.compact-table tr{border:1px solid var(--soft-line);border-radius:var(--ui-radius-sm);padding:10px 12px;margin-bottom:10px;background:#fff}.student-main table.compact-table td,.page table.compact-table td{border:0;padding:6px 0;display:flex;justify-content:space-between;gap:12px}.student-main table.compact-table td:before,.page table.compact-table td:before{content:attr(data-label);font-weight:600;color:var(--muted-ink);flex:0 0 auto}}table{max-width:100%}@media(min-width:981px){.dashboard-shell{grid-template-columns:var(--ui-sidebar-width) minmax(0,1fr)}.dashboard-sidebar{width:var(--ui-sidebar-width)}.dashboard-topbar{min-height:var(--ui-appbar-height);padding:10px var(--ui-page-padding)}}@media(max-width:980px){.dashboard-shell,.student-shell,.app-shell{grid-template-columns:1fr}.dashboard-topbar,.student-topbar{min-height:var(--ui-appbar-height-sm);padding:8px 12px;gap:8px}.dashboard-topbar .dashboard-topbar-actions,.dashboard-topbar>.actions,.student-topbar .actions{display:none!important}.dashboard-user,.student-topbar-brand{min-width:0;overflow:hidden}.dashboard-user strong,.student-topbar-brand strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer,.dashboard-sidebar.mobile-drawer,.student-sidebar.mobile-drawer,.public-mobile-drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:var(--ui-drawer-width-sm);max-width:86vw;background:var(--primary-dark);color:#fff;z-index:var(--ui-z-drawer);transform:translate(100%);transition:transform .22s ease;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}[dir=rtl] .mobile-drawer,[dir=rtl] .dashboard-sidebar.mobile-drawer,[dir=rtl] .student-sidebar.mobile-drawer,[dir=rtl] .public-mobile-drawer{transform:translate(-100%)}.nav-open>.mobile-drawer,.dashboard-shell.nav-open .mobile-drawer,.student-shell.nav-open .mobile-drawer,.public-shell.nav-open .public-mobile-drawer{transform:translate(0)}.mobile-drawer .dashboard-nav,.mobile-drawer .student-mobile-nav,.mobile-drawer-nav{overflow-y:auto;overflow-x:hidden;padding:8px 12px}.mobile-drawer-actions,.dashboard-drawer-actions,.student-drawer-actions{padding:12px;display:grid;gap:8px;border-top:1px solid rgba(255,255,255,.08)}.mobile-drawer-actions>*,.dashboard-drawer-actions>*,.student-drawer-actions>*{width:100%}.mobile-drawer-backdrop,.dashboard-nav-backdrop,.student-drawer-backdrop,.public-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0811217a;border:0;padding:0;margin:0;z-index:var(--ui-z-backdrop);opacity:0;pointer-events:none;transition:opacity .18s ease}.nav-open>.mobile-drawer-backdrop,.dashboard-shell.nav-open .mobile-drawer-backdrop,.dashboard-shell.nav-open .dashboard-nav-backdrop,.student-shell.nav-open .student-drawer-backdrop,.public-shell.nav-open .public-drawer-backdrop{opacity:1;pointer-events:auto}body.ui-scroll-lock{overflow:hidden}}.ui-only-mobile{display:none}.ui-only-desktop{display:initial}@media(max-width:980px){.ui-only-mobile{display:initial}.ui-only-desktop{display:none!important}}.empty-card-state,.empty{display:grid;place-items:center;gap:8px;padding:24px 16px;color:var(--muted-ink);text-align:center;min-height:0}.badge,.status-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--ui-radius-pill);font-size:12px;font-weight:600;white-space:nowrap}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.info-grid .info-card,.info-card{background:var(--surface-muted);border:1px solid var(--soft-line);border-radius:var(--ui-radius-sm);padding:10px 12px;display:grid;gap:4px;min-width:0}.info-card span{font-size:12px;color:var(--muted-ink)}.info-card strong{font-size:14px;overflow-wrap:anywhere}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0811217a;display:grid;place-items:center;padding:12px;z-index:var(--ui-z-modal)}.modal-panel,.responsive-modal,.confirm-dialog{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;border-radius:var(--ui-radius-card);padding:18px}@media(prefers-reduced-motion:reduce){.mobile-drawer,.dashboard-sidebar.mobile-drawer,.student-sidebar.mobile-drawer,.public-mobile-drawer,.mobile-drawer-backdrop,.dashboard-nav-backdrop,.student-drawer-backdrop,.public-drawer-backdrop{transition:none}}body{background:var(--ui-bg-page);color:var(--ui-text)}.card{background:var(--ui-surface);border:1px solid var(--ui-border-card);box-shadow:var(--ui-elev-1)}.card.is-interactive:hover,a.card:hover,button.card:hover{box-shadow:var(--ui-elev-2);border-color:var(--ui-border-strong)}.card .card,.card-body .card{background:var(--ui-surface-muted);box-shadow:none}.card--hero,.hero-card,.summary-card,.dashboard-hero,.student-hero{background:var(--ui-hero-bg);color:var(--ui-hero-fg);border:1px solid rgba(255,255,255,.06);box-shadow:var(--ui-elev-hero);padding:clamp(18px,2.4vw,28px);border-radius:var(--ui-radius-card);position:relative;overflow:hidden}.card--hero h1,.card--hero h2,.hero-card h1,.hero-card h2,.summary-card h1,.summary-card h2,.dashboard-hero h1,.dashboard-hero h2,.student-hero h1,.student-hero h2{color:var(--ui-hero-fg);letter-spacing:-.01em;margin:0 0 6px}.card--hero p,.card--hero small,.card--hero .muted,.hero-card p,.hero-card .muted,.summary-card p,.summary-card .muted,.dashboard-hero p,.dashboard-hero .muted,.student-hero p,.student-hero .muted{color:var(--ui-hero-muted)}.card--hero hr,.hero-card hr,.summary-card hr,.dashboard-hero hr,.student-hero hr{border:0;border-top:1px solid var(--ui-hero-line);margin:14px 0}.card--hero button.ghost,.hero-card button.ghost,.summary-card button.ghost,.dashboard-hero button.ghost,.student-hero button.ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:var(--ui-hero-fg)}.card--hero button.ghost:hover,.hero-card button.ghost:hover,.summary-card button.ghost:hover,.dashboard-hero button.ghost:hover,.student-hero button.ghost:hover{background:#ffffff24}.card--hero .info-card,.hero-card .info-card,.summary-card .info-card,.dashboard-hero .info-card,.student-hero .info-card{background:#ffffff14;border-color:#ffffff24;color:var(--ui-hero-fg)}.card--hero .info-card span,.hero-card .info-card span,.summary-card .info-card span,.dashboard-hero .info-card span,.student-hero .info-card span{color:var(--ui-hero-muted)}.card--hero .info-card strong,.hero-card .info-card strong,.summary-card .info-card strong,.dashboard-hero .info-card strong,.student-hero .info-card strong{color:var(--ui-hero-fg)}.card--info{background:var(--ui-surface-info);border-color:var(--ui-border-info)}.card--warning{background:var(--ui-surface-warning);border-color:var(--ui-border-warning)}.card--success{background:var(--ui-surface-success);border-color:var(--ui-border-success)}.card--empty,.empty-card-state{background:var(--ui-surface-empty);border:1px dashed var(--ui-border-strong);color:var(--ui-text-muted)}h1,h2,h3{color:var(--ui-text-strong);letter-spacing:-.01em}h1{font-weight:700}h2{font-weight:650}h3{font-weight:600}.muted,.brand span,.topbar span,.card-header p,.section-header p,.section-eyebrow{color:var(--ui-text-muted)}.section-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ui-text-faint)}.info-card span,.meta-row span{color:var(--ui-text-muted);font-weight:500}.info-card strong,.meta-row strong{color:var(--ui-text-strong);font-weight:650}.stat,.stats-grid .card .stat,.stats-grid .card strong{color:var(--ui-text-strong);font-weight:700;letter-spacing:-.02em}.stats-grid .card{background:var(--ui-surface);border:1px solid var(--ui-border-card);box-shadow:var(--ui-elev-1)}.stats-grid .muted{color:var(--ui-text-muted);font-size:12px}.sidebar,.dashboard-sidebar,.student-sidebar,.mobile-drawer{background:linear-gradient(180deg,#0a1f3d,#0d2747)}.sidebar a,.dashboard-sidebar a,.student-sidebar a,.mobile-drawer a{color:#e1e8f8d1}.sidebar a.active,.dashboard-sidebar a.active,.student-sidebar a.active,.mobile-drawer a.active{background:#ffffff1a;color:#fff;box-shadow:inset 0 0 0 1px #ffffff0f}.sidebar a:hover,.dashboard-sidebar a:hover,.student-sidebar a:hover,.mobile-drawer a:hover{background:#ffffff0f;color:#fff}.topbar,.dashboard-topbar,.student-topbar{background:var(--ui-surface);border-bottom:1px solid var(--ui-border-card);box-shadow:0 1px #0e1e3705}input,select,textarea{background:var(--ui-surface);border-color:var(--ui-border-strong);color:var(--ui-text-strong)}input::placeholder,textarea::placeholder{color:var(--ui-text-faint)}.badge,.status-badge{background:var(--ui-surface-muted);color:var(--ui-text-strong);border:1px solid var(--ui-border-card)}[dir=rtl]{font-family:Segoe UI,Tajawal,Noto Naskh Arabic,IBM Plex Sans Arabic,Inter,system-ui,sans-serif}[dir=rtl] body{line-height:1.7}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{line-height:1.4;letter-spacing:0}[dir=rtl] .card,[dir=rtl] .card-body,[dir=rtl] p,[dir=rtl] li{line-height:1.75}[dir=rtl] .badge,[dir=rtl] .status-badge,[dir=rtl] .section-eyebrow{letter-spacing:0}:root{--muted-ink: #4a5566}.muted,.help-text,.helper-text,.hint,.subtle,.card .muted,.card small,.card p.muted,.card-header p,.section-header p,.info-card span,.meta-row span,.empty,.empty-card-state,.empty-card-state span,.empty p,.empty-state,.empty-state p,.field-hint,.form-hint,.form-grid label>span:not(strong),.finance-help,.wallet-help,.wallet-explainer,.finance-explainer{color:var(--ui-text-muted)}.brand span,.topbar span{color:var(--ui-text-faint)}.card--hero .muted,.hero-card .muted,.summary-card .muted,.dashboard-hero .muted,.student-hero .muted,.card--hero p,.hero-card p,.summary-card p,.dashboard-hero p,.student-hero p{color:var(--ui-hero-muted)}.student-wallet-grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:640px){.student-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.student-balance-card{display:flex;flex-direction:column;gap:6px;padding:20px 22px;min-height:132px;border-radius:var(--ui-radius-card);background:var(--ui-hero-bg);color:var(--ui-hero-fg);box-shadow:var(--ui-elev-2);border:1px solid rgba(255,255,255,.06);overflow:hidden;word-break:normal;overflow-wrap:anywhere}.student-balance-card.maintenance{background:linear-gradient(135deg,#0f3a36,#145049 55%,#18605a)}.student-balance-card>span,.student-balance-card>strong,.student-balance-card>small,.student-balance-card>b{display:block;width:100%}.student-balance-card>span{font-size:13px;font-weight:600;letter-spacing:.02em;color:#ffffffd1;margin:0 0 2px}.student-balance-card>strong{font-size:clamp(26px,4vw,32px);line-height:1.15;font-weight:700;letter-spacing:-.01em;color:#fff;margin:2px 0 4px;font-variant-numeric:tabular-nums}.student-balance-card>small{font-size:12px;line-height:1.5;color:#ffffffc7;margin:0}.student-balance-card.is-negative>strong,.student-balance-card[data-negative=true]>strong{color:#ffd8d8}.student-balance-card.is-negative,.student-balance-card[data-negative=true]{background:linear-gradient(135deg,#4a1024,#6b1832 55%,#862043)}[dir=rtl] .student-balance-card{text-align:right}input[type=checkbox],input[type=radio]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;width:18px;height:18px;min-width:18px;min-height:0;max-width:18px;max-height:18px;padding:0;margin:0;inline-size:18px;block-size:18px;border:0;background:transparent;box-shadow:none;border-radius:0;accent-color:var(--primary-dark, #082b4d);flex:0 0 auto;vertical-align:middle;cursor:pointer}@media(pointer:coarse){input[type=checkbox],input[type=radio]{width:20px;height:20px;min-width:20px;max-width:20px;max-height:20px;inline-size:20px;block-size:20px}}.form-check,.checkbox-row,.radio-row,label.checkbox,label.radio,label.check,label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:.5rem;width:auto;min-height:0;cursor:pointer;font-weight:500}.form-grid label:has(>input[type=checkbox]),.form-grid label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:.5rem}[dir=rtl] .form-check,[dir=rtl] .checkbox-row,[dir=rtl] .radio-row,[dir=rtl] label.checkbox,[dir=rtl] label.radio,[dir=rtl] label:has(>input[type=checkbox]),[dir=rtl] label:has(>input[type=radio]){text-align:right}.student-profile{width:100%;max-width:var(--ui-content-max-width);margin-inline:auto}.student-profile-header{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 18px;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-card);box-shadow:var(--ui-elev-1)}.student-profile-header-photo{flex:0 0 auto;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--ui-surface-muted);border:1px solid var(--ui-border-card);display:grid;place-items:center}.student-profile-header-photo img{width:100%;height:100%;object-fit:cover;display:block}.student-profile-header-initial{font-size:24px;font-weight:700;color:var(--ui-text-strong)}.student-profile-header-text{flex:1 1 240px;min-width:0;display:grid;gap:4px}.student-profile-header-text h1{margin:0;font-size:clamp(18px,2vw,22px);color:var(--ui-text-strong);letter-spacing:-.01em;overflow-wrap:anywhere}.student-profile-header-major{margin:0;color:var(--ui-text-muted);font-size:14px}.student-profile-header-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px}.student-profile-header-list li{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.student-profile-header-list li span{color:var(--ui-text-muted)}.student-profile-header-list li b{color:var(--ui-text-strong);font-weight:600;overflow-wrap:anywhere}.student-profile-card--wide{grid-column:1 / -1}.student-profile-grid{display:grid;grid-template-columns:1fr;gap:var(--ui-grid-gap)}@media(min-width:760px){.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-profile-grid .student-card,.student-profile-grid>article{min-width:0;margin-bottom:0;padding:16px 18px}.student-profile-grid h2{font-size:15px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--ui-border-card);color:var(--ui-text-strong)}.student-service-card-media,.student-service-option-media{width:100%;aspect-ratio:16 / 9;background:var(--ui-surface-muted);border-radius:var(--ui-radius-sm);overflow:hidden;margin-bottom:10px}.student-service-card-media img,.student-service-option-media img{width:100%;height:100%;object-fit:cover;display:block}.student-row-card.clickable,.student-request-summary{cursor:pointer;text-align:inherit;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-card);padding:14px 16px;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.student-row-card.clickable:hover,.student-request-summary:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-elev-2)}.student-row-card.clickable:active,.student-request-summary:active{transform:translateY(1px)}.student-request-summary{grid-template-columns:minmax(0,1fr) auto}.student-request-summary-main{display:grid;gap:4px;min-width:0}.student-request-summary-main strong{font-size:15px;color:var(--ui-text-strong);overflow-wrap:anywhere}.student-request-summary-main small{color:var(--ui-text-muted);overflow-wrap:anywhere}.student-request-summary-meta{display:grid;justify-items:end;gap:4px;text-align:end}.student-request-summary-meta small{color:var(--ui-text-faint);font-size:12px}.entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--ui-grid-gap)}.entity-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-card);box-shadow:var(--ui-elev-1);min-width:0;overflow:hidden;word-break:normal;overflow-wrap:anywhere}.entity-card>*{min-width:0}.entity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.entity-card-head>div:first-child{flex:1 1 auto;min-width:0;display:grid;gap:2px}.entity-card-head>div:first-child strong{display:block;min-width:0;font-size:15px;font-weight:650;color:var(--ui-text-strong);line-height:1.35;word-break:keep-all;overflow-wrap:break-word;white-space:normal}.entity-card-head>div:first-child span{display:block;min-width:0;max-width:100%;font-size:12px;color:var(--ui-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;unicode-bidi:isolate;text-align:start}.entity-card-head .badge,.entity-card-head .status-badge{flex:0 0 auto}.entity-card p{margin:0;font-size:13px;line-height:1.5;color:var(--ui-text);overflow-wrap:anywhere;word-break:keep-all}.entity-card p.muted{color:var(--ui-text-muted);font-size:12.5px}.entity-card .row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.entity-card .row-actions>button{flex:1 1 100px;min-width:0;white-space:nowrap}@media(min-width:520px){.entity-card .row-actions>button{flex:0 0 auto}}.dashboard-main .card{padding:16px 18px;margin-bottom:14px}.dashboard-main .form-grid{gap:10px 12px}.students-page-grid,.student-create-form,.student-create-form>*,.student-create-form label,.student-create-form .lookup-picker{min-width:0}.student-create-form input,.student-create-form select,.student-create-form textarea{min-width:0}.student-create-form .lookup-selected{min-width:0;overflow-wrap:anywhere}.student-create-form .password-tools{grid-template-columns:minmax(0,1fr) repeat(4,auto)}.student-create-form .password-tools>input{min-width:0}.student-create-form .field-invalid,.student-create-form .field-invalid-group .lookup-selected,.student-create-form .field-invalid-group input{border-color:#c0392b;box-shadow:0 0 0 1px #c0392b1f}.student-create-form .field-error{display:block;margin-top:4px;color:#9b1c1c;font-size:12px;font-weight:600}.student-field-error-list{margin:0}.student-field-error-list ul{margin:0;padding-inline-start:18px}.student-field-error-list li+li{margin-top:4px}.dashboard-main .form-grid input,.dashboard-main .form-grid select,.dashboard-main .form-grid textarea{min-height:38px;padding:8px 10px}.dashboard-main .form-grid textarea{min-height:64px}.dashboard-main .form-grid>.actions,.dashboard-main .form-grid>.action-bar{margin-top:4px}.dashboard-main label.check,.dashboard-main .form-grid label.check{display:inline-flex;align-items:center;gap:.5rem;min-height:32px;padding:0;margin:0;font-weight:500;color:var(--ui-text)}.dashboard-main .section-header{margin-bottom:10px}.dashboard-main .section-header h2{font-size:15px;margin:0 0 2px}.dashboard-main .section-header p{margin:0;font-size:12.5px}.dashboard-main .stats-grid,.dashboard-main .details-grid{gap:10px}.mobile-drawer,.mobile-drawer-backdrop{display:none}@media(max-width:980px){.is-desktop-only{display:none!important}.mobile-drawer{display:grid;grid-template-rows:auto 1fr auto;position:fixed;top:0;bottom:0;inset-inline-end:0;width:var(--ui-drawer-width-sm);max-width:86vw;background:linear-gradient(180deg,#0a1f3d,#0d2747);color:#fff;z-index:var(--ui-z-drawer);transform:translate(100%);transition:transform .22s ease;overflow:hidden;box-shadow:-12px 0 28px #08112159}[dir=rtl] .mobile-drawer{transform:translate(-100%)}.mobile-drawer.is-open,.nav-open>.mobile-drawer,.dashboard-shell.nav-open .mobile-drawer,.student-shell.nav-open .mobile-drawer{transform:translate(0)}.mobile-drawer-header{display:flex;align-items:center;gap:12px;padding:14px 14px 12px;border-bottom:1px solid rgba(255,255,255,.08);min-width:0}.mobile-drawer-header .brand-mark{flex:0 0 auto;width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--gold);color:var(--primary-dark);font-weight:800}.mobile-drawer-brand{flex:1 1 auto;min-width:0;display:grid;gap:1px}.mobile-drawer-brand strong{color:#fff;font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-brand span,.mobile-drawer-brand small{color:#e1e8f8b8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-close{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;color:#fff;background:transparent;border:0;border-radius:8px;font-size:22px;line-height:1;cursor:pointer}.mobile-drawer-close:hover{background:#ffffff14}.mobile-drawer-nav{overflow-y:auto;overflow-x:hidden;padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-drawer-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#e1e8f8d1;text-decoration:none;font-size:14px;font-weight:500;min-height:40px;min-width:0;overflow:hidden}.mobile-drawer-item:hover{background:#ffffff0f;color:#fff}.mobile-drawer-item.is-active{background:#ffffff1a;color:#fff;box-shadow:inset 0 0 0 1px #ffffff0f}.mobile-drawer-item-icon{flex:0 0 auto;display:grid;place-items:center;color:inherit}.mobile-drawer-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-actions{display:grid;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}.mobile-drawer-actions>*{width:100%;min-height:40px;box-sizing:border-box}.mobile-drawer-actions select{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:8px 10px}.mobile-drawer-actions select option{color:var(--ui-text-strong);background:#fff}.mobile-drawer-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:8px;background:#ffffff0f;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.12);cursor:pointer;font-size:14px;font-weight:500}.mobile-drawer-action:hover{background:#ffffff1f}.mobile-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0811217a;border:0;padding:0;margin:0;z-index:var(--ui-z-backdrop);opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-drawer-backdrop.is-open,.nav-open>.mobile-drawer-backdrop,.dashboard-shell.nav-open .mobile-drawer-backdrop,.student-shell.nav-open .mobile-drawer-backdrop{opacity:1;pointer-events:auto}}@media(max-width:980px){.dashboard-sidebar.is-desktop-only,.student-sidebar.is-desktop-only{display:none!important}}@media(prefers-reduced-motion:reduce){.mobile-drawer,.mobile-drawer-backdrop{transition:none}}.request-summary-card{display:grid;grid-template-rows:auto auto;gap:10px;width:100%;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-card);box-shadow:var(--ui-elev-1);text-align:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;min-width:0;overflow:hidden}.request-summary-card:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-elev-2)}.request-summary-card:active{transform:translateY(1px)}.request-summary-card:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--ui-elev-2)}.request-summary-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.request-summary-card__title{display:grid;gap:2px;min-width:0}.request-summary-card__title strong{font-size:15px;font-weight:650;color:var(--ui-text-strong);overflow-wrap:anywhere;word-break:keep-all;line-height:1.35}.request-summary-card__title span{font-size:12.5px;color:var(--ui-text-muted);overflow-wrap:anywhere;word-break:keep-all}.request-summary-card__meta{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px 14px}.request-summary-card__meta-row{display:grid;gap:1px;min-width:0}.request-summary-card__meta-row dt{font-size:11px;color:var(--ui-text-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.request-summary-card__meta-row dd{margin:0;font-size:13px;color:var(--ui-text-strong);font-weight:500;overflow-wrap:anywhere;word-break:keep-all}.request-summary-card__slot{margin-top:2px}.request-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--ui-grid-gap)}.request-details-modal{width:min(720px,100%);max-height:calc(100vh - 32px);padding:0;display:grid;grid-template-rows:auto 1fr auto;background:var(--ui-surface);border-radius:var(--ui-radius-card);overflow:hidden;box-shadow:var(--ui-elev-3)}.request-details-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ui-border-card);background:var(--ui-surface);min-width:0}.request-details-modal__title{min-width:0}.request-details-modal__title h2{margin:0 0 2px;font-size:17px;color:var(--ui-text-strong);overflow-wrap:anywhere}.request-details-modal__title p{margin:0;font-size:13px;color:var(--ui-text-muted);overflow-wrap:anywhere}.request-details-modal__head-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}.request-details-modal__head-right .icon-button{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:22px;line-height:1}.request-details-modal__body{overflow-y:auto;padding:16px 20px;display:grid;gap:14px}.request-details-modal__footer{padding:12px 20px;border-top:1px solid var(--ui-border-card);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;background:var(--ui-surface-muted)}.request-details-modal__footer>button,.request-details-modal__footer>*{min-height:38px}@media(max-width:620px){.request-details-modal{width:100%;max-height:100vh;height:100vh;border-radius:0}.request-details-modal__head{padding:12px 14px}.request-details-modal__body{padding:14px}.request-details-modal__footer{padding:12px 14px}}.request-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px}.request-details-grid__item{display:grid;gap:2px;min-width:0}.request-details-grid__item span{font-size:11px;color:var(--ui-text-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.request-details-grid__item strong{font-size:13.5px;color:var(--ui-text-strong);font-weight:500;overflow-wrap:anywhere}.request-details-description{display:grid;gap:4px;padding:10px 12px;background:var(--ui-surface-muted);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-sm)}.request-details-description span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--ui-text-faint)}.request-details-description p{margin:0;color:var(--ui-text);overflow-wrap:anywhere;line-height:1.5}.request-details-form{display:grid;gap:10px}.request-details-field{display:grid;gap:6px;min-width:0}.request-details-field>span{font-size:12px;font-weight:600;color:var(--ui-text-muted)}.request-details-media .media-gallery{display:flex;flex-wrap:wrap;gap:8px}.data-table{display:grid;gap:10px;min-width:0}.data-table__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;justify-content:space-between}.data-table__toolbar-slot{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 auto;min-width:0}.data-table__search{flex:0 0 auto;min-width:200px;max-width:320px;min-height:38px}.data-table__scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-sm);background:var(--ui-surface)}.data-table__table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table__table thead th{position:sticky;top:0;background:var(--ui-surface-muted);color:var(--ui-text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:start;padding:10px 12px;border-bottom:1px solid var(--ui-border-card);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table__table thead th.is-sortable{cursor:pointer}.data-table__table thead th.is-sortable:hover{color:var(--ui-text-strong)}.data-table__sort-indicator{margin-inline-start:6px;font-size:10px;opacity:.7}.data-table__table tbody td{padding:10px 12px;border-bottom:1px solid var(--ui-border-card);color:var(--ui-text-strong);vertical-align:middle}.data-table__table tbody tr:last-child td{border-bottom:0}.data-table__table tbody tr.is-clickable{cursor:pointer;transition:background-color .12s ease}.data-table__actions-col,.data-table__actions-cell{width:1%;white-space:nowrap;text-align:end}.data-table__empty-row td .empty{padding:28px 8px}.data-table__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;color:var(--ui-text-muted);font-size:12.5px}.data-table__count{font-variant-numeric:tabular-nums}.data-table__pager{display:flex;align-items:center;gap:6px}.data-table__page-size select{min-height:32px;padding:4px 8px;font-size:12.5px}.data-table__pager button{min-height:32px;min-width:32px;padding:4px 10px;font-size:16px;line-height:1}.data-table__page-indicator{font-variant-numeric:tabular-nums;min-width:56px;text-align:center}.action-menu{position:relative;display:inline-block}.action-menu__trigger{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:18px;line-height:1}.action-menu__panel{position:fixed;min-width:180px;max-width:calc(100vw - 16px);max-height:min(280px,calc(100vh - 16px));overflow-y:auto;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:10px;box-shadow:var(--ui-elev-3);padding:4px;display:grid;gap:2px;z-index:var(--ui-z-modal)}.action-menu__item{display:block;width:100%;text-align:start;padding:8px 10px;border-radius:6px;background:transparent;border:0;color:var(--ui-text-strong);font-size:13px;cursor:pointer;min-height:32px}.action-menu__item:hover{background:var(--ui-surface-muted)}.action-menu__item.is-danger{color:#b91c1c}.action-menu__item.is-danger:hover{background:#fdecec}.action-menu__item:disabled{color:var(--ui-text-faint);cursor:not-allowed;background:transparent}.date-group{display:grid;gap:8px}.date-group+.date-group{margin-top:16px}.date-group__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 2px}.date-group__title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-faint);margin:0}.date-group__count{font-size:12px;color:var(--ui-text-faint);font-variant-numeric:tabular-nums}.date-group__list{display:grid;gap:8px}.inbox-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 14px;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:12px;box-shadow:var(--ui-elev-1);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease;min-width:0}.inbox-row:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-elev-2)}.inbox-row.is-unread{border-inline-start:3px solid var(--gold)}.inbox-row__icon{display:grid;place-items:center;color:var(--ui-text-muted)}.inbox-row.is-unread .inbox-row__icon{color:var(--gold)}.inbox-row__body{display:grid;gap:2px;min-width:0}.inbox-row__title{font-size:14px;font-weight:600;color:var(--ui-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-row.is-unread .inbox-row__title{font-weight:700}.inbox-row__message{font-size:12.5px;color:var(--ui-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-row__time{font-size:12px;color:var(--ui-text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.section-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--ui-border-card);margin-bottom:14px;min-width:0}.section-tabs__item{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:0;background:transparent;color:var(--ui-text-muted);font-size:13px;font-weight:500;cursor:pointer;position:relative;border-radius:8px 8px 0 0;min-height:38px;transition:color .12s ease,background-color .12s ease;min-width:0;white-space:nowrap}.section-tabs__item:hover{color:var(--ui-text-strong);background:var(--ui-surface-muted)}.section-tabs__item.is-active{color:var(--ui-text-strong);font-weight:600}.section-tabs__item.is-active:after{content:"";position:absolute;inset-inline-start:8px;inset-inline-end:8px;bottom:-1px;height:2px;background:var(--gold);border-radius:2px}.section-tabs__count{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 6px;border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text-muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.section-tabs__item.is-active .section-tabs__count{background:var(--gold);color:var(--primary-dark)}.stat-card{display:grid;gap:4px;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-card);box-shadow:var(--ui-elev-1);min-width:0;position:relative;overflow:hidden}.stat-card[data-tone=positive]:before,.stat-card[data-tone=negative]:before,.stat-card[data-tone=warning]:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px}.stat-card[data-tone=positive]:before{background:#16a34a}.stat-card[data-tone=negative]:before{background:#dc2626}.stat-card[data-tone=warning]:before{background:var(--gold)}.stat-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--ui-text-muted)}.stat-card__value{font-size:clamp(20px,2.2vw,26px);line-height:1.1;color:var(--ui-text-strong);font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-card[data-tone=positive] .stat-card__value{color:#15803d}.stat-card[data-tone=negative] .stat-card__value{color:#b91c1c}.stat-card[data-tone=warning] .stat-card__value{color:#a16207}.stat-card__hint{font-size:12px;color:var(--ui-text-muted)}.platform-statistics{margin-top:24px}.platform-statistics__content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.statistics-panel{margin:0}.statistics-panel h3{margin:0 0 12px;color:var(--ui-text-strong);font-size:15px}.demand-bars{display:grid;gap:12px}.demand-bars__item{display:grid;gap:7px}button.demand-bars__item{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:inherit;cursor:pointer}button.demand-bars__item:disabled{cursor:default}.demand-bars__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.demand-bars__head strong,.demand-bars__head small{display:block}.demand-bars__head strong{font-size:13px;color:var(--ui-text-strong)}.demand-bars__head small{margin-top:2px;color:var(--ui-text-muted);font-size:11px}.demand-bars__count{min-width:29px;padding:3px 8px;border-radius:999px;background:#edf3fb;color:var(--primary-dark);text-align:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.demand-bars__track{height:7px;overflow:hidden;border-radius:999px;background:#e8edf4}.demand-bars__track span{display:block;height:100%;min-width:5px;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#d9b56e)}.active-filter-chip{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;padding:6px 10px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface-muted);color:var(--ui-text);font-size:12px}.active-filter-chip button{min-height:0;padding:2px 8px;border:0;background:transparent;color:var(--primary-dark);font:inherit;font-weight:700}.announcement-viewer{width:min(100%,760px);margin:0 auto;overflow:hidden;border:1px solid var(--ui-border-card);border-radius:14px;background:var(--ui-surface);box-shadow:var(--ui-elev-1)}.announcement-viewer__hero{background:#e9eef5}.announcement-viewer__hero .announcement-media-carousel{display:block}.announcement-viewer__hero .media-button{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent}.announcement-viewer__hero .media-thumb.large{display:block;width:100%;height:min(42vh,360px);margin:0;border:0;border-radius:0;object-fit:cover}.announcement-viewer__content{display:grid;gap:14px;padding:clamp(16px,3vw,26px)}.announcement-viewer__content h3{margin:0;color:var(--ui-text-strong);font-size:clamp(19px,2.4vw,24px);line-height:1.35}.announcement-viewer__metadata{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.announcement-viewer__metadata .badge,.announcement-chip{min-height:27px;display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:650}.announcement-chip{background:var(--ui-surface-muted);border:1px solid var(--ui-border-card);color:var(--ui-text-muted)}.announcement-viewer__description{padding-top:2px;color:#445066;white-space:pre-wrap;line-height:1.75}.announcement-viewer__attachments{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--soft-line)}.announcement-viewer__attachments h4{margin:0;font-size:13px;color:var(--ui-text-strong)}.announcement-viewer__attachments .media-thumb.large{max-height:220px;object-fit:cover}@media(max-width:720px){.platform-statistics__content{grid-template-columns:1fr}.announcement-viewer{width:100%;border-radius:12px}.announcement-viewer__content{padding:16px}.announcement-viewer__hero .media-thumb.large{height:250px}}.analytics-empty,.analytics-state{margin:0;color:var(--ui-text-muted);font-size:13px}.analytics-state--error{color:#b91c1c;border-color:#fecaca}.drawer-panel-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--ui-z-drawer);pointer-events:none}.drawer-panel-host.is-open{pointer-events:auto}.drawer-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#0811217a;border:0;margin:0;padding:0;opacity:0;transition:opacity .18s ease;cursor:pointer}.drawer-panel-host.is-open .drawer-panel-backdrop{opacity:1}.drawer-panel{position:fixed;top:0;bottom:0;inset-inline-end:0;background:var(--ui-surface);box-shadow:-16px 0 36px #0e1e372e;display:grid;grid-template-rows:auto 1fr auto;transform:translate(100%);transition:transform .22s ease;width:100%;max-width:100vw;overflow:hidden}[dir=rtl] .drawer-panel{transform:translate(-100%);box-shadow:16px 0 36px #0e1e372e}.drawer-panel-host.is-open .drawer-panel{transform:translate(0)}@media(max-width:620px){.drawer-panel,.drawer-panel--sm,.drawer-panel--md,.drawer-panel--lg{width:100vw}}.drawer-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ui-border-card);min-width:0}.drawer-panel__title{min-width:0}.drawer-panel__title h2{margin:0 0 2px;font-size:16px;color:var(--ui-text-strong);overflow-wrap:anywhere}.drawer-panel__title p{margin:0;font-size:13px;color:var(--ui-text-muted);overflow-wrap:anywhere}.drawer-panel__close{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:20px;line-height:1}.drawer-panel__body{overflow-y:auto;padding:16px 18px;display:grid;gap:14px}.drawer-panel__footer{padding:10px 18px;border-top:1px solid var(--ui-border-card);background:var(--ui-surface-muted);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.data-table__loading{color:var(--ui-text-muted)}.dashboard-main .page>.card,.dashboard-main .page>.stats-grid,.dashboard-main .page>.grid{margin-bottom:14px}.dashboard-main .page>.card:last-child{margin-bottom:0}.dashboard-main .card{padding:14px 16px;border-radius:12px}.dashboard-main .card>.section-header{margin-bottom:8px}.dashboard-main .card>.section-header h2{font-size:14px;font-weight:650;margin:0 0 2px;color:var(--ui-text-strong)}.dashboard-main .card>.section-header p{font-size:12px;color:var(--ui-text-muted);margin:0}.dashboard-main .stats-grid{gap:10px}.stat-card{padding:12px 14px;border-radius:12px}.stat-card__label{font-size:11px}.stat-card__value{font-size:clamp(18px,1.8vw,22px)}.dashboard-main button,.dashboard-main input,.dashboard-main select{font-size:13.5px}.dashboard-main button{min-height:36px;padding:6px 14px;border-radius:8px}.dashboard-main button.ghost{background:transparent}.dashboard-main .actions>button,.dashboard-main .row-actions>button{min-height:32px;padding:4px 10px;font-size:12.5px}.data-table{gap:8px}.data-table__toolbar{position:sticky;top:0;z-index:5;background:var(--ui-surface);padding:6px 0}.data-table__search{min-height:34px;font-size:13px;padding:6px 10px}.data-table__table{font-size:12.5px}.data-table__table thead th{padding:8px 12px;font-size:11px}.data-table__table tbody td{padding:8px 12px;vertical-align:middle}.data-table__table tbody tr.is-clickable{transition:background-color .12s ease}.data-table__table tbody tr.is-clickable:hover{background:var(--ui-surface-muted)}.data-table__footer{font-size:12px;padding-top:4px}.data-table__pager button{min-height:28px;min-width:28px;padding:2px 8px;font-size:14px}.data-table__page-size select{min-height:28px;font-size:12px}.request-summary-card{padding:12px 14px;border-radius:12px;gap:8px}.request-summary-card__title strong{font-size:14px}.request-summary-card__title span{font-size:12px}.request-summary-card__meta{gap:4px 12px}.request-summary-card__meta-row dt{font-size:10.5px}.request-summary-card__meta-row dd{font-size:12px}.section-tabs{margin-bottom:10px}.section-tabs__item{padding:8px 12px;min-height:34px;font-size:12.5px}.action-menu__trigger{width:28px;height:28px;font-size:16px}.badge,.status-badge{padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:.01em}.drawer-panel__head{padding:12px 16px}.drawer-panel__title h2{font-size:15px}.drawer-panel__title p{font-size:12px}.drawer-panel__body{padding:14px 16px;gap:12px}.drawer-panel__footer{padding:8px 16px}.drawer-panel__footer button{min-height:34px;padding:4px 14px;font-size:13px}.empty,.empty-card-state{padding:28px 16px;font-size:13px;color:var(--ui-text-muted);text-align:center;background:var(--ui-surface-muted);border:1px dashed var(--ui-border-card);border-radius:12px}.empty:before,.empty-card-state:before{content:"";display:block;width:32px;height:32px;margin:0 auto 8px;border-radius:8px;background:radial-gradient(circle at center,var(--ui-border-strong) 0 1.5px,transparent 2px) 0 0/8px 8px,var(--ui-surface);border:1px solid var(--ui-border-card)}.dashboard-main .filter-bar{gap:8px}.dashboard-main .filter-bar input,.dashboard-main .filter-bar select{min-height:34px;padding:6px 10px;font-size:13px}.dashboard-main .form-grid input,.dashboard-main .form-grid select,.dashboard-main .form-grid textarea{min-height:36px;padding:6px 10px;font-size:13.5px;border-radius:8px}.dashboard-main .form-grid label{font-size:12.5px;font-weight:500;color:var(--ui-text)}.entity-card{transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.entity-card:hover{border-color:var(--ui-border-strong);box-shadow:var(--ui-elev-2)}.inbox-row{padding:10px 12px;border-radius:10px}.inbox-row__title{font-size:13px}.inbox-row__message{font-size:12px}.inbox-row__time{font-size:11px}[dir=rtl] .data-table__sort-indicator{margin-inline-start:6px;margin-inline-end:0}@media(max-width:620px){.dashboard-main .card{padding:12px}.student-create-form,.student-create-form .password-tools{grid-template-columns:minmax(0,1fr)}.student-create-form .password-tools>button{width:100%}.data-table__toolbar{flex-direction:column;align-items:stretch}.data-table__search{max-width:100%}.data-table__footer{flex-direction:column;align-items:stretch;gap:6px}.data-table__pager{justify-content:space-between}}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-surface),0 0 0 4px var(--gold);border-radius:8px}.dashboard-main .card,.dashboard-main .stat-card,.dashboard-main .entity-card,.dashboard-main .request-summary-card{border-radius:12px}.badge,.status-badge{border-radius:999px;line-height:1.4}.center{display:grid;place-items:center;min-height:40vh;color:var(--ui-text-muted);font-size:14px}.student-stack>*+*{margin-top:14px}.student-page-title{margin-bottom:6px}.student-page-title h1{font-size:clamp(20px,2.2vw,24px);font-weight:700;letter-spacing:-.01em;color:var(--ui-text-strong)}.student-section-title{margin-bottom:8px}.student-section-title h2{font-size:15px;font-weight:650;color:var(--ui-text-strong)}.student-card{border-radius:12px;padding:14px 16px}.student-row-card,.student-history-card,.student-service-card,.student-housing-card{border-radius:12px;padding:12px 14px}.student-balance-card{border-radius:14px;padding:14px 16px}.student-segmented{gap:6px}.student-segmented button{min-height:34px;padding:6px 12px;font-size:13px;border-radius:8px}.student-form input,.student-form select,.student-form textarea{min-height:38px;padding:8px 10px;font-size:14px;border-radius:8px}.student-form label{display:block;font-size:12.5px;color:var(--ui-text-muted);font-weight:500;margin-bottom:8px}.student-form label>input,.student-form label>select,.student-form label>textarea{margin-top:4px}.student-quick-action{border-radius:12px;padding:14px 12px;min-height:84px;gap:6px}.drawer-panel{border-inline-start:1px solid var(--ui-border-card)}.drawer-panel--sm{width:min(360px,100vw)}.drawer-panel--md{width:min(480px,100vw)}.drawer-panel--lg{width:min(640px,100vw)}input:disabled,select:disabled,textarea:disabled,button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.student-card,.student-row-card,.student-history-card,.student-service-card{padding:12px}.student-page-title h1{font-size:18px}.data-table__table thead th,.data-table__table tbody td{padding:7px 10px}}.student-public-page{overflow-x:clip}.student-public-nav,.student-public-nav-actions{flex-wrap:nowrap}.student-public-nav-actions .student-nav-login{white-space:nowrap}.public-shell .public-mobile-drawer,.public-shell .public-drawer-backdrop,.public-shell .public-menu-button{display:none!important}.mobile-drawer:not(.is-open),.mobile-drawer-backdrop:not(.is-open),.drawer-panel-host:not(.is-open),.drawer-panel-host:not(.is-open) .drawer-panel-backdrop{visibility:hidden;pointer-events:none}.login-page{min-height:100dvh;background:radial-gradient(circle at 16% 18%,rgba(24,113,104,.38),transparent 26rem),radial-gradient(circle at 86% 10%,rgba(197,160,89,.18),transparent 22rem),linear-gradient(135deg,#071f3d,#0d3b49 56%,#0b273f);overflow-x:clip}.login-topbar{width:min(1120px,calc(100% - 48px));min-height:78px;flex-wrap:nowrap}.login-main{width:min(1120px,calc(100% - 48px));grid-template-columns:minmax(0,.95fr) minmax(360px,430px);gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(32px,7vh,72px)}.login-intro{max-width:560px}.login-intro h1{max-width:12ch;line-height:1.12}[dir=ltr] .login-intro h1{max-width:14ch}.login-intro p{max-width:500px}.login-card{width:min(430px,100%);justify-self:end;gap:17px;padding:clamp(24px,3vw,34px);border-radius:16px}.login-card-head{justify-content:flex-start;align-items:center}.login-card label{gap:8px}.login-card .input-with-icon{min-height:50px;border-radius:12px;background:#fbfcfe}.login-card .input-with-icon:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c5a0592e}.login-card input::placeholder{color:#8a96a8}.login-submit{min-height:50px;margin-top:2px}.auth-secondary-action{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:4px;color:var(--muted);font-size:.94rem;text-align:center}.auth-secondary-action a{color:var(--navy);font-weight:800;text-decoration:none}.auth-secondary-action a:hover,.auth-secondary-action a:focus-visible{color:var(--gold-dark);text-decoration:underline}@media(max-width:760px){.student-public-nav{align-items:center;gap:10px;padding:10px 14px}.student-public-brand{flex:1 1 auto}.student-public-brand small{max-width:44vw}.student-public-nav-actions{flex:0 0 auto;width:auto;justify-content:flex-end;gap:8px}.student-public-nav-actions select{min-width:88px;max-width:104px}.student-public-nav-actions .student-nav-login{min-height:38px;padding-inline:11px;font-size:13px}.student-public-main{width:100%;padding-inline:0}.student-public-hero{border-radius:0 0 20px 20px;padding-inline:18px}}@media(max-width:620px){.login-topbar,.login-main{width:min(520px,calc(100% - 28px))}.login-topbar{min-height:68px;padding-inline:0}.login-home-link span{display:none}.login-main{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:18px 0 30px}.login-card{order:1;width:100%;max-width:430px;justify-self:center;padding:20px;border-radius:14px}.login-intro{order:2;max-width:430px;justify-self:center;text-align:center}.login-kicker,.login-intro h1,.login-intro p{display:none}.login-intro h1{max-width:none;margin:10px 0;font-size:28px}.login-intro p{font-size:15px;line-height:1.65}.login-public-link{width:100%;justify-content:center;min-height:42px;margin-top:14px;padding:10px 12px}}@media(max-width:430px){.student-public-nav{align-items:flex-start;flex-wrap:wrap}.student-public-brand small{max-width:calc(100vw - 92px)}.student-public-nav-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:100%;max-width:none}.student-public-nav-actions select,.student-public-nav-actions .student-nav-login{width:100%}.student-public-nav-actions .student-nav-login{padding-inline:8px}}.public-home-shell{background:#f7f8fb}.public-home-shell .student-public-main{width:min(1200px,calc(100% - 48px));padding:40px 0 56px}.public-home-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:48px;min-height:auto;padding:48px 0 32px}.public-home-hero-copy{min-width:0}.public-home-hero-copy .student-kicker{color:var(--gold-dark)}.public-home-hero h1{max-width:720px;margin:12px 0 16px;color:var(--primary-dark);font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:0}.public-home-hero p{max-width:640px;margin:0;color:#445066;font-size:clamp(16px,1.6vw,19px);line-height:1.75}.public-home-hero-actions{margin-top:28px}.public-home-hero .student-primary-link,.public-home-hero .student-secondary-link,.public-quick-card{border-radius:10px}.public-home-hero .student-secondary-link{border-color:#d9e0ea;background:#fff;color:var(--primary-dark)}.public-home-hero .student-secondary-link:hover,.public-home-hero .student-secondary-link:focus-visible,.public-quick-card:hover,.public-quick-card:focus-visible{border-color:#c5a059b8;box-shadow:0 12px 26px #0a203d14;transform:translateY(-1px)}.public-platform-preview{min-width:0;border:1px solid #dbe3ee;border-radius:20px;padding:18px;background:linear-gradient(180deg,#fffffff5,#ffffffe6),#fff;box-shadow:0 24px 60px #0a203d21}.public-preview-toolbar{display:flex;gap:7px;padding-bottom:16px;border-bottom:1px solid #edf1f6}.public-preview-toolbar span{width:9px;height:9px;border-radius:999px;background:#d7dee9}.public-preview-toolbar span:first-child{background:var(--gold)}.public-preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px 16px}.public-preview-head span{display:block;color:var(--muted-ink);font-size:13px;font-weight:700}.public-preview-head strong{display:block;margin-top:4px;color:var(--primary-dark);font-size:28px;line-height:1.1}.public-preview-head svg{color:var(--gold-dark)}.public-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-preview-grid article{min-height:118px;display:grid;align-content:space-between;gap:18px;border:1px solid #e4eaf2;border-radius:14px;padding:16px;background:#fbfcfe;color:var(--primary-dark)}.public-preview-grid svg{color:var(--gold-dark)}.public-preview-grid span{font-size:14px;font-weight:800;line-height:1.35}.public-home-shell .student-public-section{margin-top:32px;padding:32px;border-radius:16px;box-shadow:none}.public-home-shell .student-public-section-head{max-width:760px}.public-home-shell .student-public-section-head h2{margin:8px 0 0;color:var(--primary-dark);font-size:clamp(26px,3vw,38px);line-height:1.16;letter-spacing:0}.public-home-shell .student-public-section-head p{margin-top:12px;color:#445066;line-height:1.75}.public-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.public-feature-card{min-height:188px;display:grid;align-content:start;gap:16px;border-color:#e1e7f0;border-radius:14px;padding:22px;background:#fff;color:var(--primary-dark)}.public-feature-icon{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:12px;background:#fbf5e8;color:var(--gold-dark)}.public-feature-card strong{display:block;font-size:17px;line-height:1.3}.public-feature-card p{display:-webkit-box;margin:8px 0 0;overflow:hidden;color:#596678;font-size:14px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:4}.public-about-section{display:grid;grid-template-columns:minmax(0,.86fr) minmax(240px,.44fr);gap:32px;align-items:center}.public-about-section:after{content:"";min-height:180px;border:1px solid #e1e7f0;border-radius:16px;background:linear-gradient(90deg,transparent 31px,#edf1f6 32px),linear-gradient(180deg,transparent 31px,#edf1f6 32px),#fbfcfe;background-size:32px 32px}.public-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}.public-quick-card{min-height:112px;display:grid;align-content:center;gap:14px;border:1px solid #e1e7f0;padding:18px;background:#fff;color:var(--primary-dark);font-weight:800;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.public-quick-card svg{color:var(--gold-dark)}.public-quick-card--primary{border-color:#c5a0598c;background:#fbf5e8}.public-home-footer{width:min(1200px,calc(100% - 48px));align-items:flex-start;border-top:1px solid #dfe6f0;padding:24px 0 40px}.public-home-footer>div:first-child{display:grid;gap:4px}.public-home-footer .public-contact-list{justify-content:flex-end}.public-home-footer .public-contact-list span{border-color:#dfe6f0;background:#fff;color:#445066}@media(max-width:980px){.public-home-hero,.public-about-section{grid-template-columns:1fr}.public-home-hero{gap:32px;padding-top:32px}.public-feature-grid,.public-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.public-home-shell{width:100%;max-width:100vw;overflow-x:hidden}.public-home-shell *{box-sizing:border-box}.public-home-shell .student-public-nav{display:flex;min-height:92px;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;padding:8px 14px 10px}.public-home-shell .student-public-brand{width:100%;flex:0 0 100%;justify-content:center;min-width:0}.public-home-shell .student-public-brand .brand-logo-horizontal{width:min(136px,38vw)}.public-home-shell .student-public-brand span{display:none}.public-home-shell .student-public-nav-actions{width:100%;max-width:252px;display:grid;flex:0 0 100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.public-home-shell .student-public-nav-actions select{width:100%;min-width:0;max-width:none;min-height:34px;padding-inline:8px;font-size:12px}.public-home-shell .student-public-nav-actions .student-nav-login{width:100%;min-height:34px;padding:7px 10px;font-size:12px}.public-home-shell .student-public-main{width:min(1200px,calc(100% - 32px));padding:14px 0 36px}.public-home-hero{width:100%;min-width:0;gap:16px;padding:0 0 6px;overflow:hidden}.public-home-hero-copy{text-align:center}.public-home-hero h1{max-width:310px;margin-inline:auto;margin-block:8px 10px;font-size:24px;line-height:1.25;overflow-wrap:anywhere}.public-home-hero p{max-width:320px;margin-inline:auto;font-size:14px;line-height:1.65}.public-platform-preview{width:min(100%,330px);min-width:0;justify-self:center;padding:12px;border-radius:14px}.public-preview-head{padding:14px 2px 12px}.public-preview-head strong{font-size:21px}.public-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-preview-grid article{min-height:74px;gap:12px;padding:11px}.public-preview-grid span{font-size:13px}.public-preview-grid article:nth-child(n+3){display:none}.public-home-hero-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.public-home-hero-actions a{width:100%;min-width:0;min-height:40px;padding:8px 9px;font-size:12.5px;line-height:1.3;overflow-wrap:anywhere;white-space:normal}.public-home-shell .student-public-section{margin:24px 0 0;padding:22px;border-radius:14px}.public-feature-grid,.public-quick-grid{grid-template-columns:1fr}.public-feature-card{min-height:auto}.public-about-section:after{min-height:120px}.public-home-footer{width:min(1200px,calc(100% - 32px));direction:ltr;display:grid;gap:18px}.public-home-footer .public-contact-list{justify-content:flex-start}}.table-header-icon{display:inline-flex;align-items:center;gap:6px}.public-housing-hero{min-height:360px}.public-back-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold);text-decoration:none}.public-housing-grid,.public-room-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.public-room-type-grid--focused{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.public-housing-card{min-width:0;overflow:hidden;border:1px solid var(--soft-line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.public-housing-media,.public-room-type-placeholder{display:grid;place-items:center;aspect-ratio:16 / 9;background:var(--surface-muted);color:var(--primary-dark)}.public-housing-media img{width:100%;height:100%;object-fit:cover}.public-room-type-media{background:var(--surface-muted)}.public-room-type-carousel{position:relative;overflow:hidden;background:var(--surface-muted)}.public-room-type-media-frame,.public-room-type-placeholder{display:grid;place-items:center;aspect-ratio:16 / 9;color:var(--primary-dark)}.public-room-type-media-frame img,.public-room-type-media-frame iframe,.public-room-type-media-frame video{width:100%;aspect-ratio:16 / 9;height:100%;border:0;object-fit:cover}.public-carousel-control{position:absolute;top:50%;z-index:2;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#002344b8;color:#fff;transform:translateY(-50%)}.public-carousel-control--prev{inset-inline-start:10px}.public-carousel-control--next{inset-inline-end:10px}.public-carousel-dots{position:absolute;inset-inline:0;bottom:10px;display:flex;justify-content:center;gap:6px}.public-carousel-dots button{width:8px;height:8px;border:0;border-radius:999px;padding:0;background:#ffffffa6}.public-carousel-dots button.active{width:20px;background:#fff}.public-video-fallback{display:grid;place-items:center;gap:8px;color:var(--primary-dark);text-decoration:none}.public-housing-card-body{display:grid;gap:10px;padding:16px}.public-housing-card-body h3{margin:0;color:var(--primary-dark)}.public-housing-card-body p{margin:0}.public-housing-meta{display:flex;flex-wrap:wrap;gap:8px}.public-housing-meta span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);padding:7px 10px;background:var(--surface-muted);color:var(--primary-dark);font-size:13px;font-weight:700}.public-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-price-item{display:grid;gap:4px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);padding:12px;background:var(--surface-muted)}.public-price-item strong{color:var(--muted);font-size:12px}.public-price-item b{color:var(--primary-dark);font-size:18px}.public-building-summary-section{padding-top:16px}.public-building-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.public-building-summary{min-width:0;display:flex;align-items:center;gap:10px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);padding:12px;background:#fff;color:var(--primary-dark)}.public-building-summary strong{flex:1;min-width:0}.public-building-summary span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:13px}.room-type-media-manager{margin-top:18px;border-top:1px solid var(--soft-line);padding-top:16px}.room-type-media-manager h3{margin:0 0 12px;color:var(--primary-dark)}.room-type-media-list{display:grid;gap:10px;margin-bottom:14px}.room-type-media-item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--soft-line);border-radius:var(--radius-sm);padding:10px;background:#fff}.room-type-media-preview{display:grid;place-items:center;aspect-ratio:16 / 9;overflow:hidden;border-radius:8px;background:var(--surface-muted);color:var(--primary-dark);font-size:12px;font-weight:800}.room-type-media-preview img{width:100%;height:100%;object-fit:cover}.room-type-media-item>div:nth-child(2){display:grid;min-width:0;gap:4px}.room-type-media-item .muted{overflow-wrap:anywhere}.room-type-media-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.room-type-media-form{margin-top:10px}.public-rule-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.public-rule-list article{display:flex;align-items:center;gap:10px;border:1px solid var(--soft-line);border-radius:var(--radius-lg);padding:14px;background:#fff;color:var(--primary-dark);font-weight:700}.public-housing-external-link{width:fit-content;max-width:100%;margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border-radius:12px;border:1px solid transparent;background:var(--primary-dark);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.public-housing-external-link svg{flex:0 0 auto;color:var(--gold)}.public-housing-external-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-housing-external-link:hover,.public-housing-external-link:focus-visible{background:#013a6b;box-shadow:0 6px 16px #00234438;transform:translateY(-1px)}@media(max-width:560px){.public-housing-external-link{width:100%}}.content-public-housing-editor{margin-top:16px}.mobile-filter-actions,.mobile-filter-sheet-host{display:none}@media(max-width:760px){.dashboard-main>.page{padding-bottom:104px}.responsive-filter-bar>.filter-bar{display:none}.responsive-filter-bar--mobile-inline>.filter-bar{display:flex}.mobile-filter-actions{position:fixed;inset-inline-end:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:80;display:grid;gap:10px}.mobile-filter-actions button{min-width:112px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:10px 14px;background:var(--primary-dark);color:#fff;box-shadow:var(--shadow-md);font-weight:800}.mobile-filter-actions button+button{background:#fff;color:var(--primary-dark);border:1px solid var(--soft-line)}.mobile-filter-sheet-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:block}.mobile-filter-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0a142373}.mobile-filter-sheet{position:absolute;inset-inline:0;bottom:0;max-height:min(78vh,620px);overflow:auto;border-radius:22px 22px 0 0;background:#fff;padding:16px;box-shadow:0 -18px 45px #0f172a33}.mobile-filter-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mobile-filter-sheet__head h2{margin:0;color:var(--primary-dark);font-size:18px}.mobile-filter-sheet .filter-bar,.mobile-filter-sheet .filter-controls,.mobile-filter-sheet .filter-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.mobile-filter-sheet input,.mobile-filter-sheet select,.mobile-filter-sheet button{min-height:46px}.summary-grid,.stats-grid,.request-card-grid,.card-grid,.student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.request-summary-card{min-height:172px;padding:13px}.request-summary-card__head{align-items:flex-start;gap:8px}.request-summary-card__title strong,.request-summary-card__title span,.request-summary-card__meta-row dd{overflow-wrap:anywhere}.room-type-media-item{grid-template-columns:76px minmax(0,1fr)}.room-type-media-actions{grid-column:1 / -1;justify-content:stretch}.room-type-media-actions>*{flex:1 1 auto}}@media(max-width:390px){.request-card-grid,.card-grid,.student-card-grid{grid-template-columns:1fr}.summary-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
