
    :root{--font-ui:"Inter","Segoe UI",Roboto,Arial,sans-serif;--app-shell-gutter:clamp(14px,4vw,20mm);--app-min-shell-width:1240px;--app-min-content-width:1180px;--bg:#12284a;--navy:#17365d;--brand-logo-blue:#192948;--brand-logo-blue-strong:#0f1b34;--brand-logo-blue-active-start:#2a3f6c;--brand-logo-blue-soft-start:#fbfcff;--brand-logo-blue-soft-end:#eaf0f8;--brand-logo-blue-soft-bg:#eef3fb;--brand-logo-blue-soft-border:rgba(25,41,72,.18);--brand-logo-blue-soft-border-strong:#8fa4c8;--brand-logo-blue-soft-text:#4f6386;--brand-logo-blue-pill-bg:rgba(25,41,72,.12);--surface:#fff;--panel:#f6f7fb;--panel2:#eef3fb;--border:#d9dee8;--border2:#bcc6d6;--ink:#1b2430;--ink2:#556274;--ink3:#556274;--muted:var(--ink3);--green:#1a6b3c;--greenBg:#edf7f1;--greenBorder:#b6e0ca;--greenActive:#0f7d4c;--greenActiveBg:#d8f4e3;--red:#b91c1c;--redBg:#fef2f2;--redBorder:#f3b3b3;--redActiveBorder:#d66;--redActiveBg:#ffdede;--amber:#9a6700;--amberStrong:#7a4f00;--amberBg:#fff7e0;--amberBorder:#f2cb6e;--amberActiveBorder:#d89b22;--amberActiveBg:#ffe9b8;--purple:#6d28d9;--purpleBg:#f5f0ff;--purpleBorder:#d7c5ff;--purpleActive:#5b21b6;--purpleActiveBorder:#7c3aed;--purpleActiveBg:#ede2ff;--shadow:0 18px 40px rgba(10,26,52,.16);--r:10px;--rLg:16px}
*{box-sizing:border-box}html,body{margin:0}body{background:linear-gradient(180deg,var(--brand-logo-blue) 0%,#24385f 100%);color:var(--ink);font:14px/1.55 var(--font-ui);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{scrollbar-width:auto;scrollbar-color:var(--brand-logo-blue-soft-border-strong) var(--brand-logo-blue-soft-bg)}*::-webkit-scrollbar{width:14px;height:14px}*::-webkit-scrollbar-track{background:var(--brand-logo-blue-soft-bg)}*::-webkit-scrollbar-thumb{border:2px solid var(--brand-logo-blue-soft-bg);border-radius:999px;background:var(--brand-logo-blue-soft-border-strong)}*::-webkit-scrollbar-thumb:hover{background:var(--brand-logo-blue)}*::-webkit-scrollbar-corner{background:var(--brand-logo-blue-soft-bg)}button,input,select{font:inherit}button{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}button:hover:not([disabled]){transform:translateY(-1px)}
    nav{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:8px 18px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;box-shadow:0 4px 18px rgba(12,24,44,.08)}
    .logo{font:700 16px var(--font-ui)}.logo span{color:var(--green)}.nav-tabs{display:flex;gap:4px 5px;flex-wrap:wrap}.nav-tab{border:none;background:transparent;color:var(--ink2);padding:6px 9px;border-radius:7px;cursor:pointer;font:700 10.5px/1.15 var(--font-ui)}.nav-tab.active{background:var(--navy);color:#fff}.nav-tab.is-hidden{display:none}.user-chip{display:flex;align-items:center;gap:8px;color:var(--ink2);font-size:11px}.avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--border);color:var(--navy);font:700 10px var(--font-ui)}
    .page{display:none;width:calc(100% - var(--app-shell-gutter) - var(--app-shell-gutter));max-width:none;margin:0 auto;padding:28px 0 40px}.page.active{display:block}.app-footer{width:calc(100% - var(--app-shell-gutter) - var(--app-shell-gutter));margin:0 auto 28px;padding:10px 22px;color:#fff;text-align:center;font:700 13px/1.4 var(--font-ui)}.is-hidden{display:none!important}.card{background:var(--surface);border:1px solid rgba(255,255,255,.4);border-radius:var(--rLg);padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.card-title{font:700 18px var(--font-ui)}.card-sub{margin-top:4px;color:var(--ink3);font-size:13px;line-height:1.45}
    .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:700 10px var(--font-ui)}.pdot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill-draft{background:var(--panel);border:1px solid var(--border);color:var(--ink2)}.pill-approved{background:var(--greenBg);border:1px solid var(--greenBorder);color:var(--green)}.pill-pending{background:var(--amberBg);border:1px solid var(--amberBorder);color:var(--amber)}.pill-rejected{background:var(--redBg);border:1px solid var(--redBorder);color:var(--red)}.pill-base{background:var(--panel2);border:1px solid var(--border);color:var(--navy)}
    .alert{display:none;margin-bottom:16px;padding:12px 14px;border-radius:var(--r)}.alert.show{display:block}.alert-ok{background:var(--greenBg);border:1px solid var(--greenBorder);color:var(--green)}.alert-warn{background:var(--amberBg);border:1px solid var(--amberBorder);color:var(--amber)}.alert-err{background:var(--redBg);border:1px solid var(--redBorder);color:var(--red)}.slabel{margin:6px 0 12px;font:700 12px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:0;color:var(--ink3)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.fg{display:flex;flex-direction:column;gap:6px}.fg label{color:var(--ink2);font:700 11.5px/1.25 var(--font-ui);text-transform:uppercase;letter-spacing:0}.fg input,.fg select{width:100%;min-width:0;border:1px solid var(--border2);border-radius:var(--r);background:#fff;padding:10px 12px;color:var(--ink)}.fg select:disabled{background:#fff;color:var(--ink2);opacity:1}.fg .display-field{background:var(--panel);border-color:var(--border);color:var(--ink2)}.fg .display-field::placeholder{color:var(--ink3)}.fg .display-field.has-value{background:var(--greenBg);border-color:var(--greenBorder);color:var(--green)}.fg .display-field.is-zero{background:var(--redBg);border-color:var(--redBorder);color:var(--red)}.fg .selected-choice{background:var(--greenBg);border-color:var(--greenBorder);color:var(--green)}.fg .login-code-field.display-field,.fg .login-code-field.display-field.has-value{background:#eaf3ff;border-color:#b8d3ff;color:#1f5aa6}.fg .login-code-field::placeholder{color:#6f8fbe}.profile-inline-grid{display:flex;gap:14px;align-items:flex-end;flex-wrap:nowrap;margin-bottom:16px;min-width:0}.profile-inline-grid .fg{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden}.profile-inline-grid .history-first-name-cell{width:20ch;min-width:20ch;max-width:20ch}.profile-inline-grid .history-last-name-cell{width:40ch;min-width:40ch;max-width:40ch}.profile-inline-grid input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-field{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border:1px solid var(--border2);border-radius:var(--r);background:#fff;color:var(--ink);min-height:42px;height:42px}.toggle-field.display-field{background:var(--panel);border-color:var(--border);color:var(--ink2)}.toggle-field.display-field.has-value{background:var(--panel);border-color:var(--border);color:var(--ink2)}.toggle-copy{display:flex;align-items:center;min-width:0;overflow:hidden}.toggle-copy strong{font:700 12px/1.2 var(--font-ui);color:currentColor;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-copy span{display:none}.toggle-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:46px;height:26px}.toggle-switch input{position:absolute;opacity:0;pointer-events:none}.toggle-slider{position:relative;display:block;width:46px;height:26px;border-radius:999px;background:#efb1b1;border:1px solid #e08f8f;transition:all .18s ease}.toggle-slider::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(12,24,44,.18);transition:transform .18s ease}.toggle-switch input:checked + .toggle-slider{background:var(--green);border-color:var(--green)}.toggle-switch input:checked + .toggle-slider::after{transform:translateX(20px)}.toggle-switch input:focus-visible + .toggle-slider{outline:2px solid rgba(15,98,60,.28);outline-offset:2px}.toggle-field.display-field .toggle-switch{pointer-events:none}.pesel-mask-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:19ch;min-width:19ch;max-width:19ch;padding:0 12px;border:1px solid var(--border2);border-radius:var(--r);background:#fff;color:var(--ink);overflow:hidden}.pesel-mask-wrap.display-field{background:var(--panel);border-color:var(--border);color:var(--ink2)}.pesel-mask-wrap.display-field.has-value{background:var(--greenBg);border-color:var(--greenBorder);color:var(--green)}.pesel-mask-wrap .pesel-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:currentColor;letter-spacing:.42em;font-variant-numeric:tabular-nums;z-index:2;opacity:1;white-space:pre}.pesel-mask-wrap input{position:relative;z-index:1;width:100%;min-width:0;border:none!important;background:transparent!important;box-shadow:none!important;padding:10px 0!important;text-align:center;letter-spacing:.42em;font-variant-numeric:tabular-nums;overflow:hidden;color:transparent!important;caret-color:currentColor}.login-code-cell{justify-self:start;width:19ch;min-width:19ch;max-width:19ch}
.teacher-reference-card{display:grid;gap:16px}.teacher-reference-card .card-head{align-items:flex-start;gap:16px}.teacher-reference-source{display:grid;gap:2px;min-width:220px;padding:10px 12px;border:1px solid rgba(15,98,60,.18);border-radius:12px;background:linear-gradient(180deg,var(--greenBg) 0%,#fff 100%);color:var(--green)}.teacher-reference-source strong{font:700 11px/1.2 var(--font-ui);letter-spacing:.06em;text-transform:uppercase}.teacher-reference-source span{color:var(--ink2);font-size:11px;line-height:1.35}.teacher-reference-body{display:grid;gap:14px}.teacher-reference-section{gap:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.teacher-reference-section+.teacher-reference-section{padding-top:14px;border-top:1px solid rgba(148,163,184,.18)}.teacher-reference-name-grid{display:grid;grid-template-columns:minmax(92px,.35fr) minmax(180px,.75fr) minmax(220px,1fr);gap:12px;margin-bottom:0}.teacher-reference-contact-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(160px,.55fr);margin-bottom:0}.teacher-reference-card .fg{min-width:0}.teacher-reference-card .history-first-name-cell,.teacher-reference-card .history-last-name-cell{width:auto;min-width:0;max-width:none}.teacher-reference-card .fg .display-field,.teacher-reference-card .toggle-field.display-field{min-height:44px;background:#f8fbff;border-color:rgba(115,139,186,.25);color:var(--ink)}.teacher-reference-card .fg .display-field.has-value,.teacher-reference-card .toggle-field.display-field.has-value{background:#f3fff8;border-color:var(--greenBorder);color:var(--green)}.teacher-reference-card .fg .login-code-field.display-field,.teacher-reference-card .fg .login-code-field.display-field.has-value{background:#eaf3ff;border-color:#b8d3ff;color:#1f5aa6}.teacher-reference-card .toggle-field{height:auto}.teacher-reference-card .toggle-field.display-field .toggle-switch{opacity:.82}
.subjects-wrap,.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--ink3);font:700 10.5px/1.25 var(--font-ui);text-transform:uppercase;letter-spacing:0;text-align:left;white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid var(--border);color:var(--ink2);vertical-align:middle}td strong{color:var(--ink)}.stable{min-width:1220px}.dean-table,.finance-table{min-width:1180px}.cell-input,.cell-select{width:100%;border:1px solid var(--border2);border-radius:8px;padding:8px 10px;background:#fff}.cell-input[readonly],.cell-select:disabled{background:var(--panel);color:var(--ink2);cursor:not-allowed;opacity:1}.limit-exceeded{border-color:var(--red)!important;background:var(--redBg)!important;color:var(--red)!important}.row-total{font-weight:700;color:var(--ink)}
    .btn-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.btn{border:none;border-radius:var(--r);padding:10px 18px;cursor:pointer;font:600 13px var(--font-ui)}.btn-primary,.btn-navy{background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 22px rgba(15,27,52,.16)}.btn-primary:hover:not([disabled]),.btn-primary:focus-visible,.btn-navy:hover:not([disabled]),.btn-navy:focus-visible{background:linear-gradient(180deg,#314a7e 0%,var(--brand-logo-blue-strong) 100%);outline:none}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border2)}.btn-ghost{background:transparent;border:1px dashed var(--border2);color:var(--ink)}.btn-danger{background:var(--red);color:#fff}.btn[disabled]{cursor:not-allowed;opacity:.72;transform:none}.btn-small{padding:7px 12px;font-size:11px}.login-invalid{border-color:var(--red)!important;background:var(--redBg)!important;color:var(--red)!important}textarea.cell-input{font:inherit;line-height:1.5;resize:vertical;min-height:92px}
    .history-invoice-form{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:6px;align-items:center;min-width:230px}.history-invoice-form span,.history-invoice-readonly span,.muted-text{color:var(--ink3);font-size:11px}.history-invoice-form span{grid-column:1 / -1}.history-invoice-readonly{display:grid;gap:3px;min-width:150px}.teacher-code-cell{display:grid;gap:2px}.teacher-code-cell strong{font:700 12px var(--font-ui);color:var(--ink)}.request-contract-label{display:inline-flex;align-items:center;max-width:170px;padding:3px 7px;border:1px solid rgba(30,64,175,.16);border-radius:999px;background:#eef4ff;color:#1d4ed8;font:700 10px/1.2 var(--font-ui);white-space:normal}.accounting-search{min-width:280px}.accounting-table{min-width:1660px}.accounting-archive-table{min-width:1320px}.accounting-archive-row td{background:#f8fafc}.accounting-action-cell{display:grid;gap:5px;min-width:230px}.accounting-action-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.accounting-action-cell .btn{justify-self:start}.accounting-action-cell strong{font:700 12px var(--font-ui);color:var(--green)}
    .archive-page-actions,.archive-page-tools{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.archive-page-panel{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--r);background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}.archive-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.archive-page-card,.archive-launch-card{margin-bottom:18px}.accounting-archive-tools{align-items:flex-end}
    .totals-bar{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:18px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel)}.ti .tl{color:var(--ink3);font:700 10.5px/1.25 var(--font-ui);text-transform:uppercase;letter-spacing:0;margin-bottom:4px}.ti .tv{font:700 20px var(--font-ui)}.green{color:var(--green)}.red-text{color:var(--red)!important}.hours-remaining{color:var(--green)!important}.limit-note{margin-top:10px;font-size:13px;line-height:1.4;color:var(--ink3)}.limit-note.error{color:var(--red);font-weight:600}.decl{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel)}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}.metric{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;height:104px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel);padding:11px 13px;overflow:hidden}.metric-label{color:var(--ink3);font:700 12px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:0;margin-bottom:4px;overflow-wrap:normal;word-break:normal;hyphens:none}.metric-value{font:800 19px/1.15 var(--font-ui);color:var(--ink);overflow-wrap:normal;word-break:normal;hyphens:none}.metric-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.42;color:var(--ink3);margin-top:4px;overflow-wrap:normal;word-break:normal;hyphens:none}.metric-money .metric-value{color:var(--green)}.metric-hours .metric-value{color:var(--navy)}.metric-alert .metric-value,.metric-warning .metric-value{color:var(--amber)}.metric-success .metric-value{color:var(--green)}.metric-muted .metric-value{color:var(--ink2)}.metric-danger .metric-value{color:var(--red)}.page.stats-page{display:none}.page.stats-page.active{display:grid;gap:18px}.stats-hero{background:linear-gradient(135deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 55%,#eef3ea 100%);border-color:rgba(25,41,72,.12)}.stats-hero .card-head{margin-bottom:10px}.stats-hero .card-sub{max-width:820px}.stats-hero-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}.stats-kicker{display:block;margin-bottom:8px;color:var(--ink3);font:700 12px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:0}.stats-blurb{margin:0;color:var(--ink2);max-width:900px}.stats-chip{display:flex;flex-direction:column;gap:4px;height:104px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--r);background:rgba(255,255,255,.78);overflow:hidden}.stats-chip strong{font:800 19px/1.15 var(--font-ui);color:var(--ink)}.stats-chip span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.42;color:var(--ink3)}.stats-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.stats-grid-single{grid-template-columns:minmax(0,1fr)}.stats-card .card-head{margin-bottom:14px}.stats-card .card-sub{max-width:760px}.stats-metrics{margin-bottom:0}.stats-metrics-people{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stats-metrics-planning{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stats-metrics-language{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stats-metrics-requests{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
#planning-obsada-study-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
#planning-obsada-study-filters .metric{cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
#planning-obsada-study-filters .metric:hover{border-color:var(--brand-logo-blue-soft-border-strong)}
#planning-obsada-study-filters .metric.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);box-shadow:0 8px 16px rgba(15,27,52,.18)}
#planning-obsada-study-filters .metric.active .metric-label,#planning-obsada-study-filters .metric.active .metric-value,#planning-obsada-study-filters .metric.active .metric-sub{color:#fff}
#planning-obsada-teacher-list{max-height:360px}
.side-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.side-panel{display:flex;flex-direction:column;gap:12px;align-self:start;border:1px solid var(--border);border-radius:var(--r);background:var(--panel);padding:14px;min-width:0;min-height:0}.side-panel-add-btn{width:100%;min-height:34px}.side-search{margin-bottom:0}.side-list{display:grid;gap:8px;max-height:min(68vh,720px);overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable}.side-empty{padding:12px 10px;border:1px dashed var(--border2);border-radius:var(--r);background:#fff;color:var(--ink3);font-size:12px;text-align:center}.side-btn{width:100%;min-width:0;text-align:left;border:1px solid var(--border);border-radius:var(--r);background:#fff;padding:12px 14px;cursor:pointer;color:var(--ink)}.side-btn:hover{border-color:var(--brand-logo-blue-soft-border-strong)}.side-btn.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 14px 28px rgba(15,27,52,.2)}.side-btn.needs-action{border-color:var(--amberBorder);background:var(--amberBg)}.side-btn.needs-action strong{color:var(--amberStrong)}.side-btn.needs-action span{color:var(--amber)}.side-btn.needs-action.active{border-color:var(--amberActiveBorder);background:var(--amberActiveBg);color:var(--amberStrong)}.side-btn.needs-action.active span{color:var(--amberStrong)}.side-btn.overdue-entry{border-color:var(--redBorder);background:var(--redBg);color:var(--red)}.side-btn.overdue-entry strong,.side-btn.overdue-entry span{color:var(--red)}.side-btn.overdue-entry.active{border-color:var(--redActiveBorder);background:var(--redActiveBg);color:var(--red)}.side-btn.refund-approved-entry,.side-btn.fees-paid-entry{border-color:var(--greenBorder);background:var(--greenBg);color:var(--green)}.side-btn.refund-approved-entry strong,.side-btn.refund-approved-entry span,.side-btn.fees-paid-entry strong,.side-btn.fees-paid-entry span{color:var(--green)}.side-btn.refund-approved-entry.active,.side-btn.fees-paid-entry.active{border-color:var(--greenActive);background:var(--greenActiveBg);color:var(--greenActive)}.side-btn.unassigned-entry{border-color:var(--purpleBorder);background:var(--purpleBg);color:var(--purple)}.side-btn.unassigned-entry strong,.side-btn.unassigned-entry span{color:var(--purple)}.side-btn.unassigned-entry.active{border-color:var(--purpleActiveBorder);background:var(--purpleActiveBg);color:var(--purpleActive)}.side-btn strong{display:block;font:700 13px var(--font-ui);margin-bottom:2px;white-space:normal;overflow-wrap:anywhere}.side-btn span{display:block;font-size:12px;color:var(--ink2);white-space:normal;overflow-wrap:anywhere}.side-btn.active strong,.side-btn.active span{color:#fff}
.detail-panel{min-width:0}
.detail-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible}
.data-entry-page.active{display:block}
.data-entry-header .card-head{margin-bottom:14px}
.data-entry-layout{align-items:start}
.data-entry-side .side-list{max-height:none}
.data-entry-workspace{min-height:420px}
.data-entry-actions{margin-top:0}
.data-entry-top-metrics,.data-entry-metrics,.data-entry-validation-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.data-entry-status-placeholder{min-height:0}
.data-entry-grid-shell{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:auto;max-height:min(58vh,620px)}
.data-entry-grid-table{min-width:1320px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.data-entry-grid-table th,.data-entry-grid-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;height:28px}
.data-entry-grid-table thead th{position:sticky;top:0;z-index:2;background:#f3f7fd;color:var(--brand-logo-blue);font:800 9px/1.2 var(--font-ui);letter-spacing:.03em;text-transform:uppercase;padding:7px 8px}
.data-entry-grid-table .data-entry-row-head{position:sticky;left:0;z-index:3;width:34px;min-width:34px;background:#f8fbff;color:var(--ink2);text-align:center;font:700 10px var(--font-ui)}
.data-entry-grid-table thead .data-entry-row-head{z-index:4;background:#eef4fb}
.data-entry-grid-table td{background:#fff}
.data-entry-grid-table td.data-entry-money-cell{background:#edf8f3}
.data-entry-grid-input{width:100%;height:28px;border:0;border-radius:0;background:transparent;padding:4px 7px;color:var(--ink);font:12px/1.2 var(--font-ui);outline:none}
.data-entry-grid-input:focus{box-shadow:inset 0 0 0 2px var(--green);background:#fff}
.data-entry-preview{margin-top:14px}
.data-entry-preview-wrap{border:1px solid var(--border);border-radius:var(--r);background:#fff}
.data-entry-preview-table{min-width:1080px;table-layout:fixed}
.data-entry-preview-table th,.data-entry-preview-table td{padding:8px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.data-entry-preview-more{margin-top:8px}
.data-entry-validation{margin:14px 0}
.data-entry-validation-metrics{margin-bottom:8px}
.data-entry-issues{display:flex;flex-wrap:wrap;gap:8px}
.data-entry-warning-ack{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid var(--amberBorder);border-radius:8px;background:var(--amberBg);color:var(--amber);font:700 11px/1.3 var(--font-ui)}
.data-entry-warning-ack input{width:16px;height:16px;margin:0;accent-color:var(--amber);flex:0 0 auto}
.refunds-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.refunds-stat-list{display:grid;gap:6px;max-height:min(38vh,320px);overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable}.refunds-stat-pill{width:100%;padding:6px 8px;display:block;border:1px solid var(--border);border-radius:11px;background:#fff;text-align:left;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.refunds-stat-pill:hover{border-color:var(--brand-logo-blue-soft-border-strong)}.refunds-stat-pill:focus-visible{outline:2px solid rgba(15,98,60,.22);outline-offset:2px}.refunds-stat-pill strong{display:block;margin-bottom:3px;font:700 11px/1.25 var(--font-ui)}.refunds-stat-pill span{display:block;color:var(--ink2);font-size:9px;line-height:1.28}.refunds-stat-pill .refunds-stat-pill-meta{color:var(--ink3);font-size:8px;line-height:1.3;margin-top:2px}.refunds-stat-empty{padding:8px 9px;border:1px dashed var(--border2);border-radius:var(--r);background:#fff;color:var(--ink3);font-size:11px}.refunds-active-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:20px}.refunds-active-filters.is-empty{display:none}.refunds-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:#fff;font:700 9px var(--font-ui);color:var(--brand-logo-blue)}.refunds-filter-chip strong{color:var(--brand-logo-blue)}.refunds-filter-chip span{color:var(--ink2);font:700 9px var(--font-ui)}.refunds-filter-chip button{all:unset;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:999px;border:none;background:transparent;color:var(--brand-logo-blue);font:700 10px/1 var(--font-ui);cursor:pointer}.refunds-filter-chip button:hover{background:rgba(23,54,93,.14)}.refunds-filter-clear{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:999px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);color:var(--brand-logo-blue);font:700 9px var(--font-ui);cursor:pointer}.refunds-filter-clear:hover{border-color:var(--brand-logo-blue-soft-border-strong)}
    .admin-department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.admin-department-card{border:1px solid var(--brand-logo-blue-soft-border);border-radius:var(--r);background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);padding:16px;box-shadow:0 8px 20px rgba(12,24,44,.05)}.admin-department-card__title{margin:0 0 8px;font:700 16px/1.25 var(--font-ui);color:var(--brand-logo-blue)}.admin-department-card__count{margin:0 0 12px;color:var(--brand-logo-blue-soft-text);font-size:12px}.admin-department-card__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border)}.admin-department-card__row + .admin-department-card__row{margin-top:10px}.admin-department-card__row span{color:var(--ink3);font:700 10px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}.admin-department-card__row strong{color:var(--ink);font:700 15px/1.2 var(--font-ui);text-align:right}
 .auth-screen{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.auth-logo-wrap{position:fixed;top:24px;left:24px;z-index:30;max-width:min(520px,56vw)}.auth-logo-text{margin:0;color:#fff;font:700 clamp(20px,2.2vw,30px)/1.08 var(--font-ui);letter-spacing:.02em;text-wrap:balance;text-shadow:0 10px 30px rgba(6,18,36,.34)}.auth-wrap{width:min(1320px,100%);display:grid;gap:20px}.auth-hero h1{margin:0 0 8px;font:700 32px/1.08 var(--font-ui);color:#fff}.auth-hero p{margin:0;color:rgba(255,255,255,.82);max-width:900px}.auth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.auth-card{margin-bottom:0}.auth-role{margin:0 0 8px;font:700 20px var(--font-ui)}.auth-role-sub{margin:0 0 16px;color:var(--ink2);font-size:12px}.auth-pass{display:flex}.auth-note{padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r);background:rgba(255,255,255,.1);color:#fff;font-size:12px}.admin-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.admin-access-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:150px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:18px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);padding:18px 20px;text-align:left;cursor:pointer;box-shadow:0 12px 26px rgba(25,41,72,.08);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease,background .16s ease}.admin-access-card strong{font:700 18px/1.2 var(--font-ui);color:var(--brand-logo-blue)}.admin-access-card span{font-size:12px;line-height:1.5;color:var(--brand-logo-blue-soft-text)}.admin-access-card:hover{border-color:var(--brand-logo-blue-strong);background:var(--brand-logo-blue);box-shadow:0 18px 34px rgba(15,27,52,.18);transform:translateY(-2px)}.admin-access-card:hover strong,.admin-access-card:hover span{color:#fff}.file-trigger{display:inline-flex;align-items:center;justify-content:center}.dean-student-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px}body.auth-locked nav,body.auth-locked .page{display:none!important}body.auth-ready #auth-screen{display:none}body.auth-ready nav{display:flex}#excel-file,#finance-file,#admin-finance-file,#refunds-file,#fees-file,#dean-student-file,#hr-file{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
    @media (max-width:1200px){.auth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.side-layout,.auth-grid,.stats-grid,.refunds-stats-grid,.refunds-totals-grid{grid-template-columns:1fr}.stats-hero-summary{grid-template-columns:1fr}.detail-metrics.finance-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{position:static;padding:14px 16px;align-items:flex-start;flex-direction:column}}@media (max-width:760px){.form-grid{grid-template-columns:1fr}.profile-inline-grid{flex-wrap:wrap}.page{width:auto;padding:20px 14px 32px}.app-footer{width:auto;margin:0 14px 22px;padding:10px 18px}.card{padding:18px}.auth-logo-wrap{top:16px;left:16px;max-width:min(300px,72vw)}.auth-logo-text{font-size:clamp(18px,5vw,24px)}.detail-metrics.finance-totals-grid{grid-template-columns:1fr}.fees-program-grid,.fees-language-grid,.fees-semester-grid,.fees-rabaty-grid,.fees-plan-selector{grid-template-columns:1fr}}
  


    #dean-table-wrap,
    #refunds-table-wrap,
    #fees-table-wrap {
      scrollbar-width: none;
      -ms-overflow-style: none;
      max-width: 100%;
      min-width: 0;
      overflow-x: auto;
    }

    #dean-table-wrap::-webkit-scrollbar,
    #refunds-table-wrap::-webkit-scrollbar,
    #fees-table-wrap::-webkit-scrollbar {
      display: none;
      height: 0;
    }

    #dean-table-wrap,
    #refunds-table-wrap,
    #fees-table-wrap {
      --wide-table-action-width: 16%;
    }

    #pg-admin-hub{max-width:none}
    #pg-portal-accounts{max-width:none}
    #pg-hr{max-width:none}
    .admin-hub-card{padding:20px 22px}
    .admin-access-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
    .admin-access-card{min-height:84px;padding:10px 12px;gap:5px;border-radius:10px}
    .admin-access-card strong{font:700 13px/1.16 var(--font-ui)}
    .admin-access-card span{font-size:11px;line-height:1.4}
    .admin-access-card .admin-access-card__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid rgba(148,163,184,.32);border-radius:999px;background:rgba(255,255,255,.82);font:700 10px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-logo-blue-soft-text)}
    .admin-access-card:hover .admin-access-card__eyebrow{color:#fff;border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.12)}



    @media (max-width:760px){
      .admin-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }

    @media (max-width:540px){
      .admin-access-grid{grid-template-columns:1fr}
    }

    #dean-table-wrap {
      --wide-table-min-width: 1180px;
      --wide-table-action-width: 15%;
    }

    #refunds-table-wrap {
      --wide-table-min-width: 1280px;
      --wide-table-action-width: 16%;
    }

    #fees-table-wrap {
      --wide-table-min-width: 1460px;
      --wide-table-action-width: 15%;
    }

    #dean-table-wrap .dean-table,
    #refunds-table-wrap .dean-table,
    #fees-table-wrap .dean-table {
      width: 100%;
      min-width: var(--wide-table-min-width);
      table-layout: fixed;
    }

    #dean-table-wrap .dean-table th,
    #dean-table-wrap .dean-table td,
    #refunds-table-wrap .dean-table th,
    #refunds-table-wrap .dean-table td,
    #fees-table-wrap .dean-table th,
    #fees-table-wrap .dean-table td {
      padding: 10px 9px;
      border-right: 1px solid rgba(188, 198, 214, 0.38);
    }

    #dean-table-wrap .dean-table th:last-child,
    #dean-table-wrap .dean-table td:last-child,
    #refunds-table-wrap .dean-table th:last-child,
    #refunds-table-wrap .dean-table td:last-child,
    #fees-table-wrap .dean-table th:last-child,
    #fees-table-wrap .dean-table td:last-child {
      border-right: none;
    }

    #dean-table-wrap .dean-table th,
    #refunds-table-wrap .dean-table th,
    #fees-table-wrap .dean-table th {
      white-space: normal;
      line-height: 1.25;
      vertical-align: bottom;
    }

    #dean-table-wrap .dean-table td,
    #refunds-table-wrap .dean-table td,
    #fees-table-wrap .dean-table td {
      vertical-align: top;
    }

    #dean-table-wrap .dean-table td.action-cell,
    #refunds-table-wrap .dean-table td.action-cell,
    #fees-table-wrap .dean-table td.action-cell {
      width: var(--wide-table-action-width);
      min-width: var(--wide-table-action-width);
      max-width: var(--wide-table-action-width);
    }

    #dean-table-wrap .action-stack,
    #refunds-table-wrap .action-stack,
    #fees-table-wrap .action-stack {
      width: 100%;
      max-width: none;
    }

    #dean-table-wrap .cell-input,
    #dean-table-wrap .cell-select,
    #refunds-table-wrap .cell-input,
    #refunds-table-wrap .cell-select,
    #fees-table-wrap .cell-input,
    #fees-table-wrap .cell-select {
      min-width: 0;
    }
  


    .finance-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 12px}
    .finance-area-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;width:100%;min-height:72px;border:1px solid rgba(186,198,216,.88);border-radius:10px;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);padding:8px 10px;text-align:left;cursor:pointer;box-shadow:0 4px 10px rgba(12,24,44,.04);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
    .finance-area-box:hover{border-color:#9fb5da;box-shadow:0 10px 18px rgba(12,24,44,.09);transform:translateY(-1px)}
    .finance-area-box.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);box-shadow:0 10px 18px rgba(15,27,52,.2)}
    .finance-area-box__eyebrow{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:rgba(23,54,93,.07);color:var(--navy);font:700 7px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
    .finance-area-box strong{display:block;font:700 13px/1.14 var(--font-ui);color:var(--ink)}
    .finance-area-box p{margin:0;color:var(--ink2);font-size:9px;line-height:1.32;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
    .finance-area-box.active strong,.finance-area-box.active p{color:#fff}
    .finance-area-box.active .finance-area-box__eyebrow{background:rgba(255,255,255,.14);color:#f4f7ff}
    #hr-subnav.hr-view-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin:0 0 14px}
    #hr-subnav.hr-view-grid .finance-area-box{min-height:78px}
    .finance-area-panel{display:none}
    .finance-area-panel.active{display:block}
    .planning-tabs-card .finance-subnav,.planning-obsada-tabs-card .finance-subnav{margin:0}
    #planning-workspace-tabs,#planning-obsada-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:8px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:var(--surface);box-shadow:0 8px 18px rgba(10,26,52,.1)}
    #planning-workspace-tabs .finance-subtab,#planning-obsada-tabs .finance-subtab{display:flex;align-items:center;justify-content:flex-start;min-height:48px;width:100%;border:1px solid rgba(25,41,72,.18);border-radius:9px;background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);padding:8px 10px;color:var(--brand-logo-blue);font:800 12px/1.15 var(--font-ui);text-align:left;box-shadow:none}
    #planning-workspace-tabs .finance-subtab:hover,#planning-obsada-tabs .finance-subtab:hover{border-color:#8fa4c8;color:var(--brand-logo-blue);box-shadow:0 8px 16px rgba(12,24,44,.08)}
    #planning-workspace-tabs .finance-subtab.active,#planning-obsada-tabs .finance-subtab.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 18px rgba(15,27,52,.2)}
    .planning-panel,.planning-obsada-panel{display:none}
    .planning-panel.active,.planning-obsada-panel.active{display:block}
    #pg-planning.planning-plan-only .planning-tabs-card,
    #pg-planning.planning-plan-only .planning-data-card,
    #pg-planning.planning-plan-only .planning-scope-card{display:none!important}
    #pg-planning .planning-data-card,
    #pg-planning .planning-scope-card{display:none!important}
    .planning-study-stages{display:grid;gap:16px;margin:0 0 16px}
    .planning-study-stage{display:grid;gap:10px}
    .planning-study-stage__head{display:flex;align-items:flex-start;gap:10px}
    .planning-study-stage__step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--navy);color:#fff;font:700 12px var(--font-ui);flex:0 0 auto}
    .planning-study-stage__copy{display:grid;gap:2px}
    .planning-study-stage__copy strong{font:700 14px/1.25 var(--font-ui);color:var(--ink)}
    .planning-study-stage__copy span{color:var(--ink2);font-size:12px;line-height:1.45}
    .planning-study-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
    .planning-study-grid .finance-area-box{min-height:78px}
    .planning-teacher-layout{align-items:start}
    .planning-teacher-layout .side-list{max-height:520px}
    .planning-teacher-detail-head{margin-bottom:12px}
    .planning-module-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px;color:var(--ink2);font-size:12px}
    .planning-module-pager__actions{display:flex;align-items:center;gap:6px}
    .planning-modules-wrap{max-height:520px;overflow:auto}
    .planning-modules-wrap .dean-table{min-width:1960px;table-layout:fixed}
    .planning-modules-wrap .dean-table th{white-space:normal;line-height:1.2;vertical-align:bottom}
    .planning-modules-wrap .dean-table th:nth-child(1),.planning-modules-wrap .dean-table td:nth-child(1){width:118px;max-width:118px;white-space:normal;line-height:1.3}
    .planning-modules-wrap .dean-table th:nth-child(2),.planning-modules-wrap .dean-table td:nth-child(2){width:134px}
    .planning-modules-wrap .dean-table th:nth-child(3),.planning-modules-wrap .dean-table td:nth-child(3){width:66px}
    .planning-modules-wrap .dean-table th:nth-child(4),.planning-modules-wrap .dean-table td:nth-child(4){width:230px}
    .planning-modules-wrap .dean-table th:nth-child(5),.planning-modules-wrap .dean-table td:nth-child(5){width:190px}
    .planning-modules-wrap .dean-table th:nth-child(n+6):nth-child(-n+11),.planning-modules-wrap .dean-table td:nth-child(n+6):nth-child(-n+11){padding-left:4px;padding-right:4px;text-align:center}
    .planning-modules-wrap .dean-table th:nth-child(6),.planning-modules-wrap .dean-table td:nth-child(6){width:62px}
    .planning-modules-wrap .dean-table th:nth-child(7),.planning-modules-wrap .dean-table td:nth-child(7){width:70px}
    .planning-modules-wrap .dean-table th:nth-child(8),.planning-modules-wrap .dean-table td:nth-child(8){width:74px}
    .planning-modules-wrap .dean-table th:nth-child(9),.planning-modules-wrap .dean-table td:nth-child(9){width:82px}
    .planning-modules-wrap .dean-table th:nth-child(10),.planning-modules-wrap .dean-table td:nth-child(10){width:54px}
    .planning-modules-wrap .dean-table th:nth-child(11),.planning-modules-wrap .dean-table td:nth-child(11){width:64px}
    .planning-modules-wrap .dean-table th:nth-child(12),.planning-modules-wrap .dean-table td:nth-child(12){width:178px;text-align:center}
    .planning-modules-wrap .dean-table th:nth-child(13),.planning-modules-wrap .dean-table td:nth-child(13){width:104px;text-align:center}
    .planning-modules-wrap .dean-table th:nth-child(14),.planning-modules-wrap .dean-table td:nth-child(14){width:116px;text-align:center}
    .planning-modules-wrap .dean-table th:nth-child(15),.planning-modules-wrap .dean-table td:nth-child(15){width:240px}
    .planning-modules-wrap .dean-table th:nth-child(16),.planning-modules-wrap .dean-table td:nth-child(16){width:96px}
    .planning-modules-wrap .dean-table th:nth-child(17),.planning-modules-wrap .dean-table td:nth-child(17){width:84px}
    .planning-modules-head-stack{display:grid;gap:1px;justify-items:center;line-height:1.05}
    .planning-modules-head-stack span{font-size:9px;letter-spacing:.04em}
    .planning-schedule-cell{display:grid;gap:2px;color:var(--ink2);font-size:12px;line-height:1.25}
    .planning-schedule-cell strong{color:var(--ink);font-weight:700}
    .planning-module-edit-stack{display:grid;gap:6px;min-width:0}
    .planning-module-edit-stack .cell-input,.planning-module-edit-stack .cell-select{width:100%;min-width:0;height:30px;padding:5px 7px;border-radius:7px;font-size:12px;line-height:1.25}
    .planning-module-edit-stack textarea.cell-input{height:auto;min-height:56px;line-height:1.35}
    .planning-module-hour-input{width:56px;min-width:0;text-align:center;margin-inline:auto}
    .planning-date-field{display:grid;grid-template-columns:24px minmax(0,1fr);gap:5px;align-items:center}
    .planning-date-field span{color:var(--ink3);font:700 9px/1 var(--font-ui);text-transform:uppercase}
    .planning-session-summary{display:grid;gap:2px;margin-top:6px;color:var(--ink3);font-size:10px;line-height:1.25}
    .planning-session-summary strong{color:var(--brand-logo-blue);font-size:10px}
    .planning-session-summary span{white-space:normal}
    .planning-weekdays{display:flex;flex-wrap:wrap;gap:3px}
    .planning-weekday{position:relative;display:inline-flex}
    .planning-weekday input{position:absolute;opacity:0;pointer-events:none}
    .planning-weekday span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border:1px solid var(--border2);border-radius:7px;background:#fff;color:var(--ink3);font:700 10px/1 var(--font-ui)}
    .planning-weekday input:checked+span{border-color:var(--brand-logo-blue);background:var(--brand-logo-blue);color:#fff}
    .planning-module-total-preview{display:grid;gap:2px;place-items:center;color:var(--ink3);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
    .planning-module-total-preview strong{font-size:12px;text-transform:none;letter-spacing:0}
    .planning-module-notes{max-width:260px;white-space:normal;line-height:1.35;color:var(--ink2)}
    .planning-module-notes-input{min-height:58px;min-width:0;width:100%;resize:vertical}
    .planning-schedule-note{margin-top:5px;color:var(--ink3);font-size:11px;line-height:1.3}
    .planning-compare-actions{display:flex;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:wrap}
    .planning-schedule-metrics{margin-bottom:14px}
    .planning-schedule-flow{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:0 0 14px}
    .planning-schedule-flow-step{position:relative;display:grid;gap:4px;min-width:0;border:1px solid var(--border);border-radius:8px;background:#fbfcff;padding:10px 12px}
    .planning-schedule-flow-step:not(:last-child)::after{content:"";position:absolute;right:-8px;top:50%;width:8px;border-top:2px solid #c7d7ee}
    .planning-schedule-flow-step strong{font:800 12px/1.2 var(--font-ui);color:var(--ink)}
    .planning-schedule-flow-step span{font-size:11px;line-height:1.3;color:var(--ink2)}
    .planning-schedule-flow-step.is-active{border-color:#1f4b87;background:#eef6ff;box-shadow:inset 0 0 0 2px rgba(31,75,135,.18)}
    .planning-schedule-flow-step.is-done{border-color:#b9d8c3;background:#f7fbf8}
    .planning-schedule-flow-step.is-waiting{border-color:#e8c47a;background:#fff7e6}
    .planning-schedule-scope-filters{margin:0 0 14px}
    .planning-schedule-scope-filters .planning-filter-stack{margin-bottom:0}
    .planning-schedule-search{max-width:420px;margin:0 0 12px}
    .planning-schedule-workbench{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.45fr);gap:16px;align-items:start}
    .planning-schedule-bank,.planning-schedule-calendar-panel{border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px;min-width:0}
    .planning-schedule-bank{display:grid;gap:10px}
    .planning-schedule-module-list{display:grid;gap:10px;max-height:650px;overflow:auto;padding-right:2px}
    .planning-schedule-module-card{display:grid;gap:7px;width:100%;min-width:0;text-align:left;border:1px solid var(--border);border-radius:8px;background:#f8fbff;color:var(--ink);padding:0;cursor:grab;font:inherit;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;overflow:hidden}
    .planning-schedule-module-main{display:grid;gap:7px;width:100%;min-width:0;text-align:left;border:0;background:transparent;color:inherit;padding:11px;font:inherit;cursor:pointer}
    .planning-schedule-module-main:focus-visible{outline:2px solid #1f4b87;outline-offset:-2px}
    .planning-schedule-module-card:hover,.planning-schedule-module-card:focus-visible{border-color:#9bb7dd;box-shadow:0 8px 22px rgba(31,75,135,.12);outline:none}
    .planning-schedule-module-card:active{cursor:grabbing;transform:translateY(1px)}
    .planning-schedule-module-card.active{background:#eef6ff;border-color:#1f4b87;box-shadow:inset 0 0 0 2px #1f4b87}
    .planning-schedule-module-card.is-complete{background:#f7fbf8;border-color:#b9d8c3}
    .planning-class-type-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}
    .planning-class-type-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;max-width:100%;border:1px solid #d6e1f0;border-radius:999px;background:#fff;color:#16345f;padding:4px 8px;line-height:1.1;white-space:nowrap}
    .planning-class-type-chip strong{font:900 10px/1.1 var(--font-ui);color:currentColor}
    .planning-class-type-chip small{font:800 10px/1.1 var(--font-ui);color:currentColor;opacity:.84}
    .planning-class-type-chip.is-wyklad{border-color:#9bb7dd;background:#eef6ff;color:#1f4b87}
    .planning-class-type-chip.is-cwiczenia{border-color:#b7dcc3;background:#eefaf2;color:#176b34}
    .planning-class-type-chip.is-csm{border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-class-type-chip.is-online{border-color:#c8b5f6;background:#f4efff;color:#5b21b6}
    .planning-class-type-chip.is-unknown{border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-class-type-chips.is-compact .planning-class-type-chip{min-height:22px;padding:3px 7px}
    .planning-class-type-chips.is-compact{display:inline-flex;gap:3px;color:currentColor}
    .planning-class-type-text,.planning-class-type-separator{display:inline;color:currentColor;font:800 10.5px/1.25 var(--font-ui);white-space:normal}
    .planning-class-type-text.is-unknown{color:#7c4a03}
    .planning-schedule-module-title{font-weight:700;line-height:1.25}
    .planning-schedule-module-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0}
    .planning-schedule-module-title-row .planning-schedule-module-title,.planning-schedule-module-title-row strong{min-width:0;overflow-wrap:anywhere}
    .planning-schedule-module-meta,.planning-schedule-module-progress{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--ink2);font-size:11px;line-height:1.35}
    .planning-schedule-module-progress strong{color:var(--ink)}
    .planning-schedule-teacher-card{display:grid;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff7e6;color:var(--ink)}
    .planning-schedule-teacher-card.active{border-color:#1f4b87;box-shadow:inset 0 0 0 2px rgba(31,75,135,.22)}
    .planning-schedule-teacher-card.is-complete{background:#f0fbf4;border-color:#9fd3ad}
    .planning-schedule-teacher-main{display:block;width:100%;min-width:0;text-align:left;border:0;background:transparent;color:inherit;padding:11px;font:inherit;cursor:pointer}
    .planning-schedule-teacher-main strong{font:800 13px/1.25 var(--font-ui)}
    .planning-schedule-teacher-main span{font-size:11px;line-height:1.32;color:var(--ink2)}
    .planning-schedule-instruction-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #c7d7ee;border-radius:8px;background:#eef6ff;padding:10px 12px;margin-bottom:10px;color:#16345f}
    .planning-schedule-instruction-box strong{display:block;font:900 13px/1.2 var(--font-ui);color:#16345f}
    .planning-schedule-instruction-box span{font-size:11px;line-height:1.35;color:#16345f}
    .planning-schedule-instruction-legend{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
    .planning-schedule-instruction-item{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(31,75,135,.14);border-radius:7px;background:#fff;padding:5px 7px;white-space:nowrap}
    .planning-schedule-instruction-item strong{font-size:10px;line-height:1}
    .planning-schedule-instruction-item small{font-size:10px;line-height:1;color:#315276}
    .planning-schedule-instruction-swatch{width:12px;height:12px;border-radius:4px;border:1px solid currentColor;background:#fff;flex:0 0 auto}
    .planning-schedule-instruction-swatch.is-free{background:#eaf8ef;color:#84c89a}
    .planning-schedule-instruction-swatch.is-partial{background:#fff7e6;color:#e8c47a}
    .planning-schedule-instruction-swatch.is-full{background:#fdecea;color:#e58b8b}
    .planning-schedule-planner-box{border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px;min-width:0}
    .planning-schedule-module-picker{display:grid;gap:12px;margin-bottom:10px}
    .planning-schedule-module-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #d6e1f0;padding-bottom:10px}
    .planning-schedule-module-picker-head strong{display:block;font:800 15px/1.25 var(--font-ui)}
    .planning-schedule-module-picker-head span{display:block;margin-top:3px;color:var(--ink2);font-size:12px;line-height:1.35}
    .planning-schedule-module-picker.is-allocation-dashboard{border-color:var(--border);background:#fff;box-shadow:0 10px 24px rgba(25,41,72,.08)}
    .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-module-picker-head{border-bottom-color:#d6e1f0}
    .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-module-picker-head strong{color:var(--brand-logo-blue);font-size:18px}
    .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-module-picker-head span{color:var(--ink2);font-size:13px}
    .planning-schedule-module-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
    .planning-schedule-module-readiness .planning-schedule-readiness{margin:0}
    .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-readiness{border-width:1px;background:#fff}
    .planning-schedule-module-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:8px;align-items:start}
    .planning-schedule-tally-row{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:220px}
    .planning-schedule-tally-row span{display:grid;gap:2px;border:1px solid #c7d7ee;border-radius:8px;background:#fff;padding:8px 10px;color:var(--ink2);font-size:12px;line-height:1.25}
    .planning-schedule-tally-row strong{display:block;color:#1f4b87;font:900 15px/1.2 var(--font-ui)}
    .planning-schedule-teacher-modules{display:grid;gap:7px;padding:0 10px 10px}
    .planning-schedule-teacher-module{display:grid;gap:0;border:1px solid rgba(31,75,135,.16);border-radius:8px;background:#fff;overflow:hidden}
    .planning-schedule-teacher-module.active{border-color:#1f4b87;box-shadow:inset 0 0 0 2px rgba(31,75,135,.14)}
    .planning-schedule-teacher-module.is-complete{border-color:#9fd3ad;background:#f0fbf4}
    .planning-schedule-teacher-module.is-partial{border-color:#e8c47a;background:#fff7e6}
    .planning-schedule-teacher-module.is-none{border-color:#e58b8b;background:#fdecea}
    .planning-schedule-teacher-module-main{display:grid;gap:3px;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:8px 9px;font:inherit;cursor:pointer}
    .planning-schedule-teacher-module-main strong{font-size:12px;line-height:1.25}
    .planning-schedule-teacher-module-main span{font-size:10px;line-height:1.25;color:var(--ink2)}
    .planning-class-type-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0;color:var(--ink)}
    .planning-class-type-line__label{display:inline-flex;align-items:center;min-height:22px;border:1px solid #0f1b34;border-radius:999px;background:var(--brand-logo-blue);color:#fff;padding:3px 8px;font:900 10px/1.1 var(--font-ui);white-space:nowrap;box-shadow:0 6px 14px rgba(15,27,52,.16)}
    .planning-class-type-line.is-compact{gap:4px}
    .planning-class-type-line.is-compact .planning-class-type-line__label{min-height:20px;padding:3px 7px;font-size:9.5px}
    .planning-class-type-line.is-unknown .planning-class-type-line__label{border-color:#d69e2e;background:#7c4a03}
    .planning-schedule-teacher-module-main .planning-class-type-line span,.planning-schedule-module-main .planning-class-type-line span,.planning-schedule-readiness-issue .planning-class-type-line span{color:inherit}
    .planning-schedule-teacher-module-main .planning-class-type-line__label,.planning-schedule-module-main .planning-class-type-line__label,.planning-schedule-readiness-issue .planning-class-type-line__label{color:#fff}
    .planning-schedule-teacher-module-main .planning-class-type-chip,.planning-schedule-module-main .planning-class-type-chip,.planning-schedule-readiness-issue .planning-class-type-chip{font-size:10px;color:currentColor}
    .planning-schedule-readiness-issue .planning-class-type-line{margin:1px 0}
    .planning-schedule-module-actions{display:flex;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:wrap;padding:0 9px 9px}
    .planning-schedule-session-list{display:grid;gap:6px;padding:0 10px 10px}
    .planning-schedule-session-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #c7d7ee;border-radius:7px;background:#fff;padding:6px 7px;font-size:11px;line-height:1.25;color:var(--ink2)}
    .planning-schedule-session-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .planning-schedule-request-shortcuts{grid-area:requests;display:grid;gap:8px;border:1px solid #d8b4fe;border-radius:8px;background:#faf5ff;padding:9px 10px;color:#4c1d95}
    .planning-schedule-request-shortcuts.is-empty{border-color:var(--border);background:#fbfcff;color:var(--ink2)}
    .planning-schedule-request-shortcuts strong{display:block;font:800 12px/1.25 var(--font-ui);color:currentColor}
    .planning-schedule-request-shortcuts span{display:block;margin-top:2px;font-size:10px;line-height:1.3;color:currentColor;opacity:.88}
    .planning-schedule-request-list{display:flex;gap:6px;flex-wrap:wrap}
    .planning-schedule-request-jump{display:grid;gap:2px;min-width:130px;max-width:210px;text-align:left;border:1px solid #b794f4;border-radius:7px;background:#f3e8ff;color:#4c1d95;padding:7px 8px;font:inherit;cursor:pointer}
    .planning-schedule-request-jump strong{font-size:11px}
    .planning-schedule-request-jump span{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-schedule-readiness{grid-area:readiness;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start;border:1px solid var(--border);border-radius:8px;background:#fbfcff;padding:10px 12px;color:var(--ink2)}
    .planning-schedule-readiness strong{display:block;font:900 14px/1.25 var(--font-ui);color:var(--ink)}
    .planning-schedule-readiness span{font-size:12.5px;line-height:1.35}
    .planning-schedule-readiness.is-ok,.planning-schedule-readiness.is-warning,.planning-schedule-readiness.is-danger{border-color:var(--border);background:#fff}
    .planning-schedule-readiness-counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
    .planning-schedule-readiness-counts span{display:inline-flex;align-items:center;min-height:26px;border:1px solid var(--brand-logo-blue-strong);border-radius:7px;background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);padding:5px 8px;font:800 11.5px/1.2 var(--font-ui);color:#fff;box-shadow:0 8px 18px rgba(15,27,52,.12)}
    .planning-schedule-readiness-more{display:inline-flex;align-items:center;min-height:26px;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:#fff;padding:5px 8px;font:800 11.5px/1.2 var(--font-ui);color:var(--ink2)}
    .planning-schedule-readiness-list{grid-column:1 / -1;display:flex;gap:6px;flex-wrap:wrap}
    .planning-schedule-readiness-issue{display:grid;gap:2px;max-width:280px;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:#fff;padding:7px 9px;text-align:left;font:inherit}
    .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-readiness-issue{min-width:210px;padding:9px 11px}
    button.planning-schedule-readiness-issue{cursor:pointer}
    button.planning-schedule-readiness-issue:hover,button.planning-schedule-readiness-issue:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(31,75,135,.22)}
    .planning-schedule-readiness-issue.active{box-shadow:inset 0 0 0 2px #1f4b87}
    .planning-schedule-readiness-issue.is-under{border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-schedule-readiness-issue.is-over{border-color:#e58b8b;background:#fdecea;color:#7f1d1d}
    .planning-schedule-readiness-issue.is-ready{border-color:#9fd3ad;background:#f0fbf4;color:#176b34}
    .planning-schedule-readiness-issue strong{font-size:12px;color:currentColor;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-schedule-readiness-issue small{font:800 12px/1.3 var(--font-ui);color:currentColor}
    .planning-schedule-calendar>.planning-schedule-readiness{margin-bottom:8px}
    .planning-schedule-selected-summary{grid-area:selected;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:start;border:1px solid #c7d7ee;border-radius:8px;background:#f8fbff;padding:9px 10px;color:#16345f}
    .planning-schedule-selected-summary.is-empty{background:#fbfcff;color:var(--ink2);border-color:var(--border)}
    .planning-schedule-selected-summary strong{display:block;font:900 13px/1.25 var(--font-ui);color:currentColor}
    .planning-schedule-selected-summary span{font-size:11.5px;line-height:1.35;color:currentColor}
    .planning-schedule-selected-list{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
    .planning-schedule-selected-chip{display:grid;gap:1px;min-width:122px;border:1px solid #9bb7dd;border-radius:7px;background:#fff;padding:6px 8px;color:#16345f;text-align:left;font:inherit;line-height:1.22;cursor:pointer}
    button.planning-schedule-selected-chip:hover,button.planning-schedule-selected-chip:focus-visible{outline:none;border-color:#1f4b87;box-shadow:0 0 0 2px rgba(31,75,135,.16)}
    .planning-schedule-selected-chip strong{font-size:12px}
    .planning-schedule-selected-chip small{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-schedule-selected-chip.is-more{display:flex;align-items:center;min-width:0;font-weight:800;cursor:default}
    .planning-schedule-legend{grid-area:legend;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid var(--border);border-radius:8px;background:#fbfcff;padding:8px}
    .planning-schedule-legend-item{display:grid;grid-template-columns:14px minmax(0,auto) minmax(0,1fr);gap:5px;align-items:center;min-width:0;color:var(--ink2)}
    .planning-schedule-legend-item strong{font:800 10px/1.2 var(--font-ui);color:var(--ink)}
    .planning-schedule-legend-item small{font-size:9.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-schedule-legend-swatch{width:12px;height:12px;border-radius:4px;border:1px solid currentColor;background:#fff}
    .planning-schedule-legend-swatch.is-requested{background:#f3e8ff;color:#8b5cf6}
    .planning-schedule-legend-swatch.is-open{background:#fff7e6;color:#d69e2e}
    .planning-schedule-legend-swatch.is-selected{background:#dbeafe;color:#1f4b87}
    .planning-schedule-legend-swatch.is-blocked{background:#fdecea;color:#e58b8b}
    .planning-schedule-calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
    .planning-schedule-calendar-toolbar>div{min-width:0;text-align:center}
    .planning-schedule-calendar-toolbar--title{justify-content:flex-start;margin-bottom:8px}
    .planning-schedule-calendar-toolbar--title>div{text-align:left}
    .planning-schedule-calendar{min-width:0}
    .planning-schedule-calendar-back-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .planning-schedule-calendar-back-row span{font:800 13px/1.25 var(--font-ui);color:var(--ink)}
    .planning-schedule-module-back-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
    .planning-schedule-module-back-main>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .planning-schedule-calendar-back-row .planning-class-type-line span{font:inherit;color:inherit}
    .planning-schedule-calendar-back-row .planning-class-type-line__label{font:900 9.5px/1.1 var(--font-ui);color:#fff}
    .planning-schedule-calendar-back-row .planning-class-type-chip strong{font:900 10px/1.1 var(--font-ui);color:currentColor}
    .planning-schedule-calendar-back-row .planning-class-type-chip small{font:800 10px/1.1 var(--font-ui);color:currentColor}
    .planning-schedule-return-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .planning-schedule-return-button{border-color:var(--brand-logo-blue);color:#fff;background:var(--brand-logo-blue)}
    .planning-schedule-return-button:hover,.planning-schedule-return-button:focus-visible{border-color:var(--brand-logo-blue-strong);background:var(--brand-logo-blue-strong);color:#fff}
    .planning-schedule-room-controls{display:grid;gap:8px;margin-bottom:12px}
    .planning-schedule-room-box{display:grid;gap:10px;margin-bottom:10px}
    .planning-schedule-room-box-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:flex-start;gap:12px;border-bottom:1px solid #d6e1f0;padding-bottom:10px}
    .planning-schedule-room-box-head>div:first-child{grid-column:1}
    .planning-schedule-room-box-head strong{display:block;font:800 15px/1.25 var(--font-ui);color:var(--ink)}
    .planning-schedule-room-box-head span{display:block;margin-top:3px;color:var(--ink2);font-size:12px;line-height:1.35}
    .planning-schedule-room-selected{grid-column:2;justify-self:center;display:flex;align-items:center;min-height:38px;border:1px solid #9bb7dd;border-radius:8px;background:#eef6ff;color:#1f4b87;padding:8px 16px;font:900 13px/1.2 var(--font-ui);white-space:nowrap}
    .planning-schedule-room-recommendation{grid-column:3;justify-self:end;align-self:stretch;display:flex;align-items:center;min-height:38px;max-width:430px;border:1px solid #c7d7ee;border-radius:8px;background:#eef6ff;color:#16345f;padding:8px 10px;font:800 11px/1.3 var(--font-ui)}
    .planning-schedule-room-recommendation.is-ok{border-color:#b7dcc3;background:#effaf4;color:#176b34}
    .planning-schedule-room-recommendation.is-warning{border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-schedule-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;max-height:180px;overflow:auto;padding:2px}
    .planning-schedule-room-button{display:grid;gap:2px;min-width:0;text-align:left;line-height:1.22;white-space:normal}
    .planning-schedule-room-button span{font-size:10px;line-height:1.25;opacity:.86}
    .planning-schedule-room-button.is-room-recommended{box-shadow:inset 0 0 0 2px #1f4b87,0 10px 18px rgba(31,75,135,.12)}
    .planning-schedule-room-button.is-room-less-suitable{opacity:.58}
    .planning-schedule-room-button.is-room-less-suitable:hover,.planning-schedule-room-button.is-room-less-suitable:focus-visible{opacity:.92}
    .planning-schedule-room-button.is-room-warning{opacity:1;box-shadow:inset 0 0 0 2px #d69e2e,0 10px 18px rgba(214,158,46,.16)}
    .planning-schedule-room-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:9px 10px;border:1px solid #b7dcc3;border-radius:8px}
    .planning-schedule-room-summary strong{font:700 13px/1.25 var(--font-ui)}
    .planning-schedule-room-summary span{font-size:12px;line-height:1.35}
    .planning-schedule-room-busy-days{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
    .planning-schedule-room-busy-days strong{font:900 11px/1.2 var(--font-ui);color:currentColor}
    .planning-schedule-room-busy-days.is-empty span{color:var(--ink2);font-size:11px}
    .planning-schedule-room-busy-day,.planning-schedule-room-busy-more{display:inline-flex;align-items:center;min-height:24px;border:1px solid #e8c47a;border-radius:999px;background:#fff;color:#7c4a03;padding:4px 8px;font:900 10.5px/1.1 var(--font-ui)}
    .planning-schedule-room-busy-day{cursor:pointer}
    .planning-schedule-room-busy-day:hover,.planning-schedule-room-busy-day:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(214,158,46,.24)}
    .planning-schedule-room-busy-day.is-past{border-color:#e58b8b;background:#fdecea;color:#7f1d1d;cursor:not-allowed}
    .planning-schedule-module-picker>.planning-schedule-calendar-back-row,.planning-schedule-module-readiness>.planning-schedule-readiness,.planning-schedule-module-support>.planning-schedule-selected-summary,.planning-schedule-module-support>.planning-schedule-request-shortcuts,.planning-schedule-room-box>.planning-schedule-room-grid,.planning-schedule-room-box>.planning-schedule-room-summary{grid-area:auto}
    .planning-schedule-monthbar{margin:0 0 10px}
    .planning-schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:8px}
    .planning-schedule-calendar-head{color:var(--ink3);font-size:11px;font-weight:700;text-align:center;text-transform:uppercase}
    .planning-schedule-day{min-height:96px;border:1px solid var(--border);border-radius:8px;background:#fbfcff;padding:8px;display:grid;gap:8px;min-width:0}
    .planning-schedule-day-button{width:100%;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
    .planning-schedule-day-button.is-free{border-color:#9fd3ad;background:#f0fbf4}
    .planning-schedule-day-button.is-partial{border-color:#e8c47a;background:#fff7e6}
    .planning-schedule-day-button.is-full{border-color:#e58b8b;background:#fdecea}
    .planning-schedule-day-button.has-requests:not(.is-planned):not(.is-selected){border-color:#b794f4;background:#f3e8ff;color:#4c1d95}
    .planning-schedule-day-button.has-room-busy.has-requests:not(.is-planned):not(.is-selected){border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-schedule-day-button.is-planned,.planning-schedule-day-button.is-selected{border-color:#1f4b87;background:#dbeafe;color:#16345f;box-shadow:inset 0 0 0 2px #1f4b87}
    .planning-schedule-day-button.is-selected{background:#bfdbfe}
    .planning-schedule-day-button.is-planned .planning-schedule-day-meta,.planning-schedule-day-button.is-selected .planning-schedule-day-meta,.planning-schedule-day-button.is-planned .planning-schedule-day-head,.planning-schedule-day-button.is-selected .planning-schedule-day-head,.planning-schedule-day-button.is-planned .planning-schedule-day-head strong,.planning-schedule-day-button.is-selected .planning-schedule-day-head strong{color:#16345f}
    .planning-schedule-day-button.has-requests .planning-schedule-day-meta{color:#5b21b6}
    .planning-schedule-day-button.is-past,.planning-schedule-day-button.is-past.is-planned,.planning-schedule-day-button.is-past.is-selected{border-color:#e58b8b;background:#fdecea;color:#7f1d1d;box-shadow:none;cursor:not-allowed}
    .planning-schedule-day-button.is-past .planning-schedule-day-head,.planning-schedule-day-button.is-past .planning-schedule-day-head strong,.planning-schedule-day-button.is-past .planning-schedule-day-meta{color:#7f1d1d}
    .planning-schedule-day-button.is-past:disabled{opacity:1}
    .planning-schedule-day-button.has-room-busy:not(.is-selected):not(.is-planned){box-shadow:inset 0 -4px 0 #d69e2e}
    .planning-schedule-day-button.is-past.has-room-busy{box-shadow:inset 0 -4px 0 #d69e2e!important}
    .planning-schedule-day-busy-badge{display:inline-flex;align-items:center;align-self:flex-start;margin-top:2px;border:1px solid #e8c47a;border-radius:999px;background:#fff7e6;color:#7c4a03;padding:3px 7px;font:900 10px/1.1 var(--font-ui)}
    .planning-schedule-day.is-outside{background:transparent;border-color:transparent}
    .planning-schedule-day.is-today{border-color:#1f4b87}
    .planning-schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;color:var(--ink2)}
    .planning-schedule-day-head strong{color:var(--ink);font-size:13px}
    .planning-schedule-day-meta{font-size:11px;line-height:1.3;color:var(--ink2)}
    .planning-schedule-day-detail{display:grid;gap:10px;margin-top:12px;border:1px solid var(--border);border-radius:8px;background:#fbfcff;padding:12px}
    .planning-schedule-day-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
    .planning-schedule-day-detail-head strong{display:block;font:800 13px/1.25 var(--font-ui)}
    .planning-schedule-day-detail-head span{display:block;margin-top:2px;font-size:11px;line-height:1.35;color:var(--ink2)}
    .planning-schedule-expanded-slots{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
    .planning-schedule-slot-list{display:grid;align-content:start;gap:6px;min-width:0}
    .planning-schedule-slot{display:grid;gap:2px;width:100%;min-width:0;text-align:left;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:var(--ink);padding:7px 8px;font:inherit;font-size:11px;line-height:1.25;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}
    .planning-schedule-slot strong{font-size:12px}
    .planning-schedule-slot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .planning-schedule-slot.is-compatible{border-color:#84c89a;background:#eaf8ef;color:#1f5d3a}
    .planning-schedule-slot.is-teacher-only{border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-schedule-slot.is-requested{border-color:#b794f4;background:#f3e8ff;color:#4c1d95}
    .planning-schedule-slot.is-open{border-color:#e8c47a;background:#fff7e6;color:#7c4a03}
    .planning-schedule-slot.is-selected{border-color:#1f4b87;background:#dbeafe;color:#16345f;box-shadow:inset 0 0 0 2px #1f4b87}
    .planning-schedule-slot.is-used{border-color:#9bb7dd;background:#eef6ff;color:#1f4b87}
    .planning-schedule-slot.is-conflict,.planning-schedule-slot.is-blocked{border-color:#e58b8b;background:#fdecea;color:#7f1d1d}
    .planning-schedule-slot.is-drop-target{box-shadow:inset 0 0 0 3px #1f4b87}
    .planning-schedule-slot:disabled{cursor:not-allowed;opacity:.72}
    .planning-schedule-calendar-empty{border:1px dashed var(--border);border-radius:8px;padding:18px;color:var(--ink2);text-align:center;background:#fbfcff}
    #pg-planning.active{padding-top:18px}
    #pg-planning>.planning-summary-strip{grid-template-columns:repeat(8,minmax(112px,1fr));gap:7px;margin-bottom:10px}
    #pg-planning>.planning-summary-strip>.metric{height:64px;padding:7px 9px;border-radius:8px}
    #pg-planning>.planning-summary-strip .metric-label{margin-bottom:2px;font-size:9.5px;line-height:1.12}
    #pg-planning>.planning-summary-strip .metric-value{font-size:15px;line-height:1.05}
    #pg-planning>.planning-summary-strip .metric-sub{margin-top:2px;font-size:10px;line-height:1.2;-webkit-line-clamp:1}
    #pg-planning .planning-tabs-card{padding:12px 14px;margin-bottom:10px}
    #pg-planning .planning-tabs-card .card-head{margin-bottom:8px}
    #planning-workspace-tabs{gap:6px;padding:6px;border-radius:10px}
    #planning-workspace-tabs .finance-subtab{min-height:38px;border-radius:8px;padding:7px 9px;font-size:11px}
    #planning-schedule-card{padding:16px}
    #planning-schedule-card .card-head{margin-bottom:10px}
    #planning-schedule-card .planning-schedule-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
    #planning-schedule-card .planning-schedule-metrics .metric{height:78px;padding:8px 10px}
    #planning-schedule-card .planning-schedule-metrics .metric-label{margin-bottom:3px;font-size:10.5px;line-height:1.2}
    #planning-schedule-card .planning-schedule-metrics .metric-value{font-size:17px}
    #planning-schedule-card .planning-schedule-metrics .metric-sub{margin-top:3px;font-size:11px;line-height:1.3;-webkit-line-clamp:1}
    #planning-schedule-card .planning-schedule-flow{grid-template-columns:repeat(5,minmax(92px,1fr));gap:6px;margin-bottom:10px}
    #planning-schedule-card .planning-schedule-flow-step{gap:2px;padding:7px 9px;border-radius:7px}
    #planning-schedule-card .planning-schedule-flow-step:not(:last-child)::after{right:-6px;width:6px}
    #planning-schedule-card .planning-schedule-flow-step strong{font-size:11px}
    #planning-schedule-card .planning-schedule-flow-step span{font-size:10px;line-height:1.2}
    #planning-schedule-card .planning-schedule-workbench{grid-template-columns:minmax(230px,.55fr) minmax(0,1.75fr);gap:12px}
    #planning-schedule-card .planning-schedule-bank,#planning-schedule-card .planning-schedule-calendar-panel{padding:10px}
    #planning-schedule-card .planning-schedule-bank{gap:8px}
    #planning-schedule-card .planning-schedule-search{margin-bottom:8px}
    #planning-schedule-card .planning-module-pager{margin-bottom:8px}
    #planning-schedule-card .planning-schedule-module-list{gap:8px;max-height:590px}
    #planning-schedule-card .planning-schedule-instruction-box{margin-bottom:8px;padding:9px 10px}
    #planning-schedule-card .planning-schedule-module-picker{gap:9px;margin-bottom:8px;padding:10px}
    #planning-schedule-card .planning-schedule-module-picker.is-allocation-dashboard{gap:10px;margin:8px 0 10px;padding:12px}
    #planning-schedule-card .planning-schedule-module-picker-head{gap:8px;padding:0 0 9px}
    #planning-schedule-card .planning-schedule-module-picker-head strong{font-size:14px}
    #planning-schedule-card .planning-schedule-module-picker-head span{font-size:11px;line-height:1.25}
    #planning-schedule-card .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-module-picker-head strong{font-size:17px}
    #planning-schedule-card .planning-schedule-module-picker.is-allocation-dashboard .planning-schedule-module-picker-head span{font-size:12.5px;line-height:1.32}
    #planning-schedule-card .planning-schedule-module-picker-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;max-height:160px;overflow:auto;padding-right:2px}
    #planning-schedule-card .planning-schedule-module-support{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr)}
    #planning-schedule-card .planning-schedule-tally-row{gap:6px;min-width:180px}
    #planning-schedule-card .planning-schedule-tally-row span{padding:7px 9px;font-size:11.5px}
    #planning-schedule-card .planning-schedule-tally-row strong{font-size:14px}
    #planning-schedule-card .planning-schedule-calendar-toolbar{align-items:center;gap:8px;margin-bottom:8px}
    #planning-schedule-card .planning-schedule-calendar-toolbar .card-sub{font-size:11px;line-height:1.25}
    #planning-schedule-card .planning-schedule-calendar-back-row{gap:8px;justify-content:flex-start}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-calendar-back-row{grid-area:module}
    #planning-schedule-card .planning-schedule-calendar-back-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    #planning-schedule-card .planning-schedule-calendar-back-row .planning-class-type-line{overflow:visible;white-space:normal}
    #planning-schedule-card .planning-schedule-calendar-back-row .planning-class-type-line__label,#planning-schedule-card .planning-schedule-calendar-back-row .planning-class-type-chip,#planning-schedule-card .planning-schedule-calendar-back-row .planning-class-type-chip strong,#planning-schedule-card .planning-schedule-calendar-back-row .planning-class-type-chip small{overflow:visible;text-overflow:clip;white-space:nowrap}
    #planning-schedule-card .planning-schedule-room-controls{grid-template-columns:minmax(0,1fr) minmax(260px,auto);grid-template-areas:"readiness readiness" "module tally" "selected selected" "requests legend" "hint summary" "rooms rooms";align-items:start;gap:8px 12px;margin-bottom:10px}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-tally-row{grid-area:tally;justify-content:flex-end;align-items:stretch}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-request-shortcuts{grid-area:requests}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-legend{grid-area:legend}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-readiness{grid-area:readiness}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-selected-summary{grid-area:selected}
    #planning-schedule-card .planning-schedule-room-controls>.card-sub{grid-area:hint;align-self:center;margin:0}
    #planning-schedule-card .planning-schedule-room-box{gap:9px;margin-bottom:8px;padding:10px}
    #planning-schedule-card .planning-schedule-room-box-head{padding-bottom:9px}
    #planning-schedule-card .planning-schedule-room-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;min-height:340px;max-height:min(46vh,460px)}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-room-grid{grid-area:rooms}
    #planning-schedule-card .planning-schedule-room-button{min-height:70px;padding:8px 9px}
    #planning-schedule-card .planning-schedule-room-button strong{font-size:12px;line-height:1.2}
    #planning-schedule-card .planning-schedule-room-button span{font-size:9px;line-height:1.25}
    #planning-schedule-card .planning-schedule-room-summary{gap:8px;justify-content:flex-start;padding:7px 9px}
    #planning-schedule-card .planning-schedule-room-controls>.planning-schedule-room-summary{grid-area:summary}
    #planning-schedule-card .planning-schedule-room-summary span{font-size:11px;line-height:1.25}
    #planning-schedule-card .planning-schedule-calendar-grid{grid-template-columns:repeat(7,minmax(90px,1fr));gap:6px}
    #planning-schedule-card .planning-schedule-day{min-height:96px;padding:8px;gap:6px}
    #planning-schedule-card .planning-schedule-day-head{font-size:12.5px;font-weight:800}
    #planning-schedule-card .planning-schedule-day-head strong{font-size:15px}
    #planning-schedule-card .planning-schedule-day-meta{font-size:11.5px;line-height:1.3;font-weight:700}
    #planning-schedule-card .planning-schedule-day-busy-badge{padding:4px 8px;font-size:11px}
    #planning-schedule-card .planning-schedule-day-detail{gap:8px;margin-top:8px;padding:10px}
    #planning-schedule-card .planning-schedule-expanded-slots{grid-template-columns:repeat(auto-fit,minmax(136px,1fr))}
    .planning-plan-calendar{display:grid;gap:10px}
    .planning-plan-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:9px 10px}
    .planning-plan-filters{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(140px,1fr));gap:8px;flex:1 1 760px;min-width:0}
    .planning-plan-filter{display:grid;gap:4px;min-width:0}
    .planning-plan-filter span{color:var(--ink3);font:800 9px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.04em}
    .planning-plan-filter select,.planning-plan-filter input{width:100%;min-width:0;height:34px;border:1px solid var(--border2);border-radius:7px;background:#fff;color:var(--ink);padding:5px 8px;font:600 12px/1.2 var(--font-ui)}
    .planning-plan-summary{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
    .planning-plan-summary span{display:grid;gap:1px;min-width:72px;border:1px solid #d4deec;border-radius:7px;background:#fff;padding:5px 7px;color:var(--ink3);font-size:10px;line-height:1.2;text-align:right}
    .planning-plan-summary strong{color:#1f4b87;font:800 14px/1.1 var(--font-ui)}
    .planning-plan-monthbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #c7d7ee;border-radius:8px;background:#eef6ff;padding:9px 10px}
    .planning-plan-month-title{display:grid;place-items:center;min-height:42px;border:1px solid #bfdbfe;border-radius:8px;background:#fff;color:#1f4b87;padding:6px 12px;text-align:center}
    .planning-plan-month-title strong{font:900 22px/1.1 var(--font-ui);color:#1f4b87}
    .planning-plan-month-nav{min-width:48px;height:42px;border-color:#1f4b87!important;background:#1f4b87!important;color:#fff!important;font:900 20px/1 var(--font-ui);box-shadow:0 7px 16px rgba(31,75,135,.18)}
    .planning-plan-month-nav:hover{border-color:#163a6e!important;background:#163a6e!important}
    .planning-plan-grid{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:6px}
    .planning-plan-head{color:var(--ink3);font:800 10px/1.2 var(--font-ui);text-align:center;text-transform:uppercase}
    .planning-plan-day{min-width:0}
    .planning-plan-day-button{position:relative;display:grid;align-content:start;gap:5px;min-height:92px;border:1px solid #d6e1f0;border-radius:7px;background:#fff;color:var(--ink);padding:8px;text-align:left;cursor:pointer;font:inherit;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
    .planning-plan-day-button.has-sessions{border-color:#9bb7dd;background:#eef6ff}
    .planning-plan-day-button.is-load-light{background:#eef6ff}
    .planning-plan-day-button.is-load-medium{background:#fff7e6;border-color:#e8c47a}
    .planning-plan-day-button.is-load-heavy{background:var(--purpleBg);border-color:var(--purpleBorder)}
    .planning-plan-day-button.is-empty{background:#fbfcff;color:var(--ink3)}
    .planning-plan-day-button.is-selected{border-color:#1f4b87;background:#dbeafe;box-shadow:inset 0 0 0 2px #1f4b87}
    .planning-plan-day-button.is-today:not(.is-selected){border-color:#1f4b87}
    .planning-plan-day-button.is-past:not(.is-selected){border-color:#d6e1f0;background:#fbfcff}
    .planning-plan-day-button.is-past.has-sessions:not(.is-selected){border-color:#9bb7dd;background:#eef6ff}
    .planning-plan-day-button.is-past.is-load-medium:not(.is-selected){border-color:#e8c47a;background:#fff7e6}
    .planning-plan-day-button.is-past.is-load-heavy:not(.is-selected){border-color:var(--purpleBorder);background:var(--purpleBg)}
    .planning-plan-day-button:hover{border-color:#1f4b87}
    .planning-plan-day.is-outside{min-height:96px;border:1px dashed transparent}
    .planning-plan-day-number{font:800 13px/1 var(--font-ui);color:var(--ink)}
    .planning-plan-day-button.is-past .planning-plan-day-number{color:#b91c1c}
    .planning-plan-day-past-dot{position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.14)}
    .planning-plan-day-button.is-selected .planning-plan-day-past-dot{box-shadow:0 0 0 2px #dbeafe}
    .planning-plan-day-meta{font-size:10px;line-height:1.25;color:var(--ink2)}
    .planning-plan-day-count{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:5px;justify-self:start;border:1px solid rgba(31,75,135,.16);border-radius:999px;background:rgba(255,255,255,.76);padding:3px 7px;color:#1f4b87}
    .planning-plan-day-count strong{font:900 12px/1 var(--font-ui);color:#1f4b87}
    .planning-plan-day-count small{font:800 9px/1 var(--font-ui);color:#5d7190}
    .planning-plan-chip{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(31,75,135,.14);border-radius:6px;background:rgba(255,255,255,.82);padding:3px 5px;color:#1f365f;font-size:10px;line-height:1.2}
    .planning-plan-chip strong{margin-right:4px;color:#1f4b87}
    .planning-plan-more{color:#1f4b87;font:800 10px/1.2 var(--font-ui)}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past){border-color:#1f4b87;background:#1f4b87;color:#fff;box-shadow:none}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-day-number,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-day-meta,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-more{color:#fff}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-day-count,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-chip{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.14);color:#fff}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-day-count strong,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-day-count small,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past) .planning-plan-chip strong{color:#fff}
    .my-plan-view-planning-calendar .planning-plan-day-button.is-past,
    .my-plan-view-planning-calendar .planning-plan-day-button.is-past.has-sessions,
    .my-plan-view-planning-calendar .planning-plan-day-button.is-past.is-load-light,
    .my-plan-view-planning-calendar .planning-plan-day-button.is-past.is-load-medium,
    .my-plan-view-planning-calendar .planning-plan-day-button.is-past.is-load-heavy{border-color:#d6e1f0;background:#fbfcff;color:var(--ink2);box-shadow:none}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible{outline:none;border-color:#1f4b87;background:#dbeafe;color:#16345f;box-shadow:inset 0 0 0 2px #1f4b87}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-day-number,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-day-meta,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-more,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-day-number,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-day-meta,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-more{color:#16345f}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-day-count,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-chip,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-day-count,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-chip{border-color:rgba(31,75,135,.16);background:rgba(255,255,255,.76);color:#1f4b87}
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-day-count strong,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-day-count small,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):hover .planning-plan-chip strong,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-day-count strong,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-day-count small,
    .my-plan-view-planning-calendar .planning-plan-day-button:not(.is-past):focus-visible .planning-plan-chip strong{color:#1f4b87}
    .planning-plan-day-panel{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px}
    .planning-plan-day-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .planning-plan-day-panel__head strong{display:block;font:900 18px/1.2 var(--font-ui);color:var(--ink)}
    .planning-plan-day-panel__head span{display:block;margin-top:3px;color:var(--ink2);font-size:13px;line-height:1.3}
    .planning-plan-day-list{display:grid;gap:6px}
    .planning-plan-room-picker{display:grid;gap:10px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff;padding:10px}
    .planning-plan-room-picker__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .planning-plan-room-picker__head strong{font:900 15px/1.2 var(--font-ui);color:#16345f}
    .planning-plan-room-picker__head span{color:var(--ink2);font-size:12px;line-height:1.3}
    .planning-plan-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
    .planning-plan-room-card{display:grid;gap:3px;min-height:72px;border:1px solid #9bb7dd;border-radius:7px;background:#fff;color:#16345f;padding:9px 10px;text-align:left;font:inherit;cursor:pointer}
    .planning-plan-room-card:hover,.planning-plan-room-card:focus-visible{outline:none;border-color:#1f4b87;box-shadow:0 0 0 2px rgba(31,75,135,.16)}
    .planning-plan-room-card.active{border-color:#1f4b87;background:#dbeafe;box-shadow:inset 0 0 0 2px #1f4b87}
    .planning-plan-room-card strong{font:900 13px/1.2 var(--font-ui);color:#16345f}
    .planning-plan-room-card span,.planning-plan-room-card small{font-size:11px;line-height:1.25;color:#5d7190}
    .planning-plan-room-day{display:grid;gap:10px;margin-top:6px}
    .planning-plan-room-day__head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .planning-plan-room-day__head strong{font:900 16px/1.2 var(--font-ui);color:#16345f}
    .planning-plan-room-day__head span{font-size:12px;color:var(--ink2)}
    .planning-plan-day-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
    .planning-plan-day-column{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff;padding:10px}
    .planning-plan-day-column-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;border-bottom:1px solid #d6e1f0;padding:0 2px 8px;color:#1f4b87}
    .planning-plan-day-column-head strong{font:900 15px/1.2 var(--font-ui);color:#1f4b87}
    .planning-plan-day-column-head span{font:800 11px/1.2 var(--font-ui);color:#5d7190}
    .planning-plan-day-column-list{display:grid;gap:8px;align-content:start;min-width:0;max-height:620px;overflow:auto;padding-right:2px}
    .planning-plan-slot{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:stretch;border:1px solid #d6e1f0;border-radius:7px;background:#fff;padding:9px 10px}
    .planning-plan-slot.is-busy{border-color:#9bb7dd;background:#eef6ff}
    .planning-plan-slot.is-continuing{border-color:#d6e1f0;background:#f8fafc}
    .planning-plan-slot.is-free{border-style:dashed;background:#fbfcff}
    .planning-plan-slot-time{display:grid;align-content:center;gap:3px;color:#1f4b87}
    .planning-plan-slot-time strong{font:900 16px/1.15 var(--font-ui)}
    .planning-plan-slot-time span{color:var(--ink3);font-size:12px;line-height:1.2}
    .planning-plan-slot-items{display:grid;gap:7px;min-width:0}
    .planning-plan-slot-session.planning-plan-session{grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);gap:12px;align-items:center;border-color:#9bb7dd;background:#fff;padding:10px 12px;min-height:58px}
    .planning-plan-slot-session-main{display:grid;gap:3px;min-width:0}
    .planning-plan-slot-session-main strong{min-width:0;white-space:normal;font:900 15px/1.25 var(--font-ui);color:var(--ink)}
    .planning-plan-slot-session-tags{display:flex;gap:7px;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;min-width:0}
    .planning-plan-slot-session-tags span{display:grid;gap:2px;min-width:116px;border:1px solid #d6e1f0;border-radius:7px;background:#f8fbff;padding:6px 8px;color:#16345f}
    .planning-plan-slot-session-tags small{font:800 9px/1.1 var(--font-ui);text-transform:uppercase;color:#5d7190}
    .planning-plan-slot-session-tags strong{font:800 12px/1.25 var(--font-ui);color:#16345f;white-space:normal}
    .planning-plan-slot-continuation,.planning-plan-slot-free{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:rgba(255,255,255,.74);padding:10px 12px;color:var(--ink2);font-size:13px;line-height:1.3}
    .planning-plan-slot-continuation strong{color:#1f4b87;font:900 13px/1.2 var(--font-ui)}
    .planning-plan-slot-continuation span{min-width:0;white-space:normal}
    .planning-plan-session{display:grid;grid-template-columns:minmax(110px,.18fr) minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d6e1f0;border-radius:7px;background:#f8fafc;padding:8px 10px}
    .planning-plan-session-time{display:grid;gap:2px;color:#1f4b87}
    .planning-plan-session-time strong{font:800 13px/1.2 var(--font-ui)}
    .planning-plan-session-time span{font-size:11px;color:var(--ink3)}
    .planning-plan-session-main{display:grid;gap:2px;min-width:0}
    .planning-plan-session-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 13px/1.2 var(--font-ui);color:var(--ink)}
    .planning-plan-session-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2);font-size:12px;line-height:1.25}
    .planning-plan-empty-day{border:1px dashed var(--border);border-radius:7px;background:#fbfcff;color:var(--ink2);padding:14px;text-align:center}
    .planning-schedule-wrap{max-height:560px;overflow:auto}
    .planning-schedule-wrap .dean-table{min-width:1600px;table-layout:fixed}
    .planning-schedule-wrap .dean-table th:nth-child(1),.planning-schedule-wrap .dean-table td:nth-child(1){width:150px}
    .planning-schedule-wrap .dean-table th:nth-child(2),.planning-schedule-wrap .dean-table td:nth-child(2){width:210px}
    .planning-schedule-wrap .dean-table th:nth-child(3),.planning-schedule-wrap .dean-table td:nth-child(3){width:180px}
    .planning-schedule-wrap .dean-table th:nth-child(4),.planning-schedule-wrap .dean-table td:nth-child(4){width:148px}
    .planning-schedule-wrap .dean-table th:nth-child(5),.planning-schedule-wrap .dean-table td:nth-child(5){width:128px}
    .planning-schedule-wrap .dean-table th:nth-child(6),.planning-schedule-wrap .dean-table td:nth-child(6){width:124px}
    .planning-schedule-wrap .dean-table th:nth-child(7),.planning-schedule-wrap .dean-table td:nth-child(7){width:184px}
    .planning-schedule-wrap .dean-table th:nth-child(8),.planning-schedule-wrap .dean-table td:nth-child(8){width:230px}
    .planning-schedule-wrap .dean-table th:nth-child(9),.planning-schedule-wrap .dean-table td:nth-child(9){width:132px}
    .planning-schedule-wrap .cell-input,.planning-schedule-wrap .cell-select{min-width:0;width:100%}
    .planning-schedule-wrap .js-planning-schedule-blocks,.planning-module-edit-stack .js-planning-module-schedule-blocks{min-width:156px}
    .planning-practical-metrics{margin-bottom:14px}
    .planning-practical-workbench{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.55fr);gap:16px;align-items:start;margin-bottom:14px}
    .planning-practical-bank,.planning-practical-planner-panel,.planning-practical-module-panel{border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px;min-width:0}
    .planning-practical-bank{display:grid;gap:12px}
    .planning-practical-bank .planning-schedule-scope-filters{margin:0}
    .planning-practical-bank .planning-filter-toolbar{margin:0}
    .planning-practical-bank .fees-program-grid{grid-template-columns:1fr}
    .planning-practical-panel-head{display:grid;gap:3px;border-bottom:1px solid #d6e1f0;padding-bottom:10px;margin-bottom:10px}
    .planning-practical-panel-head strong{font:800 14px/1.2 var(--font-ui);color:var(--ink)}
    .planning-practical-panel-head span{font-size:12px;line-height:1.35;color:var(--ink2)}
    .planning-practical-module-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:2px}
    .planning-practical-module-card{display:grid;gap:4px;width:100%;min-width:0;text-align:left;border:1px solid var(--border);border-radius:8px;background:#fbfcff;color:var(--ink);padding:10px 11px;font:inherit;cursor:pointer}
    .planning-practical-module-card:hover,.planning-practical-module-card:focus-visible{outline:none;border-color:#9bb7dd;box-shadow:0 8px 20px rgba(31,75,135,.12)}
    .planning-practical-module-card.active{border-color:#1f4b87;background:#eef6ff;box-shadow:inset 0 0 0 2px rgba(31,75,135,.18)}
    .planning-practical-module-card.is-complete{border-color:#9fd3ad;background:#f0fbf4}
    .planning-practical-module-card.is-partial{border-color:#e8c47a;background:#fff7e6}
    .planning-practical-module-card.is-over{border-color:#f1a5a5;background:#fff1f2}
    .planning-practical-module-card strong{font:800 12.5px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-practical-module-card span,.planning-practical-module-card small{font-size:11px;line-height:1.35;color:var(--ink2)}
    .planning-practical-planner{display:grid;gap:10px}
    .planning-practical-instruction{margin:0}
    .planning-practical-institution-box{margin:0}
    .planning-practical-institution-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-height:230px}
    .planning-practical-institution-button{min-height:72px;padding:8px 10px}
    .planning-practical-calendar-grid{margin-top:0}
    .planning-practical-quick-form{display:grid;gap:10px;border:1px solid #c7d7ee;border-radius:8px;background:#fbfcff;padding:12px;margin-top:10px}
    .planning-practical-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #d6e1f0;padding-bottom:10px}
    .planning-practical-quick-head strong{display:block;font:900 13px/1.25 var(--font-ui);color:var(--ink)}
    .planning-practical-quick-head span{display:block;margin-top:3px;font-size:12px;line-height:1.35;color:var(--ink2)}
    .planning-practical-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:end}
    .planning-practical-quick-grid .fg{min-width:0;width:100%}
    .planning-practical-quick-grid .cell-input,.planning-practical-quick-grid .cell-select{width:100%;min-width:0}
    .planning-practical-day-list{display:grid;gap:6px;border-top:1px solid #d6e1f0;padding-top:10px}
    .planning-practical-day-list>strong{font:900 12px/1.25 var(--font-ui);color:var(--ink)}
    .planning-practical-day-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;border:1px solid rgba(148,163,184,.28);border-radius:7px;background:#fff;padding:7px 9px}
    .planning-practical-day-entry strong{font:800 12px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-practical-day-entry span{font-size:11px;line-height:1.35;color:var(--ink2)}
    @media (max-width:980px){.planning-practical-workbench{grid-template-columns:1fr}.planning-practical-bank .fees-program-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.planning-practical-institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-practical-day-entry{grid-template-columns:1fr}.planning-practical-day-entry .btn{justify-self:start}}
    @media (max-width:640px){.planning-practical-institution-grid,.planning-practical-quick-grid{grid-template-columns:1fr}.planning-practical-quick-head{display:grid}.planning-practical-quick-head .btn{width:100%}}
    .planning-practical-summary{margin:0 0 14px}
    .planning-practical-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
    .planning-practical-summary-card{display:grid;gap:4px;border:1px solid rgba(25,41,72,.12);border-radius:12px;background:#fff;padding:12px;box-shadow:0 8px 18px rgba(12,24,44,.06)}
    .planning-practical-summary-card span{color:var(--brand-logo-blue);font:700 11px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-practical-summary-card strong{color:var(--ink);font:700 15px/1.25 var(--font-ui)}
    .planning-practical-summary-card div{color:var(--ink);font:700 20px/1.1 var(--font-ui)}
    .planning-practical-summary-card small{color:var(--ink2);font-size:12px;line-height:1.35}
    .planning-practical-wrap{max-height:560px;overflow:auto}
    .planning-practical-wrap .dean-table{min-width:1720px;table-layout:fixed}
    .planning-practical-wrap .dean-table th:nth-child(1),.planning-practical-wrap .dean-table td:nth-child(1){width:150px}
    .planning-practical-wrap .dean-table th:nth-child(2),.planning-practical-wrap .dean-table td:nth-child(2){width:210px}
    .planning-practical-wrap .dean-table th:nth-child(3),.planning-practical-wrap .dean-table td:nth-child(3){width:170px}
    .planning-practical-wrap .dean-table th:nth-child(4),.planning-practical-wrap .dean-table td:nth-child(4){width:150px}
    .planning-practical-wrap .dean-table th:nth-child(5),.planning-practical-wrap .dean-table td:nth-child(5){width:100px;text-align:center}
    .planning-practical-wrap .dean-table th:nth-child(6),.planning-practical-wrap .dean-table td:nth-child(6){width:110px;text-align:center}
    .planning-practical-wrap .dean-table th:nth-child(7),.planning-practical-wrap .dean-table td:nth-child(7),.planning-practical-wrap .dean-table th:nth-child(8),.planning-practical-wrap .dean-table td:nth-child(8){width:130px}
    .planning-practical-wrap .dean-table th:nth-child(9),.planning-practical-wrap .dean-table td:nth-child(9){width:170px}
    .planning-practical-wrap .dean-table th:nth-child(10),.planning-practical-wrap .dean-table td:nth-child(10){width:150px}
    .planning-practical-wrap .dean-table th:nth-child(11),.planning-practical-wrap .dean-table td:nth-child(11){width:230px}
    .planning-practical-wrap .dean-table th:nth-child(12),.planning-practical-wrap .dean-table td:nth-child(12){width:136px}
    .planning-practical-wrap .cell-input,.planning-practical-wrap .cell-select{min-width:0;width:100%}
    .planning-translator-metrics{margin-bottom:14px}
    .planning-translator-search{max-width:460px;margin:0 0 12px}
    .planning-translator-module-flags{margin:0 0 14px}
    .planning-translator-module-box{border:1px solid rgba(232,196,122,.9);border-radius:8px;background:linear-gradient(180deg,#fff9e8 0%,#fffdf6 100%);padding:12px;display:grid;gap:10px}
    .planning-translator-module-box__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .planning-translator-module-box__head strong{display:block;color:var(--ink);font:800 14px/1.2 var(--font-ui)}
    .planning-translator-module-box__head span{display:block;color:var(--ink2);font-size:12px;line-height:1.35}
    .planning-translator-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;max-height:220px;overflow:auto;padding:1px}
    .planning-translator-module-flag{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"check text" "check state";gap:3px 9px;align-items:start;border:1px solid rgba(232,196,122,.85);border-radius:8px;background:#fff;padding:9px 10px;cursor:pointer}
    .planning-translator-module-flag.is-required{border-color:#1f5da8;background:#eef6ff}
    .planning-translator-module-flag input{grid-area:check;width:17px;height:17px;margin:1px 0 0;accent-color:#1f5da8}
    .planning-translator-module-flag span{grid-area:text;display:grid;gap:3px;min-width:0}
    .planning-translator-module-flag strong{color:var(--ink);font:800 13px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-module-flag small{color:var(--ink2);font-size:11px;line-height:1.3;overflow-wrap:anywhere}
    .planning-translator-module-flag em{grid-area:state;color:#1f365f;font:800 11px/1.25 var(--font-ui);font-style:normal;overflow-wrap:anywhere}
    .planning-translator-module-more{display:flex;align-items:center;justify-content:center;border:1px dashed rgba(232,196,122,.9);border-radius:8px;color:var(--ink2);font:800 12px/1.25 var(--font-ui);padding:10px;background:#fffdf6}
    .planning-translator-wrap{max-height:560px;overflow:auto}
    .planning-translator-wrap .dean-table{min-width:1840px;table-layout:fixed}
    .planning-translator-wrap .dean-table th:nth-child(1),.planning-translator-wrap .dean-table td:nth-child(1){width:290px}
    .planning-translator-wrap .dean-table th:nth-child(2),.planning-translator-wrap .dean-table td:nth-child(2){width:190px}
    .planning-translator-wrap .dean-table th:nth-child(3),.planning-translator-wrap .dean-table td:nth-child(3){width:190px}
    .planning-translator-wrap .dean-table th:nth-child(4),.planning-translator-wrap .dean-table td:nth-child(4){width:130px}
    .planning-translator-wrap .dean-table th:nth-child(5),.planning-translator-wrap .dean-table td:nth-child(5){width:165px}
    .planning-translator-wrap .dean-table th:nth-child(6),.planning-translator-wrap .dean-table td:nth-child(6){width:220px}
    .planning-translator-wrap .dean-table th:nth-child(7),.planning-translator-wrap .dean-table td:nth-child(7){width:110px}
    .planning-translator-wrap .dean-table th:nth-child(8),.planning-translator-wrap .dean-table td:nth-child(8){width:140px}
    .planning-translator-wrap .dean-table th:nth-child(9),.planning-translator-wrap .dean-table td:nth-child(9){width:240px;white-space:normal;overflow-wrap:anywhere}
    .planning-translator-wrap .dean-table th:nth-child(10),.planning-translator-wrap .dean-table td:nth-child(10){width:170px}
    .planning-translator-wrap .cell-input,.planning-translator-wrap .cell-select{min-width:0;width:100%}
    .planning-translator-wrap .planning-compare-actions{display:grid;grid-template-columns:minmax(96px,1fr);gap:6px;align-items:start}
    .planning-translator-wrap .planning-compare-actions .btn{width:100%;white-space:nowrap;justify-content:center}
    .planning-translator-module-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#1f365f}
    .planning-translator-module-toggle input{width:16px;height:16px;accent-color:#2563eb}
    .planning-translator-assignment{display:grid;gap:3px}
    .planning-translator-assignment strong{color:var(--ink);font:800 12px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-assignment span{color:var(--ink2);font-size:11px;line-height:1.3}
    .planning-translator-assignment.is-open strong{color:#b91c1c}
    .planning-translator-workspace{display:grid;gap:14px}
    .planning-translator-workbench{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start}
    .planning-translator-teacher-list{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}
    .planning-translator-teacher-list__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--border);background:#f8fafc}
    .planning-translator-teacher-list__head strong{color:var(--ink);font:800 13px/1.2 var(--font-ui)}
    .planning-translator-teacher-list__head span{color:var(--ink2);font-size:12px}
    .planning-translator-teacher-scroll{display:grid;gap:8px;max-height:680px;overflow:auto;padding:10px}
    .planning-translator-teacher-card{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;text-align:left;border:1px solid #d6e1f0;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink);cursor:pointer}
    .planning-translator-teacher-card:hover,.planning-translator-teacher-card.is-selected{border-color:#1f5da8;background:#eef6ff}
    .planning-translator-teacher-card.has-open{border-left:4px solid #d97706}
    .planning-translator-teacher-card span{display:grid;gap:2px;min-width:0}
    .planning-translator-teacher-card strong{font:800 13px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-teacher-card small{color:var(--ink2);font-size:11px;line-height:1.25}
    .planning-translator-teacher-card em,.planning-translator-teacher-card b{font-style:normal;font:800 11px/1.25 var(--font-ui);color:#1f365f}
    .planning-translator-teacher-card b{color:#8a4b0a}
    .planning-translator-calendar-wrap{min-width:0}
    .planning-translator-calendar{gap:12px}
    .planning-translator-teacher-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff;padding:9px 10px;color:#1f365f;font:800 12px/1.2 var(--font-ui)}
    .planning-translator-teacher-toggle input{width:17px;height:17px;accent-color:#1f5da8}
    .planning-translator-language-toggles{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff;padding:8px 9px;margin:0;min-width:220px}
    .planning-translator-language-toggles legend{padding:0 3px;color:#1f365f;font:900 11px/1.2 var(--font-ui)}
    .planning-translator-language-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #d6e1f0;border-radius:7px;background:#fff;padding:6px 8px;color:#1f365f;font:800 11px/1.2 var(--font-ui)}
    .planning-translator-language-toggle input{width:16px;height:16px;accent-color:#1f5da8}
    .planning-translator-teacher-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
    .planning-translator-teacher-stats span{display:grid;gap:2px;min-width:70px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fafc;padding:7px 9px;color:var(--ink2);font-size:11px}
    .planning-translator-teacher-stats strong{color:var(--ink);font:900 16px/1 var(--font-ui)}
    .planning-translator-teacher-assignment{display:grid;gap:10px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff;padding:10px}
    .planning-translator-teacher-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px 12px}
    .planning-translator-teacher-summary__main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;min-width:0}
    .planning-translator-teacher-summary__main strong{grid-column:1 / -1;color:var(--ink2);font:900 11px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-translator-teacher-summary__main h3{margin:0;color:var(--ink);font:900 19px/1.15 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-teacher-summary__language{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border:1px solid var(--brand-logo-blue-strong);border-radius:8px;background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);padding:5px 10px;color:#fff!important;font:900 12px/1.15 var(--font-ui);white-space:nowrap}
    .planning-translator-teacher-summary__main small{grid-column:1 / -1;color:var(--ink2);font:800 12px/1.3 var(--font-ui)}
    .planning-translator-teacher-assignment__layout{display:grid;grid-template-columns:minmax(270px,350px) minmax(380px,1fr);gap:10px;align-items:start}
    .planning-translator-person-list{display:grid;gap:0;min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}
    .planning-translator-person-list__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--border);background:#f8fafc}
    .planning-translator-person-list__head strong{color:var(--ink);font:800 12px/1.2 var(--font-ui)}
    .planning-translator-person-list__head span{color:var(--ink2);font-size:11px}
    .planning-translator-person-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:9px;border-bottom:1px solid var(--border);background:#fff}
    .planning-translator-person-filter{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid rgba(25,41,72,.18);border-radius:8px;background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);padding:6px 8px;color:var(--brand-logo-blue);font:800 11px/1.2 var(--font-ui);cursor:pointer;text-align:center}
    .planning-translator-person-filter:hover,.planning-translator-person-filter.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 20px rgba(15,27,52,.16)}
    .planning-translator-person-list__scroll{display:grid;gap:8px;max-height:210px;overflow:auto;padding:9px}
    .planning-translator-person-filter-empty{padding:11px 10px;border:1px dashed var(--border2);border-radius:8px;background:#fff;color:var(--ink3);font:800 11px/1.35 var(--font-ui);text-align:center}
    .planning-translator-person-filter-empty[hidden]{display:none}
    .planning-translator-person-card{display:grid;width:100%;min-width:0;text-align:left;border:1px solid #d6e1f0;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink);cursor:pointer;font:inherit}
    .planning-translator-person-card.is-filter-hidden{display:none}
    .planning-translator-person-card:hover,.planning-translator-person-card.is-selected{border-color:#1f5da8;background:#eef6ff}
    .planning-translator-person-card.is-selected{box-shadow:inset 0 0 0 2px rgba(31,93,168,.18)}
    .planning-translator-person-card.is-company:not(.is-selected){border-left:4px solid var(--brand-logo-blue)}
    .planning-translator-person-card.is-disabled{opacity:.6;cursor:not-allowed}
    .planning-translator-person-card span{display:grid;gap:3px;min-width:0}
    .planning-translator-person-card strong{font:800 13px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-person-card small{color:var(--ink2);font-size:11px;line-height:1.3;overflow-wrap:anywhere}
    .planning-translator-person-panel{display:grid;gap:10px;min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px}
    .planning-translator-person-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .planning-translator-person-panel__head div{display:grid;gap:2px;min-width:0}
    .planning-translator-person-panel__head strong{color:var(--ink);font:900 13px/1.2 var(--font-ui)}
    .planning-translator-person-panel__head span{color:var(--ink2);font-size:12px;line-height:1.3}
    .planning-translator-person-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff;padding:10px 11px;color:var(--ink2)}
    .planning-translator-person-detail strong{grid-column:1 / -1;color:var(--ink);font:900 14px/1.2 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-person-detail span{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
    .planning-translator-person-detail small{align-self:start;border:1px solid rgba(25,41,72,.18);border-radius:999px;background:#eef3fb;padding:3px 7px;color:var(--brand-logo-blue);font:800 10px/1.2 var(--font-ui)}
    .planning-translator-person-detail.is-empty{grid-template-columns:1fr;border-style:dashed;background:#fff}
    .planning-translator-assignment-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .planning-translator-assignment-meta span{display:grid;gap:2px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fafc;padding:8px 10px;color:var(--ink2);font-size:12px}
    .planning-translator-assignment-meta strong{color:var(--ink);font:900 11px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-translator-teacher-assignment__actions{display:flex;justify-content:flex-end}
    .planning-translator-teacher-assignment__fields{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(140px,.7fr) minmax(180px,1fr) auto;gap:8px;align-items:end}
    .planning-translator-teacher-assignment__fields label{display:grid;gap:4px;color:var(--ink2);font:800 10px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-translator-teacher-assignment__fields .cell-input,.planning-translator-teacher-assignment__fields .cell-select{min-width:0;width:100%}
    .planning-translator-teacher-assignment__grid{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(120px,.7fr) minmax(130px,.65fr) minmax(170px,.9fr) auto;gap:8px;align-items:end}
    .planning-translator-teacher-assignment__grid label{display:grid;gap:4px;color:var(--ink2);font:800 10px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-translator-teacher-assignment__grid .cell-input,.planning-translator-teacher-assignment__grid .cell-select{min-width:0;width:100%}
    .planning-translator-day.has-open{box-shadow:inset 0 0 0 2px rgba(217,119,6,.55)}
    .planning-translator-day-panel{padding:12px}
    .planning-translator-day-panel .planning-plan-day-list{display:block}
    .planning-translator-day-panel__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
    .planning-translator-day-panel__title{display:grid;gap:2px;min-width:0}
    .planning-translator-day-panel__title span{margin:0;color:var(--ink2);font:900 11px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-translator-day-panel__title strong{font:900 19px/1.2 var(--font-ui);color:var(--ink)}
    .planning-translator-day-summary{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
    .planning-translator-day-summary span{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fafc;padding:5px 8px;color:var(--ink2);font:800 11px/1.2 var(--font-ui)}
    .planning-translator-day-summary .pill{border-color:var(--brand-logo-blue-soft-border);background:var(--brand-logo-blue-soft-bg);color:var(--brand-logo-blue)}
    .planning-translator-session-list{display:grid;gap:8px}
    .planning-translator-session-card{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(260px,1fr) auto;gap:12px;align-items:center;border:1px solid #d6e1f0;border-radius:8px;background:#fff;padding:10px 12px}
    .planning-translator-session-card.is-open{border-color:#d97706;background:#fff8ed}
    .planning-translator-session-card.is-editing{grid-template-columns:minmax(0,1fr);align-items:stretch;background:#f8fbff}
    .planning-translator-session-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;align-items:center;min-width:0}
    .planning-translator-session-time{display:inline-flex;align-items:center;justify-content:center;min-height:26px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fafc;padding:5px 8px;color:#1f365f;font:900 11px/1.1 var(--font-ui);white-space:nowrap}
    .planning-translator-session-main strong{color:var(--ink);font:900 13px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-translator-session-main span{color:var(--ink2);font-size:12px;line-height:1.3;overflow-wrap:anywhere}
    .planning-translator-session-main .planning-translator-session-time{color:#1f365f;font:900 11px/1.1 var(--font-ui)}
    .planning-translator-session-main>span:last-child{grid-column:1 / -1}
    .planning-translator-session-assignment{display:grid;gap:4px;min-width:0}
    .planning-translator-session-assignment>span{color:var(--ink2);font-size:11px;line-height:1.3}
    .planning-translator-session-editor{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;align-items:end}
    .planning-translator-session-editor label{display:grid;gap:4px;color:var(--ink2);font:800 10px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-translator-session-card .planning-compare-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
    .planning-translator-session-card .cell-input,.planning-translator-session-card .cell-select{min-width:0;width:100%}
    @media (max-width:1100px){
      .planning-translator-workbench{grid-template-columns:1fr}
      .planning-translator-teacher-scroll{max-height:280px}
      .planning-translator-teacher-stats{justify-content:flex-start}
      .planning-translator-teacher-summary{grid-template-columns:1fr}
      .planning-translator-teacher-summary__main{grid-template-columns:1fr}
      .planning-translator-teacher-assignment__layout{grid-template-columns:1fr}
      .planning-translator-person-list__scroll{max-height:220px}
      .planning-translator-teacher-assignment__actions{justify-content:flex-start}
      .planning-translator-teacher-assignment__fields{grid-template-columns:1fr 1fr}
      .planning-translator-teacher-assignment__grid{grid-template-columns:1fr 1fr}
      .planning-translator-day-panel__head{grid-template-columns:1fr}
      .planning-translator-day-summary{justify-content:flex-start}
      .planning-translator-session-card{grid-template-columns:1fr}
      .planning-translator-session-card .planning-compare-actions{justify-content:flex-start}
      .planning-translator-session-editor{grid-template-columns:1fr 1fr}
    }
    @media (max-width:720px){
      .planning-translator-teacher-assignment__fields{grid-template-columns:1fr}
      .planning-translator-teacher-assignment__grid{grid-template-columns:1fr}
      .planning-translator-session-editor{grid-template-columns:1fr}
    }
    .planning-practical-edit-row .planning-module-edit-stack{min-width:120px}
    .planning-room-metrics{margin-bottom:14px}
    .planning-room-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
    .planning-room-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:12px;align-items:end}
    .planning-room-filters .fg{margin:0}
    .planning-room-search{width:min(520px,100%);margin:0}
    .planning-priority-metrics{margin-bottom:14px}
    .planning-priority-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
    .planning-priority-search{width:min(420px,100%);margin:0}
    .planning-priority-list{display:grid;gap:8px;max-height:680px;overflow:auto;padding:2px}
    .planning-priority-item{display:grid;grid-template-columns:34px 54px minmax(0,1fr) minmax(240px,auto);gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 6px 16px rgba(12,24,44,.05)}
    .planning-priority-item:hover{border-color:var(--border2)}
    .planning-priority-item.is-dragging{opacity:.58}
    .planning-priority-item.is-drop-target{border-color:var(--brand-logo-blue);background:var(--brand-logo-blue-soft-bg)}
    .planning-priority-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:34px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:var(--ink3);font:700 12px/1 var(--font-ui);cursor:grab}
    .planning-priority-rank{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:999px;background:var(--brand-logo-blue-soft-bg);color:var(--brand-logo-blue);font:700 13px/1 var(--font-ui)}
    .planning-priority-type{display:inline-flex;align-items:center;justify-content:center;min-height:26px;width:max-content;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink2);font:700 10px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:0}
    .planning-priority-name{display:grid;gap:3px}
    .planning-priority-name strong{color:var(--ink);font:700 13px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-priority-name span{color:var(--ink3);font-size:11px;line-height:1.35}
    .planning-priority-move-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;justify-content:flex-start}
    .planning-priority-rank-jump{display:flex;align-items:center;gap:5px}
    .planning-priority-rank-jump label{margin:0;color:var(--ink3);font:700 10px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-priority-rank-input{width:74px;min-width:0}
    .planning-room-grid-body{display:grid;gap:18px}
    .planning-room-semester{display:grid;gap:14px}
    .planning-room-semester__head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:linear-gradient(180deg,#fbfcff 0%,#f3f7fc 100%)}
    .planning-room-semester__head span{display:block;color:var(--ink3);font:700 10px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:.06em}
    .planning-room-semester__head strong{display:block;color:var(--ink);font:700 18px/1.25 var(--font-ui)}
    .planning-room-semester__stats{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
    .planning-room-semester__stats span{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#fff;color:var(--ink2);font:700 10px/1.2 var(--font-ui);text-transform:none;letter-spacing:0}
    .planning-room-semester__stats span.is-conflict{border-color:var(--redBorder);background:var(--redBg);color:var(--red)}
    .planning-room-days{display:grid;gap:16px}
    .planning-room-day{display:grid;gap:10px}
    .planning-room-day__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .planning-room-day__head strong{display:block;color:var(--ink);font:700 14px/1.25 var(--font-ui)}
    .planning-room-day__head span{display:block;color:var(--ink3);font-size:11px;line-height:1.35}
    .planning-room-grid{overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(12,24,44,.04)}
    .planning-room-grid__header,.planning-room-grid__row{min-width:2660px;display:grid;grid-template-columns:180px minmax(0,1fr)}
    .planning-room-grid__corner,.planning-room-grid__room{position:sticky;left:0;z-index:5;border-right:1px solid var(--border);background:#f8fafc}
    .planning-room-grid__corner{display:flex;align-items:center;min-height:38px;padding:8px 12px;color:var(--ink3);font:700 10px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.06em}
    .planning-room-grid__times,.planning-room-grid__timeline{display:grid;grid-template-columns:repeat(22,minmax(112px,1fr))}
    .planning-room-grid__times{min-height:38px;border-bottom:1px solid var(--border);background:#f8fafc}
    .planning-room-grid__times span{display:flex;align-items:center;justify-content:flex-start;padding:8px 7px;border-left:1px solid rgba(148,163,184,.18);color:var(--ink3);font:700 10px/1.2 var(--font-ui);font-variant-numeric:tabular-nums}
    .planning-room-grid__row{border-bottom:1px solid rgba(148,163,184,.18)}
    .planning-room-grid__row:last-child{border-bottom:none}
    .planning-room-grid__room{display:grid;align-content:center;gap:3px;min-height:88px;padding:10px 12px}
    .planning-room-grid__room strong{color:var(--ink);font:700 13px/1.2 var(--font-ui);overflow-wrap:anywhere}
    .planning-room-grid__room span{color:var(--ink3);font-size:10px;line-height:1.3}
    .planning-room-grid__timeline{position:relative;min-height:88px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
    .planning-room-slot{grid-row:1;min-height:88px;border-left:1px solid rgba(148,163,184,.14);background:transparent}
    .planning-room-event{grid-row:1;z-index:2;align-self:stretch;display:grid;align-content:start;gap:3px;min-height:72px;margin:8px 4px;padding:8px 9px;border:1px solid rgba(25,41,72,.18);border-left:5px solid var(--brand-logo-blue);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 8px 18px rgba(12,24,44,.08);overflow:hidden}
    .planning-room-event strong{font:700 12px/1.25 var(--font-ui);color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
    .planning-room-event span{color:var(--ink2);font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-room-event small{color:var(--ink3);font:700 9px/1.25 var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-room-event--green{border-left-color:var(--green);background:linear-gradient(180deg,#fbfffd 0%,#eefaf3 100%)}
    .planning-room-event--amber{border-left-color:var(--amber);background:linear-gradient(180deg,#fffdf7 0%,#fff7df 100%)}
    .planning-room-event--purple{border-left-color:var(--purpleActiveBorder);background:linear-gradient(180deg,#fdfbff 0%,var(--purpleBg) 100%)}
    .planning-room-event--choice{border-left-color:var(--brand-logo-blue);background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
    .planning-room-event.is-conflict{border-color:var(--redBorder);border-left-color:var(--red);background:var(--redBg)}
    .my-plan-table-wrap{max-height:520px;overflow:auto}
    .my-plan-table{min-width:1240px;table-layout:fixed}
    .my-plan-table th:nth-child(n+6),.my-plan-table td:nth-child(n+6){text-align:center}
    .my-plan-table th:nth-child(1),.my-plan-table td:nth-child(1){width:150px}
    .my-plan-table th:nth-child(2),.my-plan-table td:nth-child(2){width:210px}
    .my-plan-table th:nth-child(9),.my-plan-table td:nth-child(9){width:120px}
    .my-plan-table th:nth-child(10),.my-plan-table td:nth-child(10),.my-plan-table th:nth-child(11),.my-plan-table td:nth-child(11){width:96px}
    .my-plan-table th:nth-child(12),.my-plan-table td:nth-child(12){width:110px;text-align:center}
    .my-plan-attendance-selected td{background:#f5fbf6}
    .my-plan-attendance-panel{margin-top:14px}
    .my-plan-attendance-card{padding-top:14px;border-top:1px solid var(--border)}
    .my-plan-attendance-empty{padding:12px 14px;border:1px dashed var(--border2);border-radius:8px;background:var(--panel);color:var(--ink3);font-size:12px}
    .my-plan-attendance-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px}
    .my-plan-attendance-actions{justify-content:flex-start;margin:0 0 10px}
    .my-plan-attendance-table{min-width:780px}
    .my-plan-attendance-status{min-width:150px}
    .my-plan-module-grid,.my-plan-room-grid,.my-plan-slot-grid{display:grid;gap:8px;margin-top:8px;margin-bottom:12px}
    .my-plan-module-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-height:230px;overflow:auto;padding:2px}
    .my-plan-room-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
    .my-plan-slot-grid{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}
    .my-plan-room-button,.my-plan-slot-button{min-width:0;text-align:left;line-height:1.25;white-space:normal}
    .my-plan-room-button strong,.my-plan-slot-button strong{font-size:12px}
    .my-plan-room-button span{display:inline-block;margin-top:2px;font-size:10px;line-height:1.25;opacity:.85}
    .my-plan-slot-button:disabled{opacity:.68;cursor:not-allowed}
    .my-plan-room-month-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid #b7dcc3;border-radius:8px}
    .my-plan-room-month-summary strong{font:700 13px/1.25 var(--font-ui)}
    .my-plan-room-month-summary span{font-size:12px;line-height:1.35}
    .my-plan-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
    .my-plan-calendar-day{display:flex;min-height:42px;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.12;white-space:normal}
    .my-plan-calendar-day__meta{display:block;font-size:10px;font-weight:700;line-height:1.15}
    .my-plan-availability-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
    .my-plan-availability-day{padding:8px 0;min-width:0;width:100%}
    .my-plan-availability-day.has-slots{box-shadow:inset 0 -3px 0 #1f8f55}
    .my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past){border-color:#1f4b87!important;background:#bfdbfe!important;color:#102a4c!important;box-shadow:inset 0 0 0 2px #1f4b87,0 0 0 2px rgba(31,75,135,.12)!important}
    .my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past) .planning-schedule-day-head,.my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past) .planning-schedule-day-head strong,.my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past) .planning-schedule-day-meta{color:#102a4c!important;font-weight:900}
    .my-plan-availability-day.is-past,.my-plan-calendar-day.is-past{border-color:var(--redBorder)!important;background:var(--redBg)!important;color:var(--red)!important;box-shadow:inset 0 -3px 0 var(--red)!important}
    .my-plan-availability-day.is-past:disabled,.my-plan-calendar-day.is-past:disabled{opacity:1;cursor:not-allowed}
    .my-plan-availability-slot-button{min-width:0;text-align:left;line-height:1.25;white-space:normal}
    .my-plan-availability-slot-button strong{font-size:12px}
    .my-plan-availability-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 10px;color:var(--ink2);font-size:12px}
    .my-plan-availability-overview{display:grid;gap:10px;margin:12px 0;padding:12px;border:1px solid #c7d7ee;border-radius:8px;background:#f8fbff}
    .my-plan-availability-overview__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .my-plan-availability-overview__title{font:700 13px/1.25 var(--font-ui);color:var(--ink)}
    .my-plan-availability-overview__sub{font-size:12px;line-height:1.4;color:var(--ink2)}
    .my-plan-availability-overview__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
    .my-plan-availability-overview__metric{min-width:0;padding:9px 10px;border:1px solid rgba(31,75,135,.16);border-radius:8px;background:#fff}
    .my-plan-availability-overview__metric strong{display:block;font:800 18px/1 var(--font-ui);color:var(--brand-logo-blue)}
    .my-plan-availability-overview__metric span{display:block;margin-top:3px;font-size:11px;line-height:1.3;color:var(--ink2)}
    .my-plan-availability-overview__list{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
    .my-plan-availability-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid #b7dcc3;border-radius:999px;background:#eefaf2;color:#1f5d3a;font-size:11px;font-weight:700;line-height:1.25}
    button.my-plan-availability-chip{font:inherit;font-size:11px;font-weight:700;cursor:pointer}
    button.my-plan-availability-chip:hover,button.my-plan-availability-chip:focus-visible{outline:none;border-color:#1f8f55;box-shadow:0 0 0 2px rgba(31,143,85,.18)}
    .my-plan-availability-chip.is-empty{border-color:#c7d7ee;background:#fff;color:#1f365f}
    .my-plan-availability-chip.is-active{border-color:#1f4b87;background:#eaf3ff;color:#1f4b87;box-shadow:inset 0 0 0 1px #1f4b87}
    .my-plan-availability-chip.is-past{border-color:var(--redBorder);background:var(--redBg);color:var(--red)}
    .my-plan-progress-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 8px;padding:10px 12px;border:1px solid #b7dcc3;border-radius:8px;background:#eefaf2;color:#1f5d3a}
    .my-plan-progress-strip strong{font:700 13px/1.25 var(--font-ui)}
    .my-plan-progress-strip span{font-size:12px;line-height:1.35}
    .my-plan-progress-strip.is-over{border-color:var(--redBorder);background:var(--redBg);color:var(--red)}
    .my-plan-status{margin-top:8px;font-size:12px;line-height:1.4}
    .my-plan-status.is-ok{color:#1f5d3a}
    .my-plan-status.is-alert{color:var(--red)}
    .my-plan-acceptance-warning,.my-plan-offline-warning{display:grid;gap:4px;margin:0 0 14px;padding:12px 14px;border-radius:8px}
    .my-plan-acceptance-warning{border:1px solid var(--amberBorder);background:var(--amberBg);color:var(--amberStrong)}
    .my-plan-offline-warning{border:1px solid var(--redBorder);background:var(--redBg);color:var(--red)}
    .my-plan-acceptance-warning strong,.my-plan-offline-warning strong{font:700 13px/1.25 var(--font-ui)}
    .my-plan-acceptance-warning strong{color:var(--amberStrong)}
    .my-plan-offline-warning strong{color:var(--red)}
    .my-plan-acceptance-warning span,.my-plan-offline-warning span{font-size:12px;line-height:1.4}
    .my-plan-calendar-overview{margin:0 0 12px}
    .my-plan-view-filters{grid-template-columns:minmax(220px,320px)}
    .my-plan-view-toolbar .planning-plan-summary span{min-width:82px}
    .my-plan-mod-module-box,.my-plan-mod-room-box,.my-plan-mod-calendar-box,.my-plan-availability-calendar-box{margin-top:10px}
    .my-plan-mod-module-box{margin-top:0}
    .my-plan-mod-slots-box,.my-plan-availability-slots-box{margin-top:0}
    .my-plan-mod-module-box .my-plan-module-grid{max-height:190px;margin:0;padding:2px}
    .my-plan-mod-room-box .my-plan-room-grid{max-height:210px;margin:0;padding:2px}
    .my-plan-calendar-grid.planning-schedule-calendar-grid,.my-plan-availability-calendar-grid.planning-schedule-calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr));gap:6px}
    #pg-my-plan-view,#pg-my-plan-modify,#pg-my-plan-availability{-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;color:#102a4c}
    #pg-my-plan-view .card-sub,#pg-my-plan-modify .card-sub,#pg-my-plan-availability .card-sub{color:#1f365f;font-size:12px;line-height:1.45}
    #pg-my-plan-availability .my-plan-availability-overview{padding:14px 16px}
    #pg-my-plan-availability .my-plan-availability-overview__title{font-size:15px;font-weight:900;color:#102a4c}
    #pg-my-plan-availability .my-plan-availability-overview__sub,#pg-my-plan-availability .my-plan-availability-overview__metric span{font-size:12px;color:#1f365f}
    #pg-my-plan-availability .my-plan-availability-chip{padding:7px 10px;font-size:12px;font-weight:900}
    #pg-my-plan-availability .planning-schedule-instruction-box,#pg-my-plan-modify .planning-schedule-instruction-box{padding:12px 14px}
    #pg-my-plan-availability .planning-schedule-instruction-box strong,#pg-my-plan-modify .planning-schedule-instruction-box strong{font-size:14px}
    #pg-my-plan-availability .planning-schedule-instruction-box span,#pg-my-plan-modify .planning-schedule-instruction-box span{font-size:12px;line-height:1.4}
    .my-plan-mod-calendar-box .planning-schedule-day-button,.my-plan-availability-calendar-box .planning-schedule-day-button{min-height:96px;padding:12px 14px;gap:9px;border-width:1.5px;color:#102a4c}
    .my-plan-mod-calendar-box .planning-schedule-day-head,.my-plan-availability-calendar-box .planning-schedule-day-head{font-size:13px;line-height:1.25;color:#1f365f}
    .my-plan-mod-calendar-box .planning-schedule-day-head strong,.my-plan-availability-calendar-box .planning-schedule-day-head strong{font-size:15px;font-weight:900;color:#102a4c}
    .my-plan-mod-calendar-box .planning-schedule-day-meta,.my-plan-availability-calendar-box .planning-schedule-day-meta{font-size:11.5px;line-height:1.35;color:#1f365f}
    .my-plan-mod-calendar-box .planning-schedule-day-button.is-past .planning-schedule-day-meta,.my-plan-availability-calendar-box .planning-schedule-day-button.is-past .planning-schedule-day-meta{color:#7f1d1d;font-weight:800}
    #pg-my-plan-availability .planning-schedule-instruction-swatch.is-free{background:#1f4b87;color:#1f4b87}
    #pg-my-plan-availability .planning-schedule-instruction-swatch.is-partial{background:#eaf8ef;color:#84c89a}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past){border-color:#1f4b87!important;background:#1f4b87!important;color:#fff!important;box-shadow:none!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past) .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past) .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past) .planning-schedule-day-meta{color:#fff!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.has-slots:not(.is-past),
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past),
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past){border-color:#84c89a!important;background:#eaf8ef!important;color:#1f5d3a!important;box-shadow:inset 0 0 0 2px rgba(31,143,85,.34)!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.has-slots:not(.is-past) .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.has-slots:not(.is-past) .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.has-slots:not(.is-past) .planning-schedule-day-meta,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past) .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past) .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past) .planning-schedule-day-meta,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past) .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past) .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-bulk-selected:not(.is-past) .planning-schedule-day-meta{color:#1f5d3a!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past){border-color:#1f4b87!important;background:#dbeafe!important;color:#16345f!important;box-shadow:inset 0 0 0 2px #1f4b87!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past) .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past) .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-selected:not(.is-past) .planning-schedule-day-meta{color:#16345f!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-past{position:relative;border-color:#d6e1f0!important;background:#fbfcff!important;color:var(--ink2)!important;box-shadow:none!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-past::after{content:'';position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:999px;background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.14)}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-past .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-past .planning-schedule-day-meta{color:var(--ink2)!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day.is-past .planning-schedule-day-head strong{color:#b91c1c!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):hover,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):focus-visible{outline:none;border-color:#1f4b87!important;background:#dbeafe!important;color:#16345f!important;box-shadow:inset 0 0 0 2px #1f4b87!important}
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):hover .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):hover .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):hover .planning-schedule-day-meta,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):focus-visible .planning-schedule-day-head,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):focus-visible .planning-schedule-day-head strong,
    #pg-my-plan-availability .my-plan-availability-calendar-box .my-plan-availability-day:not(.is-past):not([disabled]):focus-visible .planning-schedule-day-meta{color:#16345f!important}
    .my-plan-mod-slots-box .my-plan-slot-grid,.my-plan-availability-slots-box .my-plan-slot-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
    .my-plan-mod-slots-box .my-plan-slot-button,.my-plan-availability-slots-box .my-plan-availability-slot-button{padding:10px 12px;font-size:12px;line-height:1.3;color:#102a4c}
    .my-plan-mod-slots-box .my-plan-slot-button strong,.my-plan-availability-slots-box .my-plan-availability-slot-button strong{font-size:13px;font-weight:900}
    .my-plan-availability-month-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 12px;padding:10px 12px;border:1px solid #c7d7ee;border-radius:8px;background:#f8fbff}
    .my-plan-availability-month-actions strong{display:block;color:#102a4c;font:900 13px/1.25 var(--font-ui)}
    .my-plan-availability-month-actions span{display:block;margin-top:2px;color:#1f365f;font-size:12px;line-height:1.35}
    .my-plan-availability-month-actions__buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .my-plan-availability-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 8px;padding:9px 10px;border:1px solid #d6e1f0;border-radius:8px;background:#f8fbff}
    .my-plan-availability-actions span{color:#1f365f;font:800 11px/1.25 var(--font-ui)}
    .my-plan-availability-finish-status{display:grid;gap:2px;min-width:190px;padding:8px 10px;border:1px solid #d6e1f0;border-radius:8px;background:#fff;color:#1f365f}
    .my-plan-availability-finish-status strong{font:900 12px/1.2 var(--font-ui);color:#102a4c}
    .my-plan-availability-finish-status span{font-size:11px;line-height:1.25}
    .my-plan-availability-finish-status.is-submitted{border-color:#84c89a;background:#eaf8ef;color:#1f5d3a}
    .my-plan-availability-finish-actions{justify-content:flex-start;margin-top:10px}
    .my-plan-availability-summary{font-size:13px;color:#1f365f}
    .my-plan-availability-summary strong{color:#102a4c;font-weight:900}
    .planning-obsada-created-wrap{max-height:560px;overflow:auto;padding:12px;border:1px solid rgba(25,41,72,.16);border-radius:8px;background:linear-gradient(180deg,#fff 0%,#f6f9fe 100%)}
    .planning-obsada-created-plan-list{display:grid;gap:12px}
    .planning-obsada-created-empty{padding:18px;border:1px dashed rgba(25,41,72,.24);border-radius:8px;background:#fff;color:#5b6b87;font-weight:800}
    .planning-obsada-created-semester{display:grid;gap:8px}
    .planning-obsada-created-semester__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(25,41,72,.16);border-radius:8px;background:#eef3fb}
    .planning-obsada-created-semester__head strong{font:900 14px/1.25 var(--font-ui);color:#102a4c}
    .planning-obsada-created-semester__head span{font-size:12px;color:#4f6386}
    .planning-obsada-created-module-list{overflow:auto;border:1px solid rgba(25,41,72,.14);border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(15,27,52,.05)}
    .planning-obsada-created-table{min-width:1080px;table-layout:fixed;border-collapse:separate;border-spacing:0}
    .planning-obsada-created-table th{background:#f5f8fc;color:#1f365f;font-size:11px;text-transform:uppercase;letter-spacing:0}
    .planning-obsada-created-table th,.planning-obsada-created-table td{border-right:1px solid rgba(25,41,72,.12)}
    .planning-obsada-created-table th:last-child,.planning-obsada-created-table td:last-child{border-right:0}
    .planning-obsada-created-table td:nth-child(n+5),.planning-obsada-created-table th:nth-child(n+5){text-align:center}
    .planning-obsada-created-table td{vertical-align:top}
    .planning-obsada-created-module{background:#fff}
    .planning-obsada-created-module.is-expanded{background:#192948;color:#fff}
    .planning-obsada-created-module.is-expanded td{border-right-color:rgba(255,255,255,.16)}
    .planning-obsada-created-group-row{background:#fbfcff}
    .planning-obsada-created-group-row td{border-top:1px solid rgba(25,41,72,.08)}
    .planning-obsada-created-module-toggle{display:flex;align-items:flex-start;gap:7px;width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;padding:0}
    .planning-obsada-created-module-toggle>span{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1px solid #9bb7dd;border-radius:5px;background:#eef6ff;color:#1f4b87;font:900 13px/1 var(--font-ui)}
    .planning-obsada-created-module.is-expanded .planning-obsada-created-module-toggle>span{border-color:rgba(255,255,255,.55);background:#fff;color:#192948}
    .planning-obsada-created-module-toggle:hover strong,.planning-obsada-created-module-toggle:focus-visible strong{text-decoration:underline}
    .planning-obsada-created-module-toggle:focus-visible{outline:2px solid #1f4b87;outline-offset:2px;border-radius:4px}
    .planning-obsada-created-module__main strong{display:block;font:900 13px/1.3 var(--font-ui);color:#102a4c}
    .planning-obsada-created-module__main span,.planning-obsada-created-module__cell span{display:block;margin-top:2px;font-size:11px;line-height:1.3;color:#5b6b87}
    .planning-obsada-created-module__cell strong{display:block;font:900 12px/1.25 var(--font-ui);color:#1f365f}
    .planning-obsada-created-module.is-expanded .planning-obsada-created-module__main strong,
    .planning-obsada-created-module.is-expanded .planning-obsada-created-module__cell strong{color:#fff}
    .planning-obsada-created-module.is-expanded .planning-obsada-created-module__main span,
    .planning-obsada-created-module.is-expanded .planning-obsada-created-module__cell span{color:#dce8ff}
    .planning-obsada-created-module__cell--group{padding-left:18px}
    .planning-obsada-created-module__cell--group strong{color:#4f6386}
    .planning-obsada-created-module__chips{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}
    .planning-obsada-created-filters{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(0,.9fr);gap:12px 20px;margin:0 0 12px;align-items:start}
    #pg-obsada-builder .planning-obsada-created-filters .planning-filter-toolbar{display:grid;gap:7px;min-width:0;margin:0}
    #pg-obsada-builder .planning-obsada-created-filters .planning-filter-toolbar:first-child,
    #pg-obsada-builder .planning-obsada-created-filters .planning-filter-toolbar:last-child{grid-column:1/-1}
    #pg-obsada-builder .planning-obsada-created-filters .planning-filter-toolbar .slabel{margin:0 0 2px;font:900 13px/1.25 var(--font-ui);text-transform:none;color:#102a4c}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-grid,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-grid,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:7px}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn{min-height:44px;padding:7px 10px;border-radius:8px;gap:3px}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn strong{font-size:11px;line-height:1.15}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn span{font-size:9px;line-height:1.2}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn{border-color:rgba(25,41,72,.18);background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);color:var(--brand-logo-blue)}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn:hover,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn:hover,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn:hover{border-color:#8fa4c8}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn:not(.active):hover,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn:not(.active):hover,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn:not(.active):hover{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 8px 16px rgba(15,27,52,.18)}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn:not(.active):hover strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn:not(.active):hover strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn:not(.active):hover strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn:not(.active):hover span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn:not(.active):hover span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn:not(.active):hover span{color:#fff}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn strong{color:var(--brand-logo-blue)}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn span{color:#4f6386}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn.active,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn.active,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 8px 16px rgba(15,27,52,.18)}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn.active strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn.active strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn.active strong,
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn.active span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn.active span,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn.active span{color:#fff}
    #pg-obsada-builder .planning-obsada-created-filters .fees-program-btn.is-empty,
    #pg-obsada-builder .planning-obsada-created-filters .fees-language-btn.is-empty,
    #pg-obsada-builder .planning-obsada-created-filters .fees-semester-btn.is-empty{opacity:.62}
    @media (max-width:1180px){.planning-obsada-created-filters{grid-template-columns:1fr}#pg-obsada-builder .planning-obsada-created-filters .planning-filter-toolbar{grid-column:1/-1}}
    @media (max-width:640px){.planning-obsada-created-wrap{padding:10px}}
    .planning-obsada-returned-box{display:grid;gap:10px;margin:0 0 14px;padding:12px;border:1px solid #e8c47a;border-radius:8px;background:#fff7e6;color:#5f4a18}
    .planning-obsada-returned-box[hidden]{display:none}
    .planning-obsada-returned-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .planning-obsada-returned-head strong{display:block;color:#7c4a03;font:900 14px/1.25 var(--font-ui)}
    .planning-obsada-returned-head span{display:block;margin-top:2px;font-size:12px;line-height:1.35}
    .planning-obsada-returned-list{display:grid;gap:8px}
    .planning-obsada-returned-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(214,158,46,.55);border-radius:8px;background:#fff;padding:10px}
    .planning-obsada-returned-item__main{display:grid;gap:4px;min-width:0}
    .planning-obsada-returned-item__main strong{color:var(--ink);font:900 13px/1.25 var(--font-ui);overflow-wrap:anywhere}
    .planning-obsada-returned-item__main span{color:var(--ink2);font-size:12px;line-height:1.35;overflow-wrap:anywhere}
    .planning-obsada-returned-item__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
    .planning-obsada-returned-item__meta small{display:inline-flex;align-items:center;min-height:24px;border:1px solid #d6e1f0;border-radius:999px;background:#f8fbff;color:#1f365f;padding:4px 8px;font:800 11px/1.1 var(--font-ui)}
    .planning-obsada-context-grid{grid-template-columns:repeat(2,minmax(180px,240px));margin-bottom:14px}
    .planning-obsada-workbench{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;margin-bottom:14px}
    .planning-obsada-bank,.planning-obsada-assignment-box{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:12px}
    .planning-obsada-queue-table th.planning-obsada-action-head{min-width:170px;vertical-align:top}
    .planning-obsada-action-head__inner{display:grid;gap:6px;justify-items:start;align-items:start}
    .planning-obsada-action-head__inner .btn{max-width:170px;white-space:normal;text-align:center;line-height:1.15}
    .planning-obsada-action-head__inner .muted{display:block;max-width:170px;color:var(--ink3);font:700 10px/1.25 var(--font-ui);text-transform:none}
    .planning-obsada-scope-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}
    .planning-obsada-assignment-box{display:grid;gap:12px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
    .planning-obsada-assignment-box.is-drop-target{border-color:var(--brand-logo-blue);background:var(--brand-logo-blue-soft-bg);box-shadow:0 14px 28px rgba(25,41,72,.12)}
    .planning-obsada-selected-module{display:grid;gap:3px;padding:10px 12px;border:1px dashed var(--border2);border-radius:8px;background:var(--panel)}
    .planning-obsada-selected-module strong{font:700 13px/1.25 var(--font-ui);color:var(--ink)}
    .planning-obsada-selected-module span{font-size:11px;line-height:1.3;color:var(--ink2)}
    .planning-obsada-assignment-list{display:grid;gap:10px;min-height:180px}
    .planning-obsada-assignment-empty{display:flex;align-items:center;justify-content:center;min-height:160px;padding:14px;border:1px dashed var(--border2);border-radius:8px;background:var(--panel);color:var(--ink3);font-size:12px;text-align:center}
    .planning-obsada-assignment-card{display:grid;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 18px rgba(25,41,72,.06)}
    .planning-obsada-assignment-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
    .planning-obsada-assignment-card__title{display:grid;gap:5px;min-width:0}
    .planning-obsada-assignment-card__title strong{font:800 15px/1.25 var(--font-ui);color:var(--ink);overflow-wrap:anywhere}
    .planning-obsada-assignment-card__title span{font-size:13px;line-height:1.35;color:var(--ink2);overflow-wrap:anywhere}
    .planning-obsada-assignment-card__title .planning-obsada-assignment-card__meta{color:var(--ink2)}
    .planning-obsada-assignment-card__title .planning-obsada-assignment-card__hours{display:inline-grid;justify-self:start;gap:2px;min-width:170px;margin-top:2px;padding:8px 10px;border:1px solid #e8c47a;border-radius:7px;background:#fff7e6;color:#7c4a03}
    .planning-obsada-assignment-card__hours strong{font:900 14px/1.2 var(--font-ui);color:currentColor}
    .planning-obsada-assignment-card__hours small{font:800 12px/1.25 var(--font-ui);color:currentColor}
    .planning-obsada-assignment-card__hours.is-complete{border-color:#9fd3ad;background:#f0fbf4;color:#176b34}
    .planning-obsada-assignment-card__hours.is-over{border-color:#e58b8b;background:#fff1f1;color:#7f1d1d}
    .planning-obsada-assignment-card__grid{display:grid;grid-template-columns:1fr .85fr .7fr .75fr;gap:8px;align-items:end}
    .planning-obsada-assignment-card__grid .fg{min-width:0}
    .planning-obsada-assignment-card__subject{grid-column:1/-1}
    .planning-obsada-locked-field{display:grid;gap:6px;align-self:stretch;min-width:0}
    .planning-obsada-locked-field label{color:#334155;font:800 12.5px/1.35 var(--font-ui)}
    .planning-obsada-locked-field__value{display:grid;align-content:center;min-height:38px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#102a4c}
    .planning-obsada-locked-field__value strong{font:900 13px/1.25 var(--font-ui);color:#102a4c}
    .planning-obsada-locked-field__value span{margin-top:2px;font-size:11px;line-height:1.3;color:#5b6b87}
    .planning-obsada-generated-groups{display:grid;gap:8px;padding-top:2px}
    .planning-obsada-generated-groups__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;color:var(--ink2);font:800 12px/1.25 var(--font-ui)}
    .planning-obsada-generated-groups__head strong{color:var(--ink);font:900 13px/1.25 var(--font-ui)}
    .planning-obsada-generated-group{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(90px,.45fr) minmax(160px,1fr);gap:8px;align-items:end;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
    .planning-obsada-generated-group .fg{min-width:0}
    .planning-obsada-generated-group__hours{display:grid;gap:5px;align-content:end;min-height:58px}
    .planning-obsada-generated-group__hours span{color:#334155;font:800 12.5px/1.35 var(--font-ui)}
    .planning-obsada-generated-group__hours strong{display:flex;align-items:center;min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font:900 13px/1.2 var(--font-ui)}
    .planning-obsada-assignment-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
    .planning-obsada-add-row{align-items:center;gap:10px;flex-wrap:wrap}
    .planning-obsada-missing-warning,.planning-obsada-add-warning{display:inline-flex;align-items:center;min-height:30px;padding:7px 10px;border:1px solid var(--redBorder);border-radius:8px;background:var(--redBg);color:var(--red);font:800 13px/1.25 var(--font-ui);box-shadow:0 8px 18px rgba(184,28,28,.08)}
    .planning-obsada-missing-warning{margin-right:auto}
    .planning-obsada-add-warning[hidden]{display:none}
    .planning-obsada-hours-field.is-over-limit input{border-color:var(--redBorder);background:var(--redBg);color:var(--red);box-shadow:0 0 0 3px rgba(185,28,28,.1)}
    .planning-obsada-hours-warning{display:block;margin-top:5px;color:var(--red);font:800 11px/1.25 var(--font-ui)}
    .planning-obsada-hours-warning[hidden]{display:none}
    .planning-obsada-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .planning-obsada-assignment-grid .fg:nth-child(3),.planning-obsada-assignment-grid .fg:nth-child(4),.planning-obsada-assignment-grid .fg:nth-child(5){grid-column:1/-1}
    .planning-obsada-template-strip{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin:0 0 14px}
    .planning-obsada-template-select{display:none}
    .planning-obsada-template-summary{min-height:42px;display:flex;align-items:center;justify-content:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink2);font:700 12px/1.2 var(--font-ui);white-space:nowrap}
    .planning-obsada-template-actions{display:flex;align-items:center;justify-content:flex-end;min-height:42px}
    .planning-obsada-template-actions .btn{min-height:42px;white-space:nowrap}
    .planning-obsada-template-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:240px;overflow:auto;padding:2px}
    .planning-obsada-template-card{display:grid;gap:8px;min-height:74px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
    .planning-obsada-template-card__main{display:grid;gap:4px;text-align:left;background:transparent;border:0;padding:0;color:inherit;cursor:pointer}
    .planning-obsada-template-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0}
    .planning-obsada-template-card__top strong{min-width:0;overflow-wrap:anywhere}
    .planning-obsada-template-card__actions{display:flex;align-items:center;justify-content:flex-start;gap:6px}
    .planning-obsada-template-card:hover{border-color:var(--brand-logo-blue-soft-border-strong);box-shadow:0 10px 20px rgba(25,41,72,.08)}
    .planning-obsada-template-card.active{border-color:var(--brand-logo-blue);background:var(--brand-logo-blue-soft-bg);box-shadow:inset 0 0 0 2px var(--brand-logo-blue)}
    .planning-obsada-template-card.is-partial{border-color:#e8c47a;background:#fff8e6}
    .planning-obsada-template-card.is-partial strong{color:#7c4a03}
    .planning-obsada-template-card.is-complete{border-color:#8fd19e;background:#f1fbf4}
    .planning-obsada-template-card.is-complete strong{color:#176b34}
    .planning-obsada-template-card.is-over{border-color:var(--redBorder);background:var(--redBg)}
    .planning-obsada-template-card strong{font:700 13px/1.25 var(--font-ui);color:var(--ink)}
    .planning-obsada-template-card span{font-size:11px;line-height:1.25;color:var(--ink2)}
    .planning-obsada-template-card__hours{font-weight:800;color:var(--ink)}
    .planning-obsada-template-card__status{color:var(--ink3)}
    .planning-obsada-template-empty{grid-column:1/-1;padding:12px 14px;border:1px dashed var(--border2);border-radius:8px;background:var(--panel);color:var(--ink3);font-size:12px}
    .planning-obsada-module-edit{grid-column:1/-1;display:grid;gap:12px;padding:14px;border:1px solid var(--brand-logo-blue-soft-border-strong);border-radius:8px;background:var(--brand-logo-blue-soft-bg)}
    .planning-obsada-module-edit[hidden]{display:none}
    .planning-obsada-module-edit__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .planning-obsada-module-edit__title{display:grid;gap:3px;min-width:0}
    .planning-obsada-module-edit__title strong{font:800 13px/1.25 var(--font-ui);color:var(--ink)}
    .planning-obsada-module-edit__title span{font-size:11px;line-height:1.3;color:var(--ink2)}
    .planning-obsada-module-edit__grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,180px);gap:12px;align-items:end}
    .planning-obsada-module-edit__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .planning-obsada-module-edit__actions .btn{min-width:128px}
    .planning-obsada-database-metrics{margin-bottom:14px}
    .planning-obsada-database-defaults{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}
    .planning-obsada-context-grid>.fg,.planning-obsada-scope-grid>.fg,.planning-obsada-database-defaults>.fg,.planning-obsada-database-toolbar>.fg,.planning-obsada-database-edit__grid>.fg,.planning-obsada-database-edit__hours>.fg{width:100%;min-width:0;align-self:stretch}
    .planning-obsada-context-grid>.fg input,.planning-obsada-context-grid>.fg select,.planning-obsada-scope-grid>.fg input,.planning-obsada-scope-grid>.fg select,.planning-obsada-database-defaults>.fg select,.planning-obsada-database-toolbar>.fg input,.planning-obsada-database-toolbar>.fg select,.planning-obsada-database-edit__grid>.fg input,.planning-obsada-database-edit__grid>.fg select,.planning-obsada-database-edit__hours>.fg input{display:block;width:100%;max-width:none;min-width:0}
    #pg-obsada-builder .planning-obsada-context-grid>.fg.is-filled select,
    #pg-obsada-builder .planning-obsada-scope-grid>.fg.is-filled select,
    #pg-obsada-builder .planning-obsada-scope-grid>.fg.is-filled input,
    #pg-obsada-builder .planning-obsada-database-defaults>.fg.is-filled select{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);color:#fff;font-weight:800;box-shadow:0 12px 24px rgba(15,27,52,.2)}
    #pg-obsada-builder .planning-obsada-context-grid>.fg.is-filled select option,
    #pg-obsada-builder .planning-obsada-scope-grid>.fg.is-filled select option,
    #pg-obsada-builder .planning-obsada-database-defaults>.fg.is-filled select option{background:#fff;color:var(--ink)}
    #pg-obsada-builder .planning-obsada-context-grid>.fg.is-filled label,
    #pg-obsada-builder .planning-obsada-scope-grid>.fg.is-filled label,
    #pg-obsada-builder .planning-obsada-database-defaults>.fg.is-filled label{color:var(--brand-logo-blue)}
    .planning-obsada-database-paste{display:grid;gap:10px;margin-bottom:14px}
    .planning-obsada-database-paste textarea{min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;line-height:1.4}
    .planning-obsada-database-paste-preview{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}
    .planning-obsada-database-paste-preview__title{padding:9px 11px;border-bottom:1px solid var(--border);background:var(--brand-logo-blue-soft-bg);color:var(--ink);font:800 11px/1.2 var(--font-ui);text-transform:uppercase}
    .planning-obsada-database-paste-preview__scroll{max-height:320px;overflow:auto}
    .planning-obsada-database-paste-preview table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}
    .planning-obsada-database-paste-preview thead th:nth-child(1){width:42px}
    .planning-obsada-database-paste-preview thead th:nth-child(2){width:300px}
    .planning-obsada-database-paste-preview thead th:nth-child(n+3){width:96px}
    .planning-obsada-database-paste-preview th,.planning-obsada-database-paste-preview td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:11px;line-height:1.25;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .planning-obsada-database-paste-preview th{padding:8px 9px}
    .planning-obsada-database-paste-preview td{position:relative;padding:0}
    .planning-obsada-database-paste-preview th:last-child,.planning-obsada-database-paste-preview td:last-child{border-right:0}
    .planning-obsada-database-paste-preview tr:last-child td{border-bottom:0}
    .planning-obsada-database-paste-preview thead th{position:sticky;top:0;z-index:2;background:#f8fafc;color:var(--ink2);font:800 10px/1.15 var(--font-ui);text-transform:uppercase}
    .planning-obsada-database-paste-preview tbody th{background:#f8fafc;color:var(--muted);text-align:center;font:800 10px/1.2 var(--font-ui)}
    .planning-obsada-database-paste-preview input{display:block;width:100%;height:100%;min-height:34px;border:0;border-radius:0;background:#fff;padding:0 8px;color:var(--ink);font:600 11px/1.2 var(--font-ui);outline:none}
    .planning-obsada-database-paste-preview input:focus{box-shadow:inset 0 0 0 2px var(--brand-logo-blue-soft-border-strong);background:#f8fbff}
    .planning-obsada-database-paste-preview td:nth-child(n+3):nth-child(-n+6) input{text-align:center;font-weight:800;color:#166534;background:#effaf4}
    .planning-obsada-database-paste-preview td.is-total{padding:0 8px;background:#eef6ff;color:#0f3b70;text-align:center;font-weight:900}
    .planning-obsada-database-paste-preview td.is-missing{color:var(--muted)}
    .planning-obsada-database-paste-preview td.is-invalid,.planning-obsada-database-paste-preview td.is-invalid input,.planning-obsada-database-paste-preview td.is-total.is-invalid{background:var(--redBg);color:var(--red);font-weight:800}
    .planning-obsada-database-toolbar{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(5,minmax(140px,1fr));gap:12px;margin-bottom:12px}
    .planning-obsada-database-edit{display:grid;gap:12px;margin:0 0 14px;padding:14px;border:1px solid var(--brand-logo-blue-soft-border-strong);border-radius:8px;background:var(--brand-logo-blue-soft-bg)}
    .planning-obsada-database-edit[hidden]{display:none}
    .planning-obsada-database-edit__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .planning-obsada-database-edit__title{display:grid;gap:3px;min-width:0}
    .planning-obsada-database-edit__title strong{font:800 13px/1.25 var(--font-ui);color:var(--ink)}
    .planning-obsada-database-edit__title span{font-size:11px;line-height:1.3;color:var(--ink2)}
    .planning-obsada-database-edit__grid{display:grid;grid-template-columns:minmax(320px,2.2fr) repeat(4,minmax(130px,1fr)) minmax(74px,.5fr);gap:8px;align-items:end}
    .planning-obsada-database-edit__grid .fg:first-child{grid-column:auto}
    .planning-obsada-database-edit__hours{display:grid;grid-template-columns:repeat(5,minmax(92px,160px));gap:8px;align-items:end}
    .planning-obsada-database-edit__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
    .planning-obsada-database-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
    .planning-obsada-database-wrap{max-height:560px;overflow:auto}
    .planning-obsada-database-wrap .dean-table{min-width:1360px;table-layout:fixed}
    .planning-obsada-database-wrap .dean-table tr.is-selected-module td{background:#eef6ff}
    .planning-obsada-database-wrap .dean-table tr.has-unknown-class-type td:first-child{box-shadow:inset 4px 0 0 #d69e2e;background:#fff7e6}
    .planning-obsada-database-wrap .dean-table th:nth-child(n+5),.planning-obsada-database-wrap .dean-table td:nth-child(n+5){text-align:center}
    .planning-module-title-cell{display:grid;gap:5px;justify-items:start;min-width:0}
    .planning-module-title-cell strong{overflow-wrap:anywhere}
    .planning-obsada-database-chips{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
    .planning-obsada-database-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:3px 7px;background:#fff;color:var(--ink2);font:700 10px/1.2 var(--font-ui)}
    @media (max-width:1100px){.planning-obsada-database-edit__grid{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(120px,1fr)) minmax(74px,.6fr)}.planning-obsada-database-edit__hours{grid-template-columns:repeat(5,minmax(82px,1fr))}}
    @media (max-width:980px){.planning-obsada-workbench,.planning-schedule-workbench,#planning-schedule-card .planning-schedule-workbench{grid-template-columns:1fr}.planning-obsada-context-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.planning-schedule-flow,#planning-schedule-card .planning-schedule-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-schedule-flow-step:not(:last-child)::after,#planning-schedule-card .planning-schedule-flow-step:not(:last-child)::after{display:none}.planning-schedule-instruction-box,#planning-schedule-card .planning-schedule-instruction-box{grid-template-columns:1fr}.planning-schedule-instruction-legend{justify-content:flex-start}.planning-schedule-module-support,#planning-schedule-card .planning-schedule-module-support{grid-template-columns:1fr}.planning-schedule-room-box-head{display:grid}.planning-schedule-room-selected{white-space:normal}#planning-schedule-card .planning-schedule-room-controls{grid-template-columns:1fr;grid-template-areas:"readiness" "module" "tally" "selected" "requests" "legend" "hint" "summary" "rooms"}#planning-schedule-card .planning-schedule-room-controls>.planning-schedule-tally-row,#planning-schedule-card .planning-schedule-room-summary{justify-content:flex-start}#planning-schedule-card .planning-schedule-room-grid{min-height:240px;max-height:320px}.planning-schedule-calendar-grid,#planning-schedule-card .planning-schedule-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-schedule-calendar-head,#planning-schedule-card .planning-schedule-calendar-head{display:none}.planning-plan-filters{grid-template-columns:1fr;flex-basis:100%}.planning-plan-summary{justify-content:flex-start}.planning-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-plan-head{display:none}.planning-plan-day.is-outside{display:none}.planning-plan-day-timeline{grid-template-columns:1fr}.planning-plan-day-column-list{max-height:none;overflow:visible}.planning-plan-session,.planning-plan-slot-session.planning-plan-session{grid-template-columns:1fr}.planning-plan-session .btn{justify-self:start}}
    @media (max-width:640px){.planning-schedule-calendar-grid,#planning-schedule-card .planning-schedule-calendar-grid,.planning-plan-grid{grid-template-columns:1fr}.planning-schedule-day,#planning-schedule-card .planning-schedule-day,.planning-plan-day-button{min-height:0}.planning-plan-slot{grid-template-columns:1fr}.planning-plan-day-timeline{max-height:none}}
    @media (max-width:900px){.planning-obsada-module-edit__grid{grid-template-columns:1fr}.planning-obsada-module-edit__head{flex-wrap:wrap}.planning-obsada-module-edit__head .btn{margin-left:auto}}
    @media (max-width:720px){.planning-obsada-template-strip,.planning-obsada-database-toolbar,.planning-obsada-database-edit__hours{grid-template-columns:1fr}.planning-obsada-template-summary{justify-content:flex-start;white-space:normal}.planning-obsada-template-actions{justify-content:stretch}.planning-obsada-template-actions .btn{width:100%}.planning-obsada-template-list{grid-template-columns:1fr;max-height:260px}.planning-obsada-module-edit__grid,.planning-obsada-database-edit__grid,.planning-obsada-assignment-grid,.planning-obsada-assignment-card__grid,.planning-obsada-generated-group{grid-template-columns:1fr}.planning-obsada-database-edit__grid .fg:first-child{grid-column:1/-1}.planning-obsada-assignment-grid .fg{grid-column:1/-1}}
    @media (max-width:520px){.planning-obsada-module-edit__actions{align-items:stretch}.planning-obsada-module-edit__actions .btn{width:100%}}
    .crosscheck-metrics{margin-bottom:14px}
    .crosscheck-filter-tabs{margin:0 0 12px}
    .crosscheck-table-wrap{max-height:560px;overflow:auto}
    .crosscheck-priority{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font:700 10px/1.2 var(--font-ui)}
    .crosscheck-priority.high{background:var(--redBg);color:var(--red);border:1px solid var(--redBorder)}
    .crosscheck-priority.medium{background:var(--amberBg);color:var(--amber);border:1px solid var(--amberBorder)}
    .crosscheck-priority.low{background:var(--brand-logo-blue-soft-bg);color:var(--brand-logo-blue);border:1px solid var(--brand-logo-blue-soft-border)}
    .crosscheck-departments{display:flex;gap:5px;flex-wrap:wrap}
    .crosscheck-departments span{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:3px 7px;background:#fff;color:var(--ink2);font:700 9px/1.2 var(--font-ui)}
    .finance-workspace-toolbar{display:none;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;padding:16px 18px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:20px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 12px 24px rgba(25,41,72,.08)}
    .stats-hub-page{gap:18px}
    .stats-hub-header{margin-bottom:0}
    .stats-hub-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:stretch;grid-auto-flow:dense}
    .stats-hub-section{display:grid;grid-template-rows:auto 1fr;grid-column:span 4;min-height:0;margin-bottom:0}
    .stats-hub-section--wide{grid-column:span 8}
    .stats-hub-section .card-head{min-height:72px;margin-bottom:14px}
    .stats-hub-section .card-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .stats-hub-metrics{align-content:start;margin-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr))}
    .stats-hub-section--wide .stats-hub-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
    .stats-hub-section--compact .stats-hub-metrics .metric:last-child:nth-child(odd){grid-column:1/-1}
    .stats-hub-metrics .metric{height:104px}
    @media (max-width:1280px){.stats-hub-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.stats-hub-section{grid-column:span 4}.stats-hub-section--wide{grid-column:span 8}.stats-hub-section--wide .stats-hub-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
    @media (max-width:960px){.stats-hub-grid{grid-template-columns:1fr}.stats-hub-section,.stats-hub-section--wide{grid-column:auto}.stats-hub-section .card-head{min-height:0}.stats-hub-section--wide .stats-hub-metrics,.stats-hub-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media (max-width:640px){.stats-hub-section--wide .stats-hub-metrics,.stats-hub-metrics{grid-template-columns:1fr}.stats-hub-section--compact .stats-hub-metrics .metric:last-child:nth-child(odd){grid-column:auto}.stats-hub-metrics .metric{height:auto;min-height:104px}}
    .status-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--ink2);font-size:12px}
    .status-chip strong{color:var(--ink)}
    .status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:64px;border-radius:999px;padding:4px 8px;border:1px solid var(--border);background:#fff;color:var(--ink2);font:700 10px/1.2 var(--font-ui)}
    .status-pill.ok{border-color:#b8dec9;background:var(--greenBg);color:var(--green)}
    .status-pill.warn{border-color:#f6d365;background:#fff8e1;color:#8a4b0a}
    .status-pill.neutral{border-color:var(--border);background:#f8fafc;color:var(--ink2)}
    .finance-subnav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
    #finance-subnav{display:none!important}
    .finance-subtab{border:1px solid var(--border);border-radius:999px;background:#fff;padding:10px 16px;color:var(--ink2);font:700 12px var(--font-ui);cursor:pointer}
    .finance-subtab:hover{border-color:var(--border2);color:var(--ink)}
    .finance-subtab.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(23,54,93,.18)}
    .finance-panel{display:none}
    .finance-panel.active{display:block}
    .finance-panel--stack.active{display:grid;gap:18px}
    .ksef-import-label{cursor:pointer}
    .ksef-unmatched{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}
    .ksef-unmatched>div{display:flex;flex-wrap:wrap;gap:6px}
    #finance-ksef-detail-body tr.is-positive td:first-child{color:var(--green);font-weight:700}
    #finance-ksef-detail-body tr.is-negative td:first-child{color:var(--red);font-weight:700}
    .finance-study-fees-layout{align-items:start}
    .finance-study-fees-list-summary{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:16px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
    .finance-study-fees-list-summary strong{font:700 13px/1.4 var(--font-ui);color:var(--ink)}
    .finance-study-fees-list-summary span{color:var(--ink2);font-size:12px;line-height:1.5}
    .finance-study-fees-hero{display:grid;gap:10px;padding:18px 20px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:22px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 10px 22px rgba(25,41,72,.08)}
    .finance-study-fees-hero__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
    .finance-study-fees-hero__title{font:700 22px/1.18 var(--font-ui);color:var(--ink)}
    .finance-study-fees-hero__text{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
    .finance-study-fees-pill-row{display:flex;flex-wrap:wrap;gap:8px}
    .finance-study-fees-pill{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:#fff;color:var(--ink2);font-size:11px;line-height:1.35}
    .finance-study-fees-hero__actions{justify-content:flex-start;margin-top:2px}
    .finance-study-fees-detail-form{display:grid;gap:16px}
    .finance-study-fees-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .finance-study-fees-detail-note{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
    .finance-study-fees-actions{margin-top:0;justify-content:flex-start}
.finance-study-fees-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}
.finance-study-fees-breakdown-card{display:grid;align-content:start;align-self:start;gap:14px;padding:18px 20px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:22px;background:#fff;box-shadow:0 10px 22px rgba(25,41,72,.06)}
.finance-study-fees-breakdown-card.is-configured{border-color:rgba(15,98,60,.2);background:linear-gradient(180deg,#fcfffd 0%,#f2fbf6 100%)}
.finance-study-fees-breakdown-card.is-zero{border-color:rgba(148,163,184,.24);background:linear-gradient(180deg,#fcfcfd 0%,#f5f7fa 100%)}
.finance-study-fees-breakdown-card.is-readonly{gap:16px}
.finance-study-fees-breakdown-card.is-readonly .cell-input,.finance-study-fees-breakdown-card.is-readonly .cell-select{background:rgba(241,245,249,.92);border-color:rgba(148,163,184,.22);color:var(--ink2);box-shadow:none}
.finance-study-fees-breakdown-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.finance-study-fees-breakdown-card__title{display:block;font:700 16px/1.25 var(--font-ui);color:var(--ink)}
.finance-study-fees-breakdown-card__state{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font:700 11px/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;background:rgba(226,232,240,.9);color:var(--ink2)}
.finance-study-fees-breakdown-card__state.is-editing{background:rgba(191,219,254,.85);color:#1d4ed8}
.finance-study-fees-breakdown-card__state.is-saved{background:rgba(220,252,231,.95);color:#166534}
.finance-study-fees-breakdown-card__state.is-zero{background:rgba(226,232,240,.95);color:#475569}
.finance-study-fees-breakdown-card__state.is-draft{background:rgba(254,249,195,.95);color:#854d0e}
    .finance-study-fees-breakdown-card__sub{margin:6px 0 0;color:var(--ink2);font-size:12px;line-height:1.55}
    .finance-study-fees-breakdown-card__summary{margin:0;color:var(--ink2);font-size:12px;line-height:1.55}
    .finance-study-fees-breakdown-card__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .finance-study-fees-breakdown-card__stat{display:grid;gap:4px;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(248,250,255,.8)}
    .finance-study-fees-breakdown-card__stat span{color:var(--ink3);font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.05em}
    .finance-study-fees-breakdown-card__stat strong{font:700 14px/1.3 var(--font-ui);color:var(--ink)}
    .finance-study-fees-breakdown-card__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .finance-study-fees-breakdown-card__field{display:grid;gap:6px}
    .finance-study-fees-breakdown-card__field span{font:700 11px/1.4 var(--font-ui);color:var(--ink3);letter-spacing:.05em;text-transform:uppercase}
    .finance-study-fees-discount{display:grid;gap:12px;padding:14px 16px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(180deg,#fcfdff 0%,#f5f8fc 100%)}
    .finance-study-fees-discount.is-readonly{background:linear-gradient(180deg,#f8fbff 0%,#f1f5f9 100%)}
.finance-study-fees-discount__head{display:grid;gap:4px}
.finance-study-fees-discount__head strong{font:700 13px/1.35 var(--font-ui);color:var(--ink)}
.finance-study-fees-discount__head p{margin:0;color:var(--ink2);font-size:11px;line-height:1.55}
.finance-study-fees-discount__summary{margin:0;color:var(--brand-logo-blue-soft-text);font-size:11px;line-height:1.5}
.finance-study-fees-discount__empty{padding:12px 14px;border:1px dashed rgba(148,163,184,.28);border-radius:14px;background:rgba(255,255,255,.82);color:var(--ink3);font-size:12px;line-height:1.5}
.finance-study-fees-discount__list{display:grid;gap:10px}
.finance-study-fees-discount-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;padding:12px 14px;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:#fff}
.finance-study-fees-discount-row.is-readonly{background:rgba(248,250,252,.92)}
.finance-study-fees-discount-row__field{display:grid;gap:6px}
.finance-study-fees-discount-row__field span{font:700 10px/1.35 var(--font-ui);color:var(--ink3);letter-spacing:.05em;text-transform:uppercase}
.finance-study-fees-discount-row__field .cell-input{min-width:0;height:44px;padding-inline:14px;font-size:14px}
.finance-study-fees-discount-row__field input[type=number]{appearance:textfield;-moz-appearance:textfield}
.finance-study-fees-discount-row__field input[type=number]::-webkit-outer-spin-button,.finance-study-fees-discount-row__field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.finance-study-fees-discount-row__toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;color:var(--ink2);font-size:12px;white-space:nowrap;grid-column:1/-1;justify-self:start}
    .finance-study-fees-breakdown-card__note{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
.finance-study-fees-breakdown-card__actions{margin-top:0;justify-content:flex-start;align-items:flex-start;align-self:start}
.finance-study-fees-breakdown-card__actions .btn{width:auto;min-width:0;align-self:flex-start}
.finance-study-fees-breakdown-card__saved-btn[disabled]{opacity:1;cursor:default;box-shadow:0 8px 18px rgba(22,101,52,.14)}
.finance-study-fees-breakdown-card__status-btn.is-zero[disabled]{background:rgba(241,245,249,.96);border-color:rgba(148,163,184,.24);color:#475569;box-shadow:none}
.finance-study-fees-breakdown-card__status-btn[disabled]{opacity:1;cursor:default}
    .finance-placeholder{padding:32px 28px;text-align:center}
    .finance-placeholder strong{display:block;margin-bottom:8px;font:700 20px var(--font-ui);color:var(--ink)}
    .finance-placeholder p{margin:0 auto;max-width:700px;color:var(--ink2)}
    .finance-sensitive-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}
    .finance-sensitive-toggle,.finance-sensitive-change{display:inline-flex}
    .finance-sensitive-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink2);font:700 11px var(--font-ui)}
    .finance-sensitive-status.is-unlocked{background:var(--amberBg);border-color:var(--amberBorder);color:var(--amber)}
    .finance-sensitive-status.is-locked{background:var(--panel2);border-color:var(--border);color:var(--ink2)}
    .finance-sensitive-controls,[data-finance-sensitive-controls],[data-dean-sensitive-controls]{display:none!important}
    .finance-sensitive-mask{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 10px;border:1px dashed var(--border2);border-radius:999px;background:var(--panel);color:var(--ink3);font:700 10px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
    .finance-workspace-toolbar.active{display:flex}
    .finance-workspace-toolbar__copy{display:grid;gap:6px;max-width:760px}
    .finance-workspace-toolbar__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
    .finance-workspace-toolbar strong{display:block;font:700 18px/1.2 var(--font-ui);color:var(--ink)}
    .finance-workspace-toolbar p{margin:0;color:var(--ink2);font-size:12px;line-height:1.55}
    .budget-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.budget-info-card{padding:18px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:20px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 10px 22px rgba(25,41,72,.06)}
.budget-info-card strong{display:block;margin-bottom:8px;font:700 18px/1.2 var(--font-ui);color:var(--ink)}
.budget-info-card p{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
.budget-info-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.budget-info-pill{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#fff;color:var(--ink2);font-size:11px;line-height:1.35}
.budget-surface-panel{margin:0 0 18px;padding:14px;border:1px solid rgba(25,41,72,.12);border-radius:8px;background:#fff;box-shadow:0 10px 22px rgba(12,24,44,.07)}
.budget-metrics-panel .metrics{margin-bottom:0}
#pg-budget .stats-hero{padding:12px 14px;margin-bottom:12px}
#pg-budget .stats-hero .card-head{margin-bottom:6px}
#pg-budget .stats-hero .card-title{font-size:17px;line-height:1.2}
#pg-budget .stats-hero .card-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11.5px;line-height:1.35;max-width:760px}
#pg-budget .stats-kicker{margin-bottom:4px;font-size:11px;line-height:1.2}
#pg-budget .stats-blurb{display:none}
#pg-budget .stats-hero-summary{gap:8px;margin-top:6px}
#pg-budget .stats-chip{height:56px;padding:7px 9px;gap:2px}
#pg-budget .stats-chip strong{font-size:16px;line-height:1.1}
#pg-budget .stats-chip span{font-size:11px;line-height:1.24}
.budget-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.budget-breakdown-card{padding:20px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:20px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 10px 22px rgba(25,41,72,.06)}
.budget-breakdown-card h3{margin:0 0 8px;font:700 18px/1.2 var(--font-ui);color:var(--ink)}
.budget-breakdown-card p{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
.budget-breakdown-card--toggle{position:relative}
.budget-breakdown-card__toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%;padding:0;margin:0;border:none;background:transparent;text-align:left;cursor:pointer}
.budget-breakdown-card__toggle:focus-visible{outline:2px solid rgba(25,41,72,.28);outline-offset:6px;border-radius:16px}
.budget-breakdown-card__toggle h3{margin:0 0 8px}
.budget-breakdown-card__toggle p{margin:0}
.budget-breakdown-card__toggle-pill{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:38px;padding:9px 14px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:999px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);color:var(--brand-logo-blue);font:700 11px var(--font-ui);white-space:nowrap}
.budget-breakdown-card__toggle:hover .budget-breakdown-card__toggle-pill{border-color:var(--brand-logo-blue-soft-border-strong);background:linear-gradient(180deg,#f6f9ff 0%,#e6edf8 100%)}
.budget-breakdown-card--toggle.is-open .budget-breakdown-card__toggle-pill{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff}
.budget-breakdown-list{display:grid;gap:10px;margin-top:16px}
.budget-detail-nav{margin-bottom:16px}
.budget-detail-nav .finance-area-box{min-height:94px}
.budget-detail-nav .finance-area-box p{font-size:11px;line-height:1.45;-webkit-line-clamp:3}
.budget-detail-panel{display:grid;gap:16px}
.budget-breakdown-second-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}
.budget-breakdown-second-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 10px 22px rgba(25,41,72,.05)}
.budget-breakdown-second-card__label{color:var(--ink3);font:700 10px/1.35 var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
.budget-breakdown-second-card__value{color:var(--ink);font:700 20px/1.15 var(--font-ui)}
.budget-breakdown-second-card__sub{color:var(--ink3);font-size:11px;line-height:1.45}
.budget-breakdown-second-card__rows{display:grid;gap:8px}
.budget-breakdown-second-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgba(148,163,184,.16)}
.budget-breakdown-second-row:first-child{padding-top:0;border-top:none}
.budget-breakdown-second-row span{color:var(--ink2);font-size:11px;line-height:1.35}
.budget-breakdown-second-row strong{font:700 13px/1.35 var(--font-ui);text-align:right}
.budget-breakdown-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.16)}
.budget-breakdown-row:last-child{padding-bottom:0;border-bottom:none}
.budget-breakdown-row span{color:var(--ink2);font-size:12px;line-height:1.45}
.budget-breakdown-row strong{color:var(--ink);font:700 13px/1.35 var(--font-ui);text-align:right}
.budget-breakdown-row.is-positive strong{color:var(--green)}
.budget-breakdown-row.is-negative strong{color:var(--red)}
.month-calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px}
.month-calendar-card{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#eef6ff 100%);box-shadow:0 10px 22px rgba(12,24,44,.05)}
.month-calendar-card.is-current{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 14px 28px rgba(15,27,52,.14)}
.month-calendar-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.month-calendar-card__month{font:700 16px/1.2 var(--font-ui);color:var(--ink)}
.month-calendar-card__year{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
.month-calendar-card__value{font:700 22px/1.1 var(--font-ui);color:var(--ink)}
.month-calendar-card__sub{margin-top:-4px;color:var(--ink2);font-size:12px}
.month-calendar-card__meta{color:var(--ink3);font-size:11px;line-height:1.45}
.month-calendar-card__flag{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:5px 9px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.05em;text-transform:uppercase}
.month-calendar-summary-box{display:grid;gap:10px;margin-top:16px;padding:18px 20px;border:1px solid var(--brand-logo-blue-soft-border-strong);border-radius:20px;background:linear-gradient(135deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 14px 28px rgba(15,27,52,.12)}
.month-calendar-summary-box__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:5px 10px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
.month-calendar-summary-box__value{font:700 30px/1.05 var(--font-ui);color:var(--ink)}
.month-calendar-summary-box__sub{color:var(--ink2);font-size:13px;line-height:1.55}
.month-calendar-summary-box__meta{display:flex;flex-wrap:wrap;gap:8px}
.month-calendar-note{margin:12px 0 0;color:var(--ink2);font-size:12px;line-height:1.6}
  


    .budget-tab-shell{margin:0 0 20px;padding:14px;border:1px solid rgba(25,41,72,.12);border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(12,24,44,.08)}
    .budget-tab-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0}
    .budget-tab{display:flex;align-items:center;justify-content:flex-start;min-height:48px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:9px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);padding:8px 10px;color:var(--brand-logo-blue);font:800 12px/1.15 var(--font-ui);text-align:left;cursor:pointer;box-shadow:none}
    .budget-tab:hover{border-color:var(--brand-logo-blue-soft-border-strong);color:var(--brand-logo-blue);box-shadow:0 8px 16px rgba(12,24,44,.08)}
    .budget-tab.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 18px rgba(15,27,52,.2)}
    .budget-inline-alert{margin-bottom:18px}
    .budget-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
    .budget-toolbar__copy{display:grid;gap:6px;max-width:760px}
    .budget-toolbar__copy p{margin:0;color:var(--ink2);font-size:12px;line-height:1.55}
    .budget-table-note{margin:0 0 14px;color:var(--ink2);font-size:12px;line-height:1.6}
    .budget-predictive-table-wrap{--wide-table-min-width:1420px;--wide-table-action-width:16%}
    .budget-study-section{margin-top:18px}
    .budget-study-intro{margin:0 0 14px;color:var(--ink2);font-size:12px;line-height:1.6}
    .budget-study-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
    .budget-study-card{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);box-shadow:0 10px 22px rgba(12,24,44,.05)}
    .budget-study-card--list{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);align-items:start;gap:18px}
    .budget-study-card__main{display:grid;gap:12px;align-content:start;min-width:0}
    .budget-study-card__side{display:grid;gap:14px;align-content:start;padding-left:18px;border-left:1px solid rgba(148,163,184,.18)}
    .budget-study-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .budget-study-card__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:rgba(23,54,93,.08);color:var(--navy);font:700 10px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
    .budget-study-card__title{margin-top:8px;font:700 16px/1.25 var(--font-ui);color:var(--ink)}
    .budget-study-card__meta{display:flex;flex-wrap:wrap;gap:8px}
    .budget-study-card__rows{display:grid;gap:10px}
    .budget-study-card__side .budget-study-card__rows{padding:14px 16px;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:rgba(255,255,255,.78)}
    .budget-study-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.16)}
    .budget-study-card__row:last-child{padding-bottom:0;border-bottom:none}
    .budget-study-card__row span{color:var(--ink2);font-size:12px;line-height:1.45}
    .budget-study-card__row strong{color:var(--ink);font:700 13px/1.35 var(--font-ui);text-align:right}
    .budget-study-card__row strong.is-positive{color:var(--green)}
    .budget-study-card__row strong.is-negative{color:var(--red)}
    .budget-study-card__actions{display:flex;flex-wrap:wrap;gap:10px}
    .budget-study-shared-control{display:grid;gap:10px;padding:12px;border:1px solid rgba(25,41,72,.16);border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(12,24,44,.06)}
    .budget-study-shared-control.is-on{border-color:rgba(23,54,93,.34);background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%)}
    .budget-study-shared-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;border:1px solid rgba(25,41,72,.18);border-radius:12px;padding:9px 12px;text-align:left;cursor:pointer;background:linear-gradient(180deg,#fff 0%,#eef3f9 100%);color:var(--ink);box-shadow:0 8px 18px rgba(12,24,44,.06)}
    .budget-study-shared-toggle span{color:inherit;font:700 11px/1.2 var(--font-ui);text-transform:uppercase}
    .budget-study-shared-toggle strong{margin-left:auto;color:inherit;font:700 13px/1.2 var(--font-ui)}
    .budget-study-shared-toggle small{color:inherit;font-size:11px;line-height:1.25;opacity:.84}
    .budget-study-shared-toggle.is-on{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 14px 24px rgba(15,27,52,.22)}
    .budget-study-shared-toggle.is-off{border-color:rgba(148,163,184,.38);color:var(--ink2)}
    .budget-study-shared-boxes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
    .budget-study-shared-box{display:grid;gap:3px;min-height:58px;padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#fff}
    .budget-study-shared-box span{color:var(--ink2);font-size:10px;line-height:1.25;text-transform:uppercase}
    .budget-study-shared-box strong{color:var(--ink);font:700 12px/1.25 var(--font-ui)}
    .budget-study-shared-box--share,.budget-study-shared-box--total{border-color:rgba(23,54,93,.26);background:linear-gradient(180deg,#fff 0%,#f2f7ff 100%)}
    .budget-study-shared-control.is-off .budget-study-shared-box{opacity:.66}
    .budget-study-card__note{margin:0;color:var(--ink3);font-size:11px;line-height:1.55}
    .budget-cost-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}
    .budget-cost-level-card{display:grid;gap:14px;padding:18px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 52%,#eef7f1 100%);box-shadow:0 12px 26px rgba(12,24,44,.06)}
    .budget-cost-level-card__head{display:grid;gap:10px}
    .budget-cost-level-card__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:5px 10px;border-radius:999px;background:rgba(15,98,60,.1);color:#0f623c;font:700 10px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
.budget-cost-level-card__head h3{margin:0;font:700 18px/1.2 var(--font-ui);color:var(--ink)}
.budget-cost-level-card__head p{margin:6px 0 0;color:var(--ink2);font-size:12px;line-height:1.55}
.budget-cost-level-card__value{font:700 28px/1.08 var(--font-ui);color:var(--ink)}
.budget-cost-level-card__actions{display:flex;justify-content:flex-start}
.budget-hospital-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:16px}
.budget-hospital-level-card{display:grid;gap:14px;padding:18px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:22px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,#f3f7fc 48%,var(--brand-logo-blue-soft-end) 100%);box-shadow:0 12px 26px rgba(25,41,72,.08)}
.budget-hospital-level-card__head{display:grid;gap:12px}
.budget-hospital-level-card__head>div{min-width:0}
.budget-hospital-level-card__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:5px 10px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
.budget-hospital-level-card__head h3{margin:10px 0 0;font:700 18px/1.25 var(--font-ui);color:var(--ink);overflow-wrap:anywhere}
.budget-hospital-level-card__head p{margin:8px 0 0;color:var(--ink2);font-size:12px;line-height:1.55}
.budget-hospital-level-card__head strong{font:700 24px/1.08 var(--font-ui);color:var(--brand-logo-blue);text-align:left}
    .budget-allocation-card,.budget-archive-card{display:grid;gap:16px;margin-bottom:18px}
    .budget-allocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
    .budget-allocation-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
    .budget-allocation-picker__btn{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:18px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);text-align:left;cursor:pointer;color:var(--brand-logo-blue);box-shadow:0 10px 22px rgba(12,24,44,.05)}
    .budget-allocation-picker__btn span{color:var(--brand-logo-blue);font:700 14px/1.3 var(--font-ui)}
    .budget-allocation-picker__btn strong{color:var(--brand-logo-blue-soft-text);font:600 11px/1.45 var(--font-ui)}
    .budget-allocation-picker__btn.is-active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);box-shadow:0 10px 18px rgba(15,27,52,.2)}
    .budget-allocation-picker__btn.is-active span,.budget-allocation-picker__btn.is-active strong{color:#fff}
    .budget-archive-card__actions{display:flex;flex-wrap:wrap;gap:10px}
    .budget-study-detail-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
    .budget-study-detail-toolbar__copy{display:grid;gap:8px;max-width:860px}
    .budget-study-detail-toolbar__copy strong{display:block;font:700 20px/1.2 var(--font-ui);color:var(--ink)}
    .budget-study-detail-toolbar__copy p{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
    .budget-study-detail-toolbar__actions{display:flex;flex-wrap:wrap;gap:10px}
    .budget-study-detail-page{display:grid;gap:18px}
    .budget-study-editor--page{padding:18px}
    .budget-study-switcher{display:grid;gap:16px}
    .budget-study-switcher__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
    .budget-study-switcher__item{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:18px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);text-align:left;cursor:pointer;color:var(--brand-logo-blue);box-shadow:0 10px 22px rgba(12,24,44,.05)}
    .budget-study-switcher__item span{color:var(--brand-logo-blue);font:700 10px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
    .budget-study-switcher__item strong{font:700 14px/1.35 var(--font-ui);color:var(--brand-logo-blue)}
    .budget-study-switcher__item.is-active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);box-shadow:0 14px 28px rgba(15,27,52,.2)}
    .budget-study-switcher__item.is-active span,.budget-study-switcher__item.is-active strong{color:#fff}
    .budget-study-card--clickable{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
    .budget-study-card--clickable:hover{border-color:var(--brand-logo-blue-soft-border-strong);box-shadow:0 8px 16px rgba(12,24,44,.08);transform:translateY(-1px)}
    .budget-study-card--clickable:focus-visible{outline:2px solid rgba(25,41,72,.28);outline-offset:4px}
    .budget-study-card__open{display:inline-flex;align-items:center;width:max-content;margin-top:2px;padding:8px 12px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:999px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);color:var(--brand-logo-blue);font:700 11px/1.2 var(--font-ui)}
    .budget-generic-cost-control{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(255,255,255,.82)}
    .budget-generic-cost-control .fg{min-width:210px;margin:0}
    .budget-generic-cost-control__note{flex:1 1 260px;color:var(--ink2);font-size:11px;line-height:1.45}
    .budget-study-editor{display:grid;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:18px;background:linear-gradient(180deg,rgba(244,248,255,.95) 0%,rgba(255,255,255,.98) 100%)}
    .budget-study-editor[open]{background:linear-gradient(180deg,rgba(240,247,255,.98) 0%,#fff 100%)}
    .budget-study-editor summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:var(--ink);font:700 12px/1.45 var(--font-ui)}
    .budget-study-editor summary::-webkit-details-marker{display:none}
    .budget-study-editor summary strong{color:var(--ink2);font:700 11px/1.4 var(--font-ui);text-align:right}
    .budget-study-editor__body{display:grid;gap:14px}
    .budget-study-editor__intro{margin:0;color:var(--ink2);font-size:12px;line-height:1.6}
    .budget-study-editor__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
    .budget-study-editor__field{display:grid;gap:6px}
    .budget-study-editor__field span{color:var(--ink);font:700 11px/1.35 var(--font-ui)}
    .budget-study-editor__field small{color:var(--ink3);font-size:10px;line-height:1.5}
    .budget-study-editor__stats{display:grid;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.78)}
    .budget-study-editor__actions{display:flex;flex-wrap:wrap;gap:10px}
#finance-invoices-table-wrap,#finance-utilities-table-wrap,#finance-hospitals-table-wrap{--wide-table-min-width:1380px;--wide-table-action-width:16%}
#finance-utilities-table-wrap{--wide-table-min-width:1280px;--wide-table-action-width:18%}
.compact-recurring-table-wrap .finance-table{table-layout:fixed;width:100%;min-width:1280px}
.compact-recurring-table-wrap .finance-table thead tr{display:grid;grid-template-columns:minmax(250px,2.35fr) minmax(170px,1.35fr) minmax(168px,1.35fr) minmax(84px,.68fr) minmax(118px,.94fr) minmax(118px,.94fr) 132px;column-gap:8px}
.compact-recurring-table-wrap .finance-table tbody{display:block;width:100%;min-width:1280px}
    .compact-recurring-table-wrap .finance-table tbody tr.recurring-finance-row-utilities,.compact-recurring-table-wrap .finance-table tbody tr.uz-monthly-row-compact{display:table-row}
    .compact-recurring-table-wrap .finance-table tbody tr.recurring-finance-row-utilities td.utility-row-shell,.compact-recurring-table-wrap .finance-table tbody tr.uz-monthly-row-compact td.utility-row-shell{padding:8px 0 10px;border:0}
    .compact-recurring-table-wrap .finance-table tbody tr.recurring-finance-row-utilities+tr.recurring-finance-row-utilities td.utility-row-shell,.compact-recurring-table-wrap .finance-table tbody tr.uz-monthly-row-compact+tr.uz-monthly-row-compact td.utility-row-shell{padding-top:16px}
.compact-recurring-table-wrap .finance-table tbody tr.recurring-finance-row-utilities .utility-row-grid,.compact-recurring-table-wrap .finance-table tbody tr.uz-monthly-row-compact .utility-row-grid{display:grid;width:100%;grid-template-columns:minmax(250px,2.35fr) minmax(170px,1.35fr) minmax(168px,1.35fr) minmax(84px,.68fr) minmax(118px,.94fr) minmax(118px,.94fr) 132px;grid-template-areas:"name document amount status month date actions";column-gap:8px;align-items:start}
    .compact-recurring-table-wrap .finance-table tbody .utility-name{grid-area:name}
    .compact-recurring-table-wrap .finance-table tbody .utility-document{grid-area:document;display:grid;gap:4px}
    .compact-recurring-table-wrap .finance-table tbody .utility-month{grid-area:month;display:flex;align-items:flex-start}
    .compact-recurring-table-wrap .finance-table tbody .utility-amount{grid-area:amount;align-self:stretch}
.compact-recurring-table-wrap .finance-table tbody .utility-status{grid-area:status;display:flex;align-items:flex-start}
.compact-recurring-table-wrap .finance-table tbody .utility-date{grid-area:date;display:flex;align-items:flex-start}
.compact-recurring-table-wrap .finance-table tbody .utility-actions{grid-area:actions;align-self:stretch;justify-self:end;width:132px}
.recurring-finance-amount-group{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:stretch;min-width:0}
.recurring-finance-amount-group__value{display:flex;align-items:center;min-width:0}
.recurring-finance-amount-group__value .cell-input,.recurring-finance-amount-group__value .finance-sensitive-mask{width:100%}
.compact-recurring-table-wrap .finance-table tbody .utility-amount .recurring-finance-amount-group{grid-template-columns:68px minmax(0,1fr);gap:6px}
.compact-recurring-table-wrap .finance-table tbody .utility-amount .recurring-finance-amount-group .cell-select{min-height:30px;height:30px;padding:1px 6px}
.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .cell-input,.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .cell-select{width:100%}
.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-name .cell-input{min-height:30px;height:30px}
    .compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-document .cell-input,.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-amount .cell-input{min-height:30px;height:30px}
    .compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-document .js-uz-monthly-cost-area{min-height:24px;height:24px;padding:1px 8px}
    .compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-document .utility-assignment{display:grid;gap:3px}
    .compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-document .utility-assignment span{color:var(--ink3);font:700 9px/1.2 var(--font-ui);text-transform:uppercase}
    .compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-status .pill{display:inline-flex;align-items:center;min-height:24px;height:24px;padding:0 10px}
.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-status .cell-select{min-height:24px;height:24px;padding:1px 8px}
.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-month .cell-input,.compact-recurring-table-wrap .finance-table tbody .utility-row-grid .utility-date .cell-input{min-height:24px;height:24px;padding:1px 10px}
.compact-recurring-table-wrap .finance-table tbody .utility-category-hidden{display:none!important}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack{display:grid;gap:4px;width:132px;align-content:start}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack .btn{width:100%;margin:0;padding:1px 4px;min-height:18px;font-size:9px;line-height:1}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-compact .js-recurring-finance-mark-paid,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-compact .js-uz-monthly-mark-paid{background:var(--green);border:1px solid var(--greenActive);color:#fff;font-weight:700}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-compact .js-recurring-finance-mark-paid:hover,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-compact .js-uz-monthly-mark-paid:hover{background:#185b33;border-color:#124627}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-compact .js-recurring-finance-mark-paid:disabled,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-compact .js-uz-monthly-mark-paid:disabled{background:#cbd5e1;border-color:#cbd5e1;color:#fff;cursor:not-allowed}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities{display:grid;grid-template-columns:64px 64px;grid-template-rows:18px 18px;gap:2px;width:132px;height:38px;align-content:start}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-recurring-finance-mark-paid,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-uz-monthly-mark-paid{grid-column:1;grid-row:1 / span 2}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-recurring-finance-edit,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-uz-monthly-edit{grid-column:2;grid-row:1}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-recurring-finance-save,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-uz-monthly-save{grid-column:2;grid-row:2}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-recurring-finance-mark-paid,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-uz-monthly-mark-paid{background:var(--green);border:1px solid var(--greenActive);color:#fff;font-size:9px;font-weight:700;min-height:38px}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-recurring-finance-mark-paid:hover,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-uz-monthly-mark-paid:hover{background:#185b33;border-color:#124627}
.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-recurring-finance-mark-paid:disabled,.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities .js-uz-monthly-mark-paid:disabled{background:#cbd5e1;border-color:#cbd5e1;color:#fff;cursor:not-allowed}
@media (max-width:1280px){.compact-recurring-table-wrap .finance-table{min-width:1180px}.compact-recurring-table-wrap .finance-table thead tr{grid-template-columns:minmax(210px,2.05fr) minmax(150px,1.2fr) minmax(154px,1.15fr) minmax(80px,.66fr) minmax(112px,.9fr) minmax(112px,.9fr) 124px}.compact-recurring-table-wrap .finance-table tbody{min-width:1180px}.compact-recurring-table-wrap .finance-table tbody .utility-row-grid{grid-template-columns:minmax(210px,2.05fr) minmax(150px,1.2fr) minmax(154px,1.15fr) minmax(80px,.66fr) minmax(112px,.9fr) minmax(112px,.9fr) 124px;grid-template-areas:"name document amount status month date actions"}.compact-recurring-table-wrap .finance-table tbody .utility-actions{width:124px}.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack{width:124px}.compact-recurring-table-wrap .finance-table tbody .utility-actions .action-stack.action-stack-utilities{grid-template-columns:60px 60px;width:124px}}
@media (max-width:960px){.recurring-finance-amount-group{grid-template-columns:1fr}.compact-recurring-table-wrap .finance-table{min-width:0}.compact-recurring-table-wrap .finance-table tbody{min-width:0}.compact-recurring-table-wrap .finance-table tbody .utility-row-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"name" "document" "amount" "status" "month" "date" "actions"}.compact-recurring-table-wrap .finance-table tbody .utility-actions{width:132px;justify-self:start}}
    #dean-subnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 12px;padding:8px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:var(--surface);box-shadow:0 8px 18px rgba(10,26,52,.1)}
    .dean-panel{display:none}
    .dean-panel.active{display:block}
    #dean-subnav .finance-subtab{display:flex;align-items:center;justify-content:flex-start;min-height:48px;width:100%;border:1px solid rgba(25,41,72,.18);border-radius:9px;background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);padding:8px 10px;color:var(--brand-logo-blue);font:800 12px/1.15 var(--font-ui);text-align:left;box-shadow:none}
    #dean-subnav .finance-subtab:hover{border-color:#8fa4c8;color:var(--brand-logo-blue);box-shadow:0 8px 16px rgba(12,24,44,.08)}
    #dean-subnav .finance-subtab.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 18px rgba(15,27,52,.2)}
    #pg-dean .fees-program-btn,#pg-dean .fees-language-btn,#pg-dean .fees-semester-btn{border-color:rgba(25,41,72,.18);background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);color:var(--brand-logo-blue)}
    #pg-dean .fees-program-btn:hover,#pg-dean .fees-language-btn:hover,#pg-dean .fees-semester-btn:hover{border-color:#8fa4c8}
    #pg-dean .fees-program-btn strong,#pg-dean .fees-language-btn strong,#pg-dean .fees-semester-btn strong{color:var(--brand-logo-blue)}
    #pg-dean .fees-program-btn span,#pg-dean .fees-language-btn span,#pg-dean .fees-semester-btn span{color:#4f6386}
    #pg-dean .fees-program-btn.active,#pg-dean .fees-language-btn.active,#pg-dean .fees-semester-btn.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);box-shadow:0 8px 16px rgba(15,27,52,.18)}
    #pg-dean .fees-program-btn.active strong,#pg-dean .fees-language-btn.active strong,#pg-dean .fees-semester-btn.active strong,#pg-dean .fees-program-btn.active span,#pg-dean .fees-language-btn.active span,#pg-dean .fees-semester-btn.active span{color:#fff}
    #pg-dean .fees-program-btn.is-empty,#pg-dean .fees-language-btn.is-empty,#pg-dean .fees-semester-btn.is-empty{opacity:.62}
    .dean-department-list{display:grid;gap:12px}
    .dean-department-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr);gap:12px;align-items:stretch;border:1px solid rgba(25,41,72,.14);border-radius:14px;background:#fff;padding:12px}
    .dean-department-row__info{display:flex;flex-direction:column;gap:5px;justify-content:center}
    .dean-department-row__info strong{color:var(--brand-logo-blue);font:800 15px/1.2 var(--font-ui)}
    .dean-department-row__info span{color:#4f6386;font:600 11px/1.35 var(--font-ui)}
    .dean-department-row__info em{color:var(--ink);font:700 12px/1.35 var(--font-ui);font-style:normal}
    .dean-department-row__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
    .dean-department-row__actions .fees-program-btn{min-height:62px}
    @media(max-width:900px){.dean-department-row{grid-template-columns:1fr}.dean-department-row__actions{grid-template-columns:1fr}}
  @media (max-width:900px){.budget-study-card--list{grid-template-columns:1fr}.budget-study-card__side{padding-left:0;padding-top:14px;border-left:none;border-top:1px solid rgba(148,163,184,.18)}}
  @media (max-width:760px){.budget-toolbar{align-items:stretch}.budget-toolbar .btn{width:100%}.budget-allocation-picker__btn{min-height:unset}.budget-archive-card__actions .btn{width:100%}.budget-study-detail-toolbar{align-items:stretch}.budget-study-detail-toolbar__actions .btn{width:100%}.budget-study-editor summary{align-items:flex-start;flex-direction:column}.budget-study-editor__actions .btn{width:100%}.budget-study-card__actions .btn{width:100%}.budget-study-shared-toggle{align-items:flex-start;flex-direction:column}.budget-study-shared-boxes{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .fees-study-variant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
  .fees-study-variant-card{display:grid;gap:10px;min-height:146px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:16px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);padding:14px 16px;text-align:left;cursor:pointer;box-shadow:0 10px 22px rgba(25,41,72,.08)}
  .fees-study-variant-card:hover{border-color:var(--brand-logo-blue-soft-border-strong);box-shadow:0 16px 30px rgba(25,41,72,.12)}
  .fees-study-variant-card.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);box-shadow:0 14px 30px rgba(15,27,52,.2)}
  .fees-study-variant-card.is-empty{opacity:.62}
  .fees-study-variant-card__eyebrow{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue);font:700 8px var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
  .fees-study-variant-card strong{font:700 15px/1.22 var(--font-ui);color:var(--ink)}
  .fees-study-variant-card__meta{color:var(--ink2);font-size:11px}
  .fees-study-variant-card__rows{display:grid;gap:6px}
  .fees-study-variant-card__rows span{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:var(--ink2)}
  .fees-study-variant-card__rows strong{text-align:right}
  .fees-study-variant-card__note{color:var(--ink3);font-size:10px;line-height:1.45}
  .fees-study-variant-card.active strong,.fees-study-variant-card.active .fees-study-variant-card__meta,.fees-study-variant-card.active .fees-study-variant-card__rows span,.fees-study-variant-card.active .fees-study-variant-card__rows strong,.fees-study-variant-card.active .fees-study-variant-card__note{color:#fff}
  .fees-study-variant-card.active .fees-study-variant-card__eyebrow{background:rgba(255,255,255,.16);color:#fff}
  .fees-study-variant-stages{display:grid;gap:18px}
  .fees-study-variant-stage{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:20px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
  .fees-study-variant-stage--final{border-color:rgba(15,98,60,.18);background:linear-gradient(180deg,#fcfffd 0%,#f2fbf6 100%)}
  .fees-study-variant-stage__head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start}
  .fees-study-variant-stage__step{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#17365d;color:#fff;font:700 13px/1 var(--font-ui)}
  .fees-study-variant-stage__copy{display:grid;gap:4px}
  .fees-study-variant-stage__copy strong{font:700 15px/1.2 var(--font-ui);color:var(--ink)}
  .fees-study-variant-stage__copy span{color:var(--ink3);font-size:12px;line-height:1.5}
  .fees-study-variant-stage__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
  .fees-study-variant-card--step{min-height:132px}
  .fees-variant-empty{padding:18px;border:1px dashed var(--border);border-radius:18px;background:#fff;color:var(--ink3);text-align:center}
  .fees-program-config-card{display:grid;gap:16px}
  .fees-program-config-summary{display:grid;grid-template-columns:1fr;gap:10px}
  .fees-config-cyclers{display:grid;gap:12px}
  .fees-config-cycle{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:18px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
  .fees-config-cycle__label{font:700 11px/1.35 var(--font-ui);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}
  .fees-config-cycle__control{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
  .fees-config-cycle__control strong{display:block;padding:10px 12px;border:1px solid rgba(25,41,72,.14);border-radius:14px;background:#fff;font:700 14px/1.35 var(--font-ui);color:var(--ink);text-align:center}
  .fees-config-cycle small{color:var(--ink3);font-size:11px;line-height:1.5}
  .fees-program-config-summary__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
  .fees-program-config-summary__item{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:16px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
  .fees-program-config-summary__item span{font-size:11px;color:var(--ink2);text-transform:uppercase;letter-spacing:.06em}
  .fees-program-config-summary__item strong{font:700 16px/1.3 var(--font-ui);color:var(--ink)}
  .fees-program-config-form{display:grid;gap:14px}
  .fees-program-plan-preview{display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(180deg,#fcfdff 0%,#f1f5fb 100%)}
  .fees-program-plan-preview__label{font:700 11px/1.3 var(--font-ui);color:var(--ink);text-transform:uppercase;letter-spacing:.06em}
  .fees-program-plan-preview__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
  .fees-program-plan-preview__card{display:grid;gap:6px;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#fff}
  .fees-program-plan-preview__card strong{font:700 13px/1.2 var(--font-ui);color:var(--brand-logo-blue)}
  .fees-program-plan-preview__card span{font:700 15px/1.25 var(--font-ui);color:var(--ink)}
  .fees-program-plan-preview__card small{color:var(--ink3);font-size:11px;line-height:1.45}
  .fees-program-config-readonly{display:grid;gap:12px}
  .fees-program-config-readonly__note{padding:14px 16px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:18px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%);color:var(--ink2);font-size:12px;line-height:1.6}
  .fees-program-toolbar,.fees-language-toolbar,.fees-semester-toolbar{gap:6px;margin:0 0 12px}
  .fees-program-grid,.fees-language-grid,.fees-semester-grid,.fees-rabaty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
  .fees-program-btn,.fees-language-btn,.fees-semester-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;min-height:58px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;gap:5px}
  .fees-program-btn strong,.fees-language-btn strong,.fees-semester-btn strong{display:block;font-size:12px;line-height:1.2}
  .fees-program-btn span,.fees-language-btn span,.fees-semester-btn span{display:block;font-size:10px;line-height:1.35}
  .fees-config-cyclers{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:start}
  .fees-semester-grid{grid-template-columns:repeat(var(--fees-semester-columns,10),minmax(0,1fr))}
  .fees-semester-btn{min-width:0;padding:8px 8px}
  .fees-semester-btn strong{font-size:11px}
  .fees-semester-btn span{font-size:9px;line-height:1.25}
  .fees-rabaty-toolbar{margin-top:-4px}
  .fees-rabaty-grid{grid-template-columns:repeat(2,minmax(150px,220px))}
  #pg-fee-payments .fees-rabaty-btn,#pg-fee-payments .fees-unpaid-btn{border-color:var(--border);background:#fff}
  #pg-fee-payments .fees-rabaty-btn.active,#pg-fee-payments .fees-unpaid-btn.active{border-color:var(--brand-logo-blue-strong);background:var(--brand-logo-blue);box-shadow:0 14px 26px rgba(15,27,52,.18)}
  #pg-fee-payments .fees-rabaty-btn.active strong,#pg-fee-payments .fees-rabaty-btn.active span,#pg-fee-payments .fees-unpaid-btn.active strong,#pg-fee-payments .fees-unpaid-btn.active span{color:#fff}
  #pg-fee-payments .fees-discount-summary--second-level{margin:10px 0 16px}
  #pg-fee-payments .fees-discount-summary.is-collapsed{display:none}
  #pg-fee-payments .fees-unpaid-summary--second-level{margin:10px 0 16px}
  #pg-fee-payments .fees-unpaid-summary.is-collapsed{display:none}
  .fees-config-cycle{gap:5px;padding:8px 10px;border-radius:12px;border-color:rgba(25,41,72,.14);background:linear-gradient(180deg,#fcfdff 0%,#edf3fb 100%);box-shadow:0 4px 12px rgba(25,41,72,.05)}
  .fees-config-cycle__label{font-size:9px;line-height:1.2;letter-spacing:.04em;color:var(--ink3)}
  .fees-config-cycle__control{gap:6px}
  .fees-config-cycle__control strong{padding:6px 8px;border-radius:9px;border-color:rgba(25,41,72,.14);background:#fff;font-size:11px;line-height:1.2;font-weight:700}
  .fees-config-cycle__control .btn{padding:3px 6px;font-size:9px;min-width:24px;border-radius:7px;opacity:.86}
  .fees-config-cycle small{display:none}
  #pg-student-refunds .fees-program-btn.active,#pg-student-refunds .fees-language-btn.active,#pg-fee-payments .fees-program-btn.active,#pg-fee-payments .fees-language-btn.active,#pg-fee-payments .fees-semester-btn.active,#pg-fee-payments .fees-plan-option.active,#pg-student-refunds .refunds-stat-pill.active,#pg-student-refunds .side-btn.active,#pg-fee-payments .side-btn.active{border-color:var(--brand-logo-blue-strong);background:var(--brand-logo-blue);box-shadow:0 14px 26px rgba(15,27,52,.18)}
  #pg-student-refunds .fees-program-btn.active,#pg-student-refunds .fees-program-btn.active strong,#pg-student-refunds .fees-program-btn.active span,#pg-student-refunds .fees-language-btn.active,#pg-student-refunds .fees-language-btn.active strong,#pg-student-refunds .fees-language-btn.active span,#pg-fee-payments .fees-program-btn.active,#pg-fee-payments .fees-program-btn.active strong,#pg-fee-payments .fees-program-btn.active span,#pg-fee-payments .fees-language-btn.active,#pg-fee-payments .fees-language-btn.active strong,#pg-fee-payments .fees-language-btn.active span,#pg-fee-payments .fees-semester-btn.active,#pg-fee-payments .fees-semester-btn.active strong,#pg-fee-payments .fees-semester-btn.active span,#pg-fee-payments .fees-plan-option.active,#pg-fee-payments .fees-plan-option.active strong,#pg-fee-payments .fees-plan-option.active span,#pg-student-refunds .refunds-stat-pill.active,#pg-student-refunds .refunds-stat-pill.active strong,#pg-student-refunds .refunds-stat-pill.active span,#pg-student-refunds .side-btn.active strong,#pg-student-refunds .side-btn.active span,#pg-fee-payments .side-btn.active strong,#pg-fee-payments .side-btn.active span{color:#fff}
  #pg-fee-payments .side-btn.fees-discount-entry{position:relative;border-left:5px solid var(--brand-logo-blue)}
  #pg-fee-payments .side-btn.fees-discount-entry:not(.active){border-color:var(--brand-logo-blue-soft-border);border-left-color:var(--brand-logo-blue);background:linear-gradient(90deg,var(--brand-logo-blue-soft-end) 0%,#fff 44%,#fff 100%)}
  #pg-fee-payments .side-btn.fees-discount-entry::after{content:'RABAT';position:absolute;top:8px;right:8px;padding:2px 6px;border-radius:8px;background:var(--brand-logo-blue);color:#fff;font:700 9px/1.2 var(--font-ui);letter-spacing:.04em}
  #pg-fee-payments .side-btn.fees-discount-entry.active::after{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.45)}
  #pg-fee-payments .fees-discount-only-toggle,#pg-fee-payments .fees-unpaid-only-toggle{display:grid;gap:3px;min-height:46px;text-align:left}
  #pg-fee-payments .fees-discount-only-toggle strong,#pg-fee-payments .fees-unpaid-only-toggle strong{font:700 12px/1.2 var(--font-ui)}
  #pg-fee-payments .fees-discount-only-toggle span,#pg-fee-payments .fees-unpaid-only-toggle span{font-size:10px;color:var(--ink3)}
  #pg-fee-payments .fees-discount-only-toggle.active,#pg-fee-payments .fees-unpaid-only-toggle.active{border-color:var(--brand-logo-blue-strong);background:var(--brand-logo-blue);color:#fff}
  #pg-fee-payments .fees-discount-only-toggle.active span,#pg-fee-payments .fees-unpaid-only-toggle.active span{color:rgba(255,255,255,.84)}
  #pg-fee-payments .fees-discount-summary{display:grid;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--brand-logo-blue-soft-border);border-left:5px solid var(--brand-logo-blue);border-radius:var(--r);background:linear-gradient(90deg,var(--brand-logo-blue-soft-end) 0%,#fff 38%,#fff 100%)}
  #pg-fee-payments .fees-unpaid-summary{display:grid;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--redBorder);border-left:5px solid var(--red);border-radius:var(--r);background:linear-gradient(90deg,var(--redBg) 0%,#fff 38%,#fff 100%)}
  #pg-fee-payments .fees-discount-summary__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
  #pg-fee-payments .fees-unpaid-summary__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
  #pg-fee-payments .fees-discount-summary__overview{display:flex;align-items:center;gap:12px;margin-top:6px}
  #pg-fee-payments .fees-discount-summary__count{min-width:74px;color:var(--brand-logo-blue);font:800 34px/1 var(--font-ui);letter-spacing:0}
  #pg-fee-payments .fees-unpaid-summary__count{min-width:74px;color:var(--red);font:800 34px/1 var(--font-ui);letter-spacing:0}
  #pg-fee-payments .fees-discount-summary__count-label{max-width:260px;color:var(--ink);font:700 14px/1.25 var(--font-ui)}
  #pg-fee-payments .fees-discount-summary__bands{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:8px;min-width:min(420px,48vw)}
  #pg-fee-payments .fees-discount-band{display:grid;gap:4px;align-content:center;min-height:56px;padding:8px 10px;border:1px solid var(--brand-logo-blue-soft-border);border-radius:12px;background:#fff;text-align:center;box-shadow:0 8px 18px rgba(25,41,72,.08)}
  #pg-fee-payments .fees-discount-band strong{color:var(--brand-logo-blue);font:800 16px/1 var(--font-ui);letter-spacing:0}
  #pg-fee-payments .fees-discount-band span{color:var(--ink);font:800 18px/1 var(--font-ui)}
  #pg-fee-payments .fees-discount-band.is-empty{opacity:.58}
  #pg-fee-payments .fees-discount-summary__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  #pg-fee-payments .fees-discount-summary__metrics .metric{margin:0;background:#fff}
  #pg-fee-payments .fees-unpaid-language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
  #pg-fee-payments .fees-unpaid-language-card{display:grid;gap:10px;padding:12px;border:1px solid var(--redBorder);border-radius:12px;background:#fff}
  #pg-fee-payments .fees-unpaid-language-card__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:8px}
  #pg-fee-payments .fees-unpaid-language-card__head strong{display:block;color:var(--red);font:800 14px/1.2 var(--font-ui)}
  #pg-fee-payments .fees-unpaid-language-card__head span{display:block;margin-top:3px;color:var(--muted);font-size:11px}
  #pg-fee-payments .fees-unpaid-language-card__head em{font-style:normal;color:var(--red);font:800 14px/1.2 var(--font-ui);text-align:right}
  #pg-fee-payments .fees-unpaid-study-list{display:grid;gap:6px}
  #pg-fee-payments .fees-unpaid-study-row{display:flex;width:100%;justify-content:space-between;gap:10px;align-items:flex-start;padding:7px 8px;border:0;border-bottom:1px solid rgba(31,41,55,.08);border-radius:8px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;appearance:none}
  #pg-fee-payments .fees-unpaid-study-row:hover{background:var(--redBg)}
  #pg-fee-payments .fees-unpaid-study-row.active{background:var(--redBg);box-shadow:inset 0 0 0 1px var(--redBorder)}
  #pg-fee-payments .fees-unpaid-study-row:last-child{border-bottom:0}
  #pg-fee-payments .fees-unpaid-study-row strong{display:block;color:var(--ink);font-size:12px;line-height:1.25}
  #pg-fee-payments .fees-unpaid-study-row span{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.2}
  #pg-fee-payments .fees-unpaid-study-row em{font-style:normal;color:var(--red);font:800 12px/1.2 var(--font-ui);text-align:right;white-space:nowrap}
  #pg-fee-payments .fees-unpaid-study-empty{color:var(--muted);font-size:12px}
  #pg-student-refunds .fees-program-btn.active.is-empty,#pg-student-refunds .fees-language-btn.active.is-empty,#pg-fee-payments .fees-program-btn.active.is-empty,#pg-fee-payments .fees-language-btn.active.is-empty,#pg-fee-payments .fees-semester-btn.active.is-empty,#pg-fee-payments .fees-plan-option.active.is-empty{opacity:1}
  @media (max-width:1200px){.fees-semester-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
  @media (max-width:1200px){.fees-config-cyclers{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media (max-width:960px){#pg-fee-payments .fees-discount-summary__head,#pg-fee-payments .fees-unpaid-summary__head{display:grid}#pg-fee-payments .fees-discount-summary__bands{min-width:0;width:100%}#pg-fee-payments .fees-discount-summary__metrics,#pg-fee-payments .fees-unpaid-language-grid{grid-template-columns:1fr}}
  @media (max-width:760px){.fees-semester-grid,.fees-rabaty-grid{grid-template-columns:1fr}}
  @media (max-width:760px){.fees-config-cyclers{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:760px){.finance-study-fees-detail-grid,.finance-study-fees-breakdown-card__stats,.finance-study-fees-breakdown-card__fields,.finance-study-fees-discount-row{grid-template-columns:1fr}.finance-study-fees-actions .btn,.finance-study-fees-breakdown-card__actions .btn{width:100%}.finance-study-fees-discount-row__toggle{min-height:0}}
  @media (max-width:560px){.fees-config-cyclers{grid-template-columns:1fr}}
  .fees-program-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
  .fees-program-config-field{display:grid;gap:6px}
  .fees-program-config-field span{color:var(--ink);font:700 11px/1.35 var(--font-ui)}
  .fees-program-config-field small{color:var(--ink3);font-size:10px;line-height:1.55}
  .fees-program-config-check{display:inline-flex;align-items:center;gap:10px;color:var(--ink2);font-size:12px}
  .fees-program-config-actions{display:flex;flex-wrap:wrap;gap:10px}
.data-health-card{display:grid;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid #c9d9f1;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);box-shadow:0 8px 18px rgba(12,24,44,.05)}
  .data-health-card--fees{border-color:#bfd4ef;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
  .data-health-card--dean{border-color:var(--brand-logo-blue-soft-border);background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
  .data-health-card--finance{border-color:#bfd8cf;background:linear-gradient(180deg,#fff 0%,#f6fcf8 100%)}
.data-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.data-health-metric{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(255,255,255,.9)}
.data-health-metric span{font-size:10px;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em}
.data-health-metric strong{font:700 16px/1.15 var(--font-ui);color:var(--ink)}
.data-health-metric small{color:var(--ink3);font-size:10px;line-height:1.35}
.fees-installments-toggle-row{display:flex;justify-content:center;margin-top:14px}
.fees-installments-toggle-row .btn{min-width:240px}
.data-health-issues{display:grid;gap:8px}
.data-health-issue{display:grid;gap:6px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(255,255,255,.92)}
  .data-health-issue.is-high{border-color:var(--redBorder);background:linear-gradient(180deg,var(--redBg) 0%,rgba(255,255,255,.96) 100%)}
  .data-health-issue.is-warn{border-color:var(--amberBorder);background:linear-gradient(180deg,var(--amberBg) 0%,rgba(255,255,255,.96) 100%)}
  .data-health-issue.is-info{border-color:var(--brand-logo-blue-soft-border);background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,rgba(255,255,255,.96) 100%)}
.data-health-issue__top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.data-health-issue__top strong{font:700 12px/1.25 var(--font-ui);color:var(--ink)}
.data-health-issue__count{margin-left:auto;font:700 11px/1 var(--font-ui);color:var(--ink2)}
.data-health-issue p{margin:0;color:var(--ink2);font-size:10px;line-height:1.45}
.data-health-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:4px 7px;border-radius:999px;font:700 9px var(--font-ui);letter-spacing:.05em;text-transform:uppercase}
  .data-health-badge.is-high{background:var(--redBg);color:var(--red)}
  .data-health-badge.is-warn{background:var(--amberBg);color:var(--amber)}
  .data-health-badge.is-info{background:var(--brand-logo-blue-pill-bg);color:var(--brand-logo-blue)}
.data-health-empty{display:grid;gap:4px;padding:12px 14px;border:1px dashed rgba(148,163,184,.28);border-radius:14px;background:rgba(255,255,255,.85)}
.data-health-empty strong{font:700 12px/1.25 var(--font-ui);color:var(--ink)}
.data-health-empty p{margin:0;color:var(--ink2);font-size:10px;line-height:1.45}
  .data-health-empty.is-ok{border-style:solid;border-color:var(--greenBorder);background:linear-gradient(180deg,var(--greenBg) 0%,rgba(255,255,255,.96) 100%)}
.data-health-note{color:var(--ink3);font-size:10px;line-height:1.45}
.finance-search-toolbar{display:grid;grid-template-columns:minmax(260px,420px);gap:12px;margin:0 0 18px}
.finance-search-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.finance-search-column{min-height:0}
.finance-search-column .side-list{max-height:min(48vh,440px)}
.finance-search-column__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.finance-search-column__meta{font-size:11px;color:var(--ink3)}
.detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.detail-metrics:empty{display:none;margin-bottom:0}
.detail-metrics.finance-totals-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.recurring-finance-currency-grid{margin-top:-2px;margin-bottom:0}
.metric-currency-breakdown .metric-value{font-size:20px;line-height:1.18}
.metric-currency-breakdown .metric-sub{min-height:32px}
.finance-search-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:12px}
.finance-search-metric-text{font-size:20px;line-height:1.2}
@media (max-width:1100px){.finance-search-columns{grid-template-columns:1fr}}
.dean-student-detail-wrap{padding:18px;overflow:visible;background:linear-gradient(180deg,rgba(246,249,255,.96) 0%,rgba(255,255,255,.98) 100%)}
.dean-student-detail-body,.dean-student-profile,.dean-student-sections{display:grid;gap:16px}
.dean-student-empty{display:grid;gap:8px;padding:28px 24px;border:1px dashed rgba(148,163,184,.32);border-radius:18px;background:#fff;text-align:center}
.dean-student-empty strong{font:700 16px/1.3 var(--font-ui);color:var(--ink)}
.dean-student-empty span{color:var(--ink2);font-size:12px;line-height:1.5}
.dean-student-intake-filter{margin-top:14px}
.dean-student-intake-review{display:grid;gap:6px;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
.dean-student-intake-review label{display:grid;gap:6px}
.dean-student-intake-review label>span,.dean-student-intake-review strong{color:var(--ink2);font:700 11px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:0}
.dean-student-intake-review textarea{min-height:74px}
.dean-student-intake-review small,.dean-student-intake-review span,.dean-student-intake-review p{margin:0;color:var(--ink3);font-size:12px;line-height:1.45}
.dean-student-intake-review.is-readonly{background:#fff}
.dean-student-intake-review.is-readonly p{color:var(--ink2)}
.dean-student-inline-meta{margin-top:6px;color:var(--ink3);font-size:12px;line-height:1.45}
.dean-student-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:14px}
.dean-student-hero__card,.dean-student-money,.dean-student-section{border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,27,52,.04)}
.dean-student-hero__card{display:grid;gap:12px;padding:18px 20px;background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
.dean-student-hero__eyebrow{font:700 10px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-logo-blue-soft-text)}
.dean-student-hero__summary{font:700 20px/1.2 var(--font-ui);color:var(--brand-logo-blue)}
.dean-student-hero__text{margin:0;color:var(--ink2);font-size:12px;line-height:1.5}
.dean-student-pill-row{display:flex;flex-wrap:wrap;gap:8px}
.dean-student-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid rgba(115,139,186,.25);border-radius:999px;background:rgba(255,255,255,.88);color:var(--brand-logo-blue);font:700 11px var(--font-ui)}
.dean-student-money{display:grid;gap:14px;padding:18px 20px;background:linear-gradient(180deg,rgba(247,250,255,.98) 0%,rgba(255,255,255,.98) 100%)}
.dean-student-money__status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dean-student-money__status span{font:700 11px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.dean-student-money__totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.dean-student-money__tile{display:grid;gap:6px;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:#fff}
.dean-student-money__tile span{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em}
.dean-student-money__tile strong{font:700 16px/1.25 var(--font-ui);color:var(--ink)}
.dean-student-money__tile.is-money strong{color:var(--green)}
.dean-student-money__tile.is-ok strong{color:var(--green)}
.dean-student-money__tile.is-danger strong{color:var(--red)}
.dean-student-money__note{color:var(--ink2);font-size:12px}
.dean-student-section{display:grid;gap:14px;padding:18px 20px}
.dean-student-section__head{display:grid;gap:4px}
.dean-student-section__head h4{margin:0;font:700 16px/1.2 var(--font-ui);color:var(--ink)}
.dean-student-section__head p{margin:0;color:var(--ink2);font-size:12px;line-height:1.5}
.dean-student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.dean-student-field{display:grid;gap:6px;min-width:0;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(248,250,255,.78)}
.dean-student-field--wide{grid-column:span 2}
.dean-student-field span{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em}
.dean-student-field__value{min-width:0;color:var(--ink);font-size:13px;line-height:1.45}
.dean-student-field__value strong{font:700 15px/1.3 var(--font-ui);color:var(--ink)}
.dean-student-field__value .pill{width:max-content}
.dean-student-field__muted{color:var(--ink3)}
.dean-student-field small{color:var(--ink3);font-size:11px;line-height:1.45}
.dean-student-field .cell-input,.dean-student-field .cell-select{width:100%;min-width:0;background:#fff}
.dean-student-primary-field .dean-student-field__value{font-size:15px}
.dean-student-primary-input{min-height:44px;font-size:16px;font-weight:800;line-height:1.25}
.dean-student-primary-value{font-size:16px;line-height:1.3}
.dean-student-field.is-required-missing{border-color:rgba(220,38,38,.58);background:var(--redBg)}
.dean-student-field .dean-student-required-missing{border-color:var(--red)!important;background:var(--redBg)!important;color:var(--red)!important}
#hr-detail-body .dean-student-profile[data-hr-form-root="true"]{gap:12px}
#hr-detail-body .dean-student-profile[data-hr-form-root="true"] .dean-student-sections{gap:12px}
#hr-detail-body .hr-profile-compact{gap:10px;padding:12px 14px;border-radius:10px}
#hr-detail-body .hr-profile-compact .dean-student-section__head h4{font-size:14px}
#hr-detail-body .hr-profile-compact__grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}
#hr-detail-body .hr-profile-compact .dean-student-field{padding:10px 12px;border-radius:10px}
#hr-detail-body .hr-base-grid{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:start}
#hr-detail-body .hr-base-grid .dean-student-field{align-content:start;min-height:0;border-radius:10px}
#hr-detail-body .hr-base-grid .hr-function-field{grid-column:1/-1}
#hr-detail-body .hr-base-grid .hr-function-field .hr-function-role-options{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media (max-width:900px){#hr-detail-body .hr-base-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
@media (max-width:760px){#hr-detail-body .hr-base-grid{grid-template-columns:1fr}}
#hr-detail-body [data-hr-new-target][hidden],#hr-detail-body [data-hr-move-target][hidden],#hr-detail-body [data-hr-teaching-scope-field][hidden],#hr-detail-body [data-hr-teaching-scope-section][hidden]{display:none!important}
#hr-detail-body .hr-profile-builder--new{display:grid;gap:16px}
#hr-detail-body .hr-builder-actionbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid rgba(115,139,186,.24);border-radius:12px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);box-shadow:0 8px 18px rgba(15,27,52,.04)}
#hr-detail-body .hr-builder-actionbar>div:first-child{display:grid;gap:3px;min-width:0}
#hr-detail-body .hr-builder-actionbar strong{font:800 16px/1.2 var(--font-ui);color:var(--navy)}
#hr-detail-body .hr-builder-actionbar span{font-size:12px;line-height:1.45;color:var(--ink2)}
#hr-detail-body .hr-builder-actionbar .btn-row{margin:0;flex:0 0 auto}
#hr-detail-body .hr-builder-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#hr-detail-body .hr-builder-step{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num title" "num copy";column-gap:10px;row-gap:2px;min-width:0;padding:12px 14px;border:1px solid rgba(148,163,184,.22);border-radius:10px;background:#fff}
#hr-detail-body .hr-builder-step span{grid-area:num;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand-logo-blue-soft-bg);color:var(--navy);font:800 12px var(--font-ui)}
#hr-detail-body .hr-builder-step strong{grid-area:title;font:800 13px/1.25 var(--font-ui);color:var(--ink)}
#hr-detail-body .hr-builder-step em{grid-area:copy;font-style:normal;font-size:11px;line-height:1.35;color:var(--ink2)}
#hr-detail-body .hr-builder-step.is-active{border-color:var(--brand-logo-blue-soft-border-strong);background:linear-gradient(180deg,var(--brand-logo-blue-soft-start) 0%,var(--brand-logo-blue-soft-end) 100%)}
#hr-detail-body .hr-builder-main{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:14px;align-items:start}
#hr-detail-body .hr-builder-main--profile{grid-template-columns:1fr}
#hr-detail-body .hr-builder-main--profile .hr-builder-primary{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:start}
#hr-detail-body .hr-builder-main--profile .hr-profile-compact{grid-column:1;grid-row:1}
#hr-detail-body .hr-builder-main--profile .hr-builder-code-section{grid-column:1;grid-row:2}
#hr-detail-body .hr-builder-main--profile .hr-builder-staff-section{grid-column:2;grid-row:1 / span 2;align-self:stretch}
#hr-detail-body .hr-builder-primary{display:grid;gap:14px;min-width:0}
#hr-detail-body .hr-profile-builder--new .dean-student-section{align-content:start;border-radius:12px;padding:16px 18px}
#hr-detail-body .hr-profile-builder--new .dean-student-section__head h4{font-size:18px;line-height:1.2}
#hr-detail-body .hr-profile-builder--new .dean-student-section__head p{font-size:12px}
#hr-detail-body .hr-profile-builder--new .hr-profile-compact{align-self:start;gap:12px;padding:16px 18px}
#hr-detail-body .hr-profile-builder--new .hr-profile-compact__grid{grid-template-columns:repeat(2,minmax(190px,1fr));gap:12px}
#hr-detail-body .hr-builder-step-label{width:max-content;padding:4px 8px;border:1px solid rgba(115,139,186,.24);border-radius:999px;background:var(--brand-logo-blue-soft-bg);color:var(--navy);font:800 10px/1 var(--font-ui);text-transform:uppercase;letter-spacing:.04em}
#hr-detail-body .hr-builder-identity-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}
#hr-detail-body .hr-builder-role-grid{grid-template-columns:1fr}
#hr-detail-body .hr-builder-access-section{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#hr-detail-body .hr-builder-access-grid{grid-template-columns:1fr}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:stretch;gap:10px;max-height:330px;overflow:auto;padding:10px;border:1px solid rgba(115,139,186,.24);border-radius:12px;background:#fff;scrollbar-gutter:stable}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request__summary{position:sticky;top:0;z-index:2;grid-column:1/-1;min-height:34px;box-shadow:0 8px 16px rgba(15,27,52,.06)}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request__group{display:contents}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request__group legend{display:none}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request__item{min-height:50px;padding:12px 14px;border-radius:10px}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request__item input{width:17px;height:17px}
#hr-detail-body .hr-builder-access-section .hr-portal-access-request__item span{font-size:13px;line-height:1.25}
#hr-detail-body .hr-builder-payroll-grid{display:grid;gap:14px}
#hr-detail-body .hr-builder-payroll-head{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#hr-detail-body .hr-salary-grid{grid-template-columns:minmax(220px,320px) minmax(360px,1fr) minmax(220px,300px);align-items:start}
#hr-detail-body .hr-salary-extras-editor{display:grid;gap:8px}
#hr-detail-body .hr-salary-extra-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,180px);gap:8px}
#hr-detail-body .hr-salary-extras-readonly{display:grid;gap:6px}
#hr-detail-body .hr-salary-extras-readonly div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(115,139,186,.18)}
#hr-detail-body .hr-salary-extras-readonly div:last-child{border-bottom:0}
#hr-detail-body .hr-salary-total-field strong{display:block;font-size:18px;color:var(--brand-logo-blue)}
#hr-detail-body .hr-salary-total-note{display:block;margin-top:6px;color:var(--ink3);font:700 11px/1.35 var(--font-ui)}
#hr-detail-body .hr-target-category-group{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;min-width:0}
#hr-detail-body .hr-target-category-option{display:flex;align-items:center;gap:9px;min-height:42px;padding:10px 12px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#fff;color:var(--ink2);cursor:pointer;box-shadow:0 4px 10px rgba(15,27,52,.03);user-select:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
#hr-detail-body .hr-target-category-option:hover{border-color:var(--brand-logo-blue-soft-border-strong)}
#hr-detail-body .hr-target-category-option.is-selected{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 20px rgba(15,27,52,.16)}
#hr-detail-body .hr-target-category-option input{flex:0 0 auto;width:16px;height:16px;accent-color:var(--navy)}
#hr-detail-body .hr-target-category-option.is-selected input{accent-color:#fff}
#hr-detail-body .hr-target-category-option span{font:800 13px/1.25 var(--font-ui);color:currentColor;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
#hr-detail-body .hr-translator-payroll-grid{grid-template-columns:minmax(440px,2fr) repeat(2,minmax(180px,1fr));align-items:start}
#hr-detail-body .hr-translator-language-field{min-width:0}
#hr-detail-body .hr-translator-language-checks{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:8px;max-width:760px}
#hr-detail-body .hr-translator-language-option{display:flex;align-items:center;gap:9px;min-height:40px;padding:9px 11px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#fff;color:var(--ink2);cursor:pointer;user-select:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
#hr-detail-body .hr-translator-language-option:hover{border-color:var(--brand-logo-blue-soft-border-strong)}
#hr-detail-body .hr-translator-language-option.is-selected{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 20px rgba(15,27,52,.16)}
#hr-detail-body .hr-translator-language-option input{flex:0 0 auto;width:15px;height:15px;accent-color:var(--navy)}
#hr-detail-body .hr-translator-language-option.is-selected input{accent-color:#fff}
#hr-detail-body .hr-translator-language-option span{font:800 12px/1.25 var(--font-ui);color:currentColor;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
#hr-detail-body .hr-new-target-section{position:relative;transition:border-color .16s ease,background .16s ease,opacity .16s ease}
#hr-detail-body .hr-new-target-section.is-active{border-color:var(--brand-logo-blue-soft-border-strong);background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#hr-detail-body .hr-new-target-section.is-disabled{opacity:.68;background:#f8fafc}
#hr-detail-body .hr-new-target-section.is-disabled .dean-student-section__head h4,#hr-detail-body .hr-new-target-section.is-disabled .dean-student-section__head p,#hr-detail-body .hr-new-target-section.is-disabled .hr-rate-group__title,#hr-detail-body .hr-new-target-section.is-disabled .hr-rate-group__note{color:var(--ink3)}
#hr-detail-body .hr-new-target-section.is-disabled .cell-input,#hr-detail-body .hr-new-target-section.is-disabled .cell-select,#hr-detail-body .hr-new-target-section.is-disabled textarea{background:#eef3f9;color:var(--ink3);cursor:not-allowed}
#hr-detail-body .hr-new-target-section.is-disabled .hr-translator-language-option{background:#eef3f9;color:var(--ink3);cursor:not-allowed}
#hr-detail-body .hr-new-target-section.is-disabled .hr-translator-language-option input{cursor:not-allowed}
#hr-detail-body .hr-pensum-locked .cell-input{background:#eef3f9;color:var(--ink3);cursor:not-allowed}
#hr-detail-body .hr-builder-scope-section{transition:border-color .16s ease,background .16s ease,opacity .16s ease}
#hr-detail-body .hr-builder-scope-section.is-active{border-color:var(--brand-logo-blue-soft-border-strong);background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#hr-detail-body .hr-builder-scope-section.is-disabled{opacity:.68;background:#f8fafc}
#hr-detail-body .hr-builder-scope-section.is-disabled .dean-student-section__head h4,#hr-detail-body .hr-builder-scope-section.is-disabled .dean-student-section__head p{color:var(--ink3)}
#hr-detail-body .hr-builder-scope-section.is-disabled .hr-scope-option{background:#eef3f9;color:var(--ink3);cursor:not-allowed}
#hr-detail-body .hr-builder-scope-section.is-disabled .hr-scope-option input{cursor:not-allowed}
#hr-detail-body .hr-profile-builder--new .hr-builder-scope-section .hr-scope-option span{font:800 14px/1.28 var(--font-ui);text-transform:none;letter-spacing:0;color:currentColor}
#hr-detail-body .hr-builder-bottom{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
#hr-detail-body .hr-profile-builder--new .hr-bank-tax-grid{grid-template-columns:1fr}
#hr-detail-body .hr-profile-builder--new .dean-student-field{border-radius:10px;padding:11px 12px}
#hr-detail-body .hr-profile-builder--new .dean-student-field span{font-size:11px;font-weight:800;line-height:1.25}
#hr-detail-body .hr-profile-builder--new .cell-input,#hr-detail-body .hr-profile-builder--new .cell-select{min-height:40px;padding:9px 12px;font-size:15px;line-height:1.3}
#hr-detail-body .hr-profile-builder--new .hr-function-field,#hr-detail-body .hr-profile-builder--new .hr-portal-access-request-field,#hr-detail-body .hr-profile-builder--new .hr-teaching-scope-field{grid-column:1/-1;background:#fff}
#hr-detail-body .hr-profile-builder--new .hr-scope-options{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
#hr-detail-body .hr-profile-builder--new .hr-scope-option{padding:12px;gap:8px}
#hr-detail-body .hr-profile-builder--new .hr-builder-scope-section .hr-scope-option span{font:800 11px/1.16 var(--font-ui);text-transform:none;letter-spacing:0;color:currentColor}
#hr-detail-body .hr-profile-builder--new .hr-function-role-options{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
#hr-detail-body .hr-profile-builder--new .hr-portal-access-request__group{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
#hr-detail-body .hr-profile-builder--new .hr-target-category-group,
#hr-detail-body .hr-profile-builder--new .hr-translator-language-checks{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));max-width:none}
#hr-detail-body .hr-profile-builder--new .hr-builder-staff-section .hr-target-category-group{grid-template-columns:repeat(3,minmax(0,1fr))}
#hr-detail-body .hr-profile-builder--new .hr-builder-staff-section .hr-target-category-option{min-height:38px;padding:8px 10px;gap:7px}
#hr-detail-body .hr-profile-builder--new .hr-builder-staff-section .hr-target-category-option span{font-size:12px;line-height:1.18}
#hr-detail-body .hr-profile-builder--new .hr-builder-access-section .hr-portal-access-request__item span{font:800 13px/1.25 var(--font-ui);text-transform:none;letter-spacing:0;color:currentColor}
@media (max-width:1100px){#hr-detail-body .hr-builder-main,#hr-detail-body .hr-builder-bottom,#hr-detail-body .hr-builder-main--profile .hr-builder-primary,#hr-detail-body .hr-salary-grid,#hr-detail-body .hr-translator-payroll-grid{grid-template-columns:1fr}#hr-detail-body .hr-builder-steps{grid-template-columns:repeat(2,minmax(0,1fr))}#hr-detail-body .hr-builder-access-section .hr-portal-access-request{grid-template-columns:repeat(2,minmax(0,1fr))}#hr-detail-body .hr-translator-language-field{grid-column:auto}}
@media (max-width:1100px){#hr-detail-body .hr-builder-main--profile .hr-profile-compact,#hr-detail-body .hr-builder-main--profile .hr-builder-code-section,#hr-detail-body .hr-builder-main--profile .hr-builder-staff-section{grid-column:auto;grid-row:auto}}
@media (max-width:700px){#hr-detail-body .hr-builder-steps{grid-template-columns:1fr}#hr-detail-body .hr-builder-actionbar{align-items:flex-start;flex-direction:column}#hr-detail-body .hr-profile-builder--new .hr-profile-compact__grid,#hr-detail-body .hr-builder-identity-grid,#hr-detail-body .hr-builder-access-section .hr-portal-access-request,#hr-detail-body .hr-salary-extra-row,#hr-detail-body .hr-translator-language-checks,#hr-detail-body .hr-target-category-group,#hr-detail-body .hr-profile-builder--new .hr-builder-staff-section .hr-target-category-group{grid-template-columns:1fr}}
#hr-detail-body .hr-move-section{border-color:rgba(37,99,235,.18);background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#hr-detail-body .hr-move-grid{grid-template-columns:1fr}
#hr-detail-body .hr-move-target-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
#hr-detail-body .hr-move-target-fields[hidden]{display:none!important}
#hr-detail-body .hr-tax-panel{display:grid;gap:12px;min-width:0}
#hr-detail-body .hr-bank-tax-grid{grid-template-columns:1fr;align-items:start;gap:12px}
#hr-detail-body .hr-bank-details-panel{grid-column:1;display:grid;gap:10px;min-width:0;align-self:start}
#hr-detail-body .hr-bank-details-grid{grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) minmax(320px,1.45fr);gap:10px}
#hr-detail-body .hr-bank-details-grid>.dean-student-field{min-height:0;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
#hr-detail-body .hr-company-details-panel{grid-column:1;display:grid;gap:10px;min-width:0;align-self:start;padding-top:2px}
#hr-detail-body .hr-company-details-panel .dean-student-section__head{margin:0}
#hr-detail-body .hr-company-details-panel .dean-student-section__head h4{font-size:13px}
#hr-detail-body .hr-company-details-panel .dean-student-section__head p{font-size:12px}
#hr-detail-body .hr-company-details-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1.1fr) minmax(150px,.62fr) minmax(320px,1.35fr);gap:10px}
#hr-detail-body .hr-company-details-grid>.dean-student-field{min-height:0;background:linear-gradient(180deg,#fbfcff 0%,#fff 100%)}
#hr-detail-body .hr-bank-tax-grid>.hr-tax-details-field{grid-column:1;width:100%;max-width:100%;background:#fff}
#hr-detail-body .hr-bank-tax-grid .js-hr-bank-account{max-width:34ch}
#hr-detail-body .hr-bank-tax-grid .js-hr-invoice-company-nip{width:100%;max-width:none}
#hr-detail-body .hr-tax-panel>.dean-student-grid{grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px}
#hr-detail-body .hr-tax-panel>.dean-student-grid .dean-student-field--wide{grid-column:span 2}
#hr-detail-body .hr-tax-panel .hr-rate-group .dean-student-grid{grid-template-columns:repeat(6,minmax(118px,1fr));gap:10px}
#hr-detail-body .hr-tax-panel .hr-rate-group .dean-student-field--wide{grid-column:span 2}
#hr-detail-body .hr-tax-panel .dean-student-field{min-width:0}
#hr-detail-body .hr-tax-panel .toggle{min-height:32px;align-items:center}
#hr-detail-body .hr-tax-summary{display:grid;gap:4px;min-width:0}
#hr-detail-body .hr-tax-summary strong{font:700 13px/1.35 var(--font-ui);color:var(--ink);overflow-wrap:anywhere}
#hr-detail-body .hr-tax-summary small{font-size:11px;line-height:1.45;color:var(--ink3);overflow-wrap:anywhere}
@media (max-width:1100px){#hr-detail-body .hr-bank-details-grid,#hr-detail-body .hr-company-details-grid{grid-template-columns:1fr}#hr-detail-body .hr-tax-panel>.dean-student-grid,#hr-detail-body .hr-tax-panel .hr-rate-group .dean-student-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
.finance-settlement-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.finance-settlement-box{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.finance-settlement-box__head{display:grid;gap:4px}
.finance-settlement-box__head strong{font:700 14px/1.25 var(--font-ui);color:var(--ink)}
.finance-settlement-box__head span{color:var(--ink2);font-size:12px;line-height:1.45}
.finance-settlement-box .dean-student-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.hr-rate-group{grid-column:1/-1;display:grid;gap:10px}
.hr-rate-group__title{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em}
.hr-rate-box-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.hr-rate-box-row .dean-student-field{margin:0}
.hr-rate-group__note{color:var(--ink3);font-size:11px;line-height:1.45}
.hr-scope-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;max-height:360px;overflow:auto;padding:6px;scrollbar-gutter:stable}
.hr-scope-option{display:flex;align-items:center;gap:12px;min-width:0;min-height:56px;padding:14px 16px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#fff;color:var(--ink2);cursor:pointer;user-select:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.hr-scope-option:hover{border-color:var(--brand-logo-blue-soft-border-strong)}
.hr-scope-option.is-selected{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 20px rgba(15,27,52,.16)}
.hr-scope-option input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--brand-logo-blue)}
.hr-scope-option.is-selected input{accent-color:#fff}
.hr-scope-option span{font:800 14px/1.28 var(--font-ui);color:currentColor;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.hr-function-role-group{display:grid;gap:10px;min-width:0}
.hr-function-role-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;min-width:0}
.hr-function-role-option{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;padding:10px 12px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#fff;color:var(--ink2);cursor:pointer;box-shadow:0 4px 10px rgba(15,27,52,.03);user-select:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.hr-function-role-option:hover{border-color:var(--brand-logo-blue-soft-border-strong)}
.hr-function-role-option.is-selected{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 20px rgba(15,27,52,.16)}
.hr-function-role-option input{flex:0 0 auto;width:15px;height:15px;accent-color:var(--navy)}
.hr-function-role-option.is-selected input{accent-color:#fff}
.hr-function-role-option span{font:800 12px/1.3 var(--font-ui);color:currentColor;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.hr-function-chip-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.hr-portal-access-request{display:grid;gap:8px;min-width:0}
.hr-portal-access-request__readonly{display:grid;gap:8px;min-width:0}
.hr-portal-access-request__summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:7px 8px;border:1px solid var(--redBorder);border-radius:8px;background:var(--redBg);color:var(--red)}
.hr-portal-access-request__summary.is-approved{border-color:var(--greenBorder);background:var(--greenBg);color:var(--green)}
.hr-portal-access-request__summary strong{font:800 11px/1.2 var(--font-ui)}
.hr-portal-access-request__summary span{font:700 10px/1.25 var(--font-ui);text-align:right}
.hr-portal-access-request__group{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}
.hr-portal-access-request__group legend{padding:0 4px;color:var(--ink3);font:700 10px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.04em}
.hr-portal-access-request__item{display:flex;align-items:center;gap:9px;min-width:0;min-height:40px;padding:9px 11px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#fff;color:var(--ink2);cursor:pointer;user-select:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.hr-portal-access-request__item.is-selected,
.hr-portal-access-request__item.is-selected.is-approved{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 10px 20px rgba(15,27,52,.16)}
.hr-portal-access-request__item input{flex:0 0 auto;width:15px;height:15px;accent-color:var(--brand-logo-blue)}
.hr-portal-access-request__item.is-selected input,
.hr-portal-access-request__item.is-approved input{accent-color:#fff}
.hr-portal-access-request__item span{font:800 12px/1.3 var(--font-ui);color:currentColor;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.hr-add-toolbar{margin-top:0;justify-content:stretch;gap:8px}
.hr-add-toolbar .btn{flex:1 1 0;min-width:0;padding-inline:10px}
.hr-audit-metrics{margin-bottom:0}
.hr-audit-list{display:grid;gap:10px}
.hr-audit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#fff}
.hr-audit-row__copy{display:grid;gap:3px;min-width:0}
.hr-audit-row__copy strong{font:700 13px/1.3 var(--font-ui);color:var(--ink);overflow-wrap:anywhere}
.hr-audit-row__copy span{font-size:12px;line-height:1.4;color:var(--ink2);overflow-wrap:anywhere}
.hr-audit-row .btn{flex:0 0 auto}
#fees-table-wrap.fees-student-detail-wrap .dean-table{min-width:0;table-layout:auto}
#fees-table-wrap.fees-student-detail-wrap .dean-table thead{display:none}
#fees-table-wrap.fees-student-detail-wrap .dean-table td{padding:0;border-right:none;border-bottom:none;background:transparent}
.fees-student-card-cell{padding:0!important;border-right:none!important;border-bottom:none!important;background:transparent}
#refunds-table-wrap.refunds-student-detail-wrap .dean-table{min-width:0;table-layout:auto}
#refunds-table-wrap.refunds-student-detail-wrap .dean-table thead{display:none}
#refunds-table-wrap.refunds-student-detail-wrap .dean-table td{padding:0;border-right:none;border-bottom:none;background:transparent}
.refunds-student-card-cell{padding:0!important;border-right:none!important;border-bottom:none!important;background:transparent}
#finance-table-wrap.finance-detail-card-wrap .finance-table,#admin-finance-table-wrap.finance-detail-card-wrap .finance-table{min-width:0;table-layout:auto}
#finance-table-wrap.finance-detail-card-wrap .finance-table thead,#admin-finance-table-wrap.finance-detail-card-wrap .finance-table thead{display:none}
#finance-table-wrap.finance-detail-card-wrap .finance-table td,#admin-finance-table-wrap.finance-detail-card-wrap .finance-table td{padding:0;border-right:none;border-bottom:none;background:transparent}
.finance-detail-card-cell{padding:0!important;border-right:none!important;border-bottom:none!important;background:transparent}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-table{min-width:0;table-layout:auto}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-table thead{display:none}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-table td{padding:0;border-right:none;border-bottom:none;background:transparent}
.dean-teacher-detail-card-cell{padding:0!important;border-right:none!important;border-bottom:none!important;background:transparent}
.dean-teacher-detail-wrap{border-radius:12px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-detail-wrap{padding:14px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-profile,#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-sections{gap:12px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-hero{gap:10px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-hero__card,#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-money,#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-section{border-radius:12px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-hero__card,#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-money,#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-section{gap:10px;padding:14px 16px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-hero-card--compact{align-content:center}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-pill-row{gap:5px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-pill{padding:4px 7px;font-size:9px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-money__totals{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-money__tile{gap:4px;padding:9px 10px;border-radius:10px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-money__tile strong{font-size:14px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-section__head h4{font-size:14px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-section__head p{font-size:11px;line-height:1.35}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-field{gap:4px;padding:9px 10px;border-radius:10px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-field__value{font-size:12px;line-height:1.35}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-student-field__value strong{font-size:13px}
.dean-teacher-summary-box .dean-student-money__totals{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
.dean-teacher-summary-box .dean-student-money__tile:first-child{grid-column:span 2}
.dean-teacher-module-list{display:grid;gap:9px}
.dean-teacher-module-card{display:grid;gap:8px;padding:11px 12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#fff;box-shadow:0 6px 14px rgba(15,27,52,.03)}
.dean-teacher-module-card.is-request{border-color:rgba(154,103,0,.2);background:linear-gradient(180deg,#fffdf7 0%,#fff 100%)}
.dean-teacher-module-card.is-unassigned{border-color:var(--purpleBorder);background:linear-gradient(180deg,#fbf9ff 0%,#fff 100%)}
.dean-teacher-module-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.dean-teacher-module-card__head strong{display:block;margin-top:2px;font:700 14px/1.25 var(--font-ui);color:var(--ink)}
.dean-teacher-module-card__head p{margin:2px 0 0;color:var(--ink2);font-size:11px;line-height:1.35}
.dean-teacher-module-actions{justify-content:flex-start;margin-top:0}
.dean-teacher-module-actions .btn{min-width:76px}
.dean-teacher-planning-wrap{max-width:100%;overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table{min-width:1840px;table-layout:fixed}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table thead{display:table-header-group}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th{padding:8px 8px;border-bottom:1px solid var(--border);color:var(--ink3);font:700 10px/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:0;text-align:left;white-space:normal;background:#f8fafc}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td{padding:10px 8px;border-bottom:1px solid rgba(148,163,184,.18);border-right:none;background:#fff;color:var(--ink2);vertical-align:middle}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table tbody tr:last-child td{border-bottom:none}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(1),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(1){width:118px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(2),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(2){width:134px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(3),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(3){width:66px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(4),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(4){width:230px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(5),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(5){width:190px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(n+6):nth-child(-n+13),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(n+6):nth-child(-n+13){padding-left:4px;padding-right:4px;text-align:center}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(6),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(6){width:62px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(7),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(7){width:70px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(8),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(8){width:74px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(9),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(9){width:82px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(10),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(10){width:54px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(11),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(11){width:64px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(12),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(12){width:82px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(13),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(13){width:82px}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(14),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(14){width:180px;text-align:left}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(15),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(15){width:180px;text-align:left}
#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table th:nth-child(16),#dean-table-wrap.dean-teacher-detail-card-wrap .dean-teacher-planning-table td:nth-child(16){width:150px;text-align:left}
.dean-teacher-request-stage{display:grid;gap:3px;align-items:start;margin-bottom:5px}
.dean-teacher-request-stage:last-child{margin-bottom:0}
.dean-teacher-request-stage small{display:block;color:var(--ink3);font-size:10px;line-height:1.25}
.dean-teacher-request-list{display:grid;gap:5px;font-size:11px;line-height:1.3}
.dean-teacher-request-list span{display:grid;gap:1px}
.dean-teacher-request-list strong{font-size:11px;color:var(--ink);text-transform:none}
.dean-teacher-request-list small{color:var(--ink3)}
.dean-teacher-decision-actions{gap:5px;align-items:start}
.dean-teacher-decision-actions .btn{min-width:64px;padding-inline:8px}
.finance-person-actions{margin-top:0;justify-content:flex-start;flex-wrap:wrap}
.finance-person-actions .btn{min-width:92px}
.finance-monthly-payments{display:grid;gap:14px}
.finance-monthly-payments__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.finance-monthly-payments__table-wrap{overflow:auto;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:#fff}
.finance-monthly-payments__table{width:100%;border-collapse:collapse;min-width:520px}
.finance-monthly-payments__table th,.finance-monthly-payments__table td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.14);text-align:left;vertical-align:middle}
.finance-monthly-payments__table th{font:700 10px/1.4 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);background:rgba(248,250,255,.9)}
.finance-monthly-payments__table td{font-size:13px;color:var(--ink)}
.finance-monthly-payments__table tbody tr:last-child td{border-bottom:none}
.finance-monthly-payments__table td strong{font:700 14px/1.3 var(--font-ui);color:var(--ink)}
.finance-monthly-payments__table .cell-input{width:100%;min-width:0;background:#fff}
.finance-monthly-payments__table td:first-child{white-space:nowrap}
.uz-monthly-recurring-card{display:grid;margin-top:12px}
.uz-monthly-recurring-card .dean-student-section{border-radius:8px;padding:14px 16px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.uz-monthly-recurring-card .budget-info-meta{margin:0}
.uz-monthly-recurring-card .finance-monthly-payments__table-wrap{border-radius:8px}
.uz-monthly-recurring-card .finance-monthly-payments__table th,.uz-monthly-recurring-card .finance-monthly-payments__table td{padding:9px 10px}
.side-btn.uz-company-name-only{display:flex;align-items:center;min-height:42px}
.side-btn.recurring-company-name-only{display:flex;align-items:center;min-height:42px}
.side-btn.uz-company-name-only strong,.side-btn.recurring-company-name-only strong{margin-bottom:0}
.uz-company-tools-slot:empty{display:none}
.recurring-company-tools-slot:empty{display:none}
.recurring-finance-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.recurring-finance-detail-head>div:first-child{min-width:0}
.recurring-finance-archive-actions{margin-top:0}
.recurring-finance-archive-actions--below{justify-content:flex-start;margin-top:12px}
.recurring-finance-archive-table{min-width:840px}
.recurring-finance-archive-row td{background:#f8fafc}
.uz-company-detail-tools{display:grid;gap:10px;margin:0 0 14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}
.uz-company-label-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.uz-company-label-row .fg{min-width:220px;margin:0}
.uz-company-label-current{display:flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#f8fafc;color:var(--ink2);font:700 11px/1.3 var(--font-ui)}
.uz-company-link-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.uz-invoice-amount{display:grid;gap:4px}
.uz-invoice-meta{display:flex;flex-wrap:wrap;gap:4px}
.uz-invoice-meta span{display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border:1px solid rgba(148,163,184,.26);border-radius:8px;background:#f8fafc;color:var(--ink2);font:700 9px/1.2 var(--font-ui);white-space:nowrap}
.uz-invoice-actions .js-uz-monthly-mark-paid{background:var(--green);border-color:var(--greenActive);color:#fff;font-weight:700}
.uz-invoice-actions .js-uz-monthly-mark-paid:disabled{background:#cbd5e1;border-color:#cbd5e1;color:#fff;cursor:not-allowed}
@media (max-width:960px){.uz-company-label-row{align-items:stretch}.uz-company-label-row .fg{min-width:0;flex:1 1 180px}.uz-company-link-row{width:100%}}
.fees-student-payment-controls{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start}
.fees-student-payment-controls .btn{width:100%}
.fees-student-payment-note{display:grid;gap:8px}
.fees-plan-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.fees-plan-option{display:grid;align-content:start;gap:8px;width:100%;min-height:104px;padding:14px 16px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:linear-gradient(180deg,#fbfcff 0%,#eef3fb 100%);color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 10px 22px rgba(15,27,52,.06);text-transform:none;letter-spacing:normal}
.fees-plan-option:hover{border-color:#8fa4c8;box-shadow:0 14px 28px rgba(15,27,52,.1)}
.fees-plan-option:disabled{cursor:not-allowed}
.fees-plan-option.is-empty,.fees-plan-option.is-locked{opacity:.82}
.fees-plan-option strong{display:block;font:700 15px/1.3 var(--font-ui);color:var(--ink);text-transform:none;letter-spacing:normal}
.fees-plan-option__meta{display:block;font:700 11px/1.45 var(--font-ui);color:var(--brand-logo-blue-soft-text);text-transform:uppercase;letter-spacing:.04em}
.fees-plan-option__note{display:block;font-size:11px;line-height:1.5;color:var(--ink3);text-transform:none;letter-spacing:normal}
.fees-plan-selector--embedded{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.fees-plan-option--embedded{min-height:96px;padding:14px 16px}
@media (max-width:1100px){.dean-student-hero{grid-template-columns:1fr}}
@media (max-width:900px){.finance-settlement-split{grid-template-columns:1fr}}
@media (max-width:760px){.dean-student-detail-wrap,.dean-student-section,.dean-student-hero__card,.dean-student-money{padding:16px}.dean-student-grid,.dean-student-money__totals,.fees-student-payment-controls,.finance-monthly-payments__summary,#hr-detail-body .hr-bank-tax-grid{grid-template-columns:1fr}.dean-student-field--wide,.dean-teacher-summary-box .dean-student-money__tile:first-child{grid-column:auto}.finance-monthly-payments__table{min-width:0}}
  

#pg-student-refunds .refunds-totals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}#pg-student-refunds .refunds-totals-grid .metric{padding:7px 9px;min-width:0}#pg-student-refunds .refunds-totals-grid .metric-label{margin-bottom:3px;font:700 8px/1.3 var(--font-ui)}#pg-student-refunds .refunds-totals-grid .metric-value{font:700 16px/1.1 var(--font-ui)}#pg-student-refunds .refunds-totals-grid .metric-sub{font-size:9px;line-height:1.25}

#pg-admin-hub .metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

#pg-admin-hub .metrics .admin-hub-tile {
  cursor: pointer;
  text-align: left;
  background: var(--panel);
  border-color: var(--border);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}

#pg-admin-hub .metrics .admin-hub-tile:hover,
#pg-admin-hub .metrics .admin-hub-tile:focus-visible {
  border-color: var(--brand-logo-blue-strong);
  background: linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  transform: translateY(-1px);
  color: #fff;
}

#pg-admin-hub .metrics .admin-hub-tile:active {
  border-color: var(--brand-logo-blue-strong);
  background: linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  box-shadow: 0 14px 26px rgba(15,27,52,.2);
  transform: translateY(0);
  color: #fff;
}

#pg-admin-hub .metrics .admin-hub-tile:hover .metric-label,
#pg-admin-hub .metrics .admin-hub-tile:hover .metric-sub {
  color: #fff;
}

#pg-admin-hub .metrics .admin-hub-tile.active {
  border-color: var(--brand-logo-blue-strong);
  background: linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  box-shadow: 0 14px 26px rgba(15,27,52,.2);
  color: #fff;
}

#pg-admin-hub .metrics .admin-hub-tile.active .metric-label,
#pg-admin-hub .metrics .admin-hub-tile.active .metric-sub {
  color: #fff;
}

#pg-admin-hub .metrics .admin-hub-tile .metric-label{
  font-size:18px;
  line-height:1.18;
}

#pg-admin-hub .metrics .admin-hub-tile .metric-sub{
  font-size:11px;
  line-height:1.4;
}

#pg-language-school{
  max-width:none;
}

#pg-language-school .language-school-tabs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,180px));
  gap:8px;
  align-items:stretch;
  justify-content:start;
  margin:0 0 14px;
}

#pg-language-school .language-school-tabs .finance-subtab{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:58px;
  border:1px solid rgba(25,41,72,.18);
  border-radius:14px;
  background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);
  color:var(--brand-logo-blue);
  padding:10px 12px;
  text-align:left;
  box-shadow:0 8px 16px rgba(12,24,44,.06);
}

#pg-language-school .language-school-tabs .finance-subtab strong{
  display:block;
  min-width:0;
  color:var(--brand-logo-blue);
  font:700 12px/1.2 var(--font-ui);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
}

#pg-language-school .language-school-tabs .finance-subtab span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border:1px solid rgba(25,41,72,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--brand-logo-blue-soft-text);
  font:800 10px/1 var(--font-ui);
}

#pg-language-school .language-school-tabs .finance-subtab:not(.active):hover{
  border-color:#8fa4c8;
  background:linear-gradient(180deg,#fff 0%,#eef4ff 100%);
  box-shadow:0 12px 22px rgba(12,24,44,.1);
}

#pg-language-school .language-school-tabs .finance-subtab.active{
  border-color:#0f1b34;
  background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);
  box-shadow:0 14px 26px rgba(15,27,52,.2);
  color:#fff;
}

#pg-language-school .language-school-tabs .finance-subtab.active strong{
  color:#fff;
}

#pg-language-school .language-school-tabs .finance-subtab.active span{
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.12);
  color:#fff;
}

#pg-language-school .language-school-tabs .finance-subtab.is-empty:not(.active){
  opacity:.72;
}

#pg-language-school .language-school-summary{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
}

#pg-language-school .language-school-calculator-card{
  display:grid;
  gap:10px;
  padding:16px 18px;
}

#pg-language-school .language-school-calculator-card .card-head{
  margin-bottom:0;
}

#pg-language-school .language-school-calculator-card .card-title{
  font-size:17px;
  line-height:1.2;
}

#pg-language-school .language-school-calculator-card .card-sub{
  font-size:12px;
  line-height:1.35;
}

#pg-language-school .language-school-calculator{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  align-items:start;
}

#pg-language-school .language-school-calculator .fg{
  min-width:0;
  gap:4px;
  padding:7px 9px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(248,250,255,.92) 0%,rgba(255,255,255,.98) 100%);
}

#pg-language-school .language-school-calculator .fg>span{
  color:var(--ink3);
  font:800 9.5px/1.25 var(--font-ui);
  letter-spacing:0;
  text-transform:uppercase;
}

#pg-language-school .language-school-calculator .fg input{
  min-height:34px;
  padding:7px 9px;
  border-radius:8px;
  font-size:13px;
}

#pg-language-school .language-school-calculator-metrics{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  margin:0;
}

#pg-language-school .language-school-calculator-metrics .metric{
  height:64px;
  min-height:64px;
  padding:7px 9px;
}

#pg-language-school .language-school-calculator-metrics .metric-label{
  font-size:10.5px;
  line-height:1.2;
  margin-bottom:2px;
}

#pg-language-school .language-school-calculator-metrics .metric-value{
  font-size:17px;
  line-height:1.1;
}

#pg-language-school .language-school-calculator-metrics .metric-sub{
  font-size:11px;
  line-height:1.22;
  margin-top:2px;
}

#pg-language-school .language-school-teacher-metrics{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}

#pg-language-school .language-school-layout{
  grid-template-columns:minmax(240px,.7fr) minmax(0,2fr);
  gap:14px;
  align-items:start;
}

#pg-language-school .language-school-layout .side-list{
  max-height:min(62vh,680px);
}

#pg-language-school .language-school-table-wrap{
  max-height:min(58vh,620px);
  overflow:auto;
}

#pg-language-school .dean-table{
  min-width:760px;
}

@media (max-width:980px){
  #pg-language-school .language-school-calculator{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #pg-language-school .language-school-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px){
  #pg-language-school .language-school-calculator{
    grid-template-columns:1fr;
  }
}

.portal-auth-admin{
  margin-top:16px;
}

#pg-portal-accounts .portal-auth-admin{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  margin-top:0;
  margin-bottom:0;
  min-height:0;
}

#pg-portal-accounts.page.active{
  display:flex;
  flex-direction:column;
  min-height:calc(100vh - var(--auth-nav-height, 50px));
  padding-bottom:0;
}

#pg-portal-accounts #portal-auth-admin-content{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
}

.portal-auth-admin-grid{
  display:grid;
  grid-template-columns:minmax(360px,520px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.portal-auth-admin-form{
  display:grid;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f8fafc;
}

#pg-portal-accounts .portal-auth-admin-form .fees-program-config-check{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-self:start;
  min-width:0;
  width:max-content;
  max-width:100%;
  min-height:40px;
  padding:9px 14px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:8px;
  background:#fff;
  color:var(--ink2);
  cursor:pointer;
  user-select:none;
  font:800 11px/1.3 var(--font-ui);
  box-shadow:0 4px 10px rgba(15,27,52,.03);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}

#pg-portal-accounts .portal-auth-admin-form .fees-program-config-check:hover{
  border-color:var(--brand-logo-blue-soft-border-strong);
}

#pg-portal-accounts .portal-auth-admin-form .fees-program-config-check:has(input:checked){
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);
  color:#fff;
  box-shadow:0 10px 20px rgba(15,27,52,.16);
}

#pg-portal-accounts .portal-auth-admin-form .fees-program-config-check input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

#pg-portal-accounts .portal-auth-admin-form .fees-program-config-check:focus-within{
  border-color:var(--brand-logo-blue-strong);
  outline:2px solid rgba(31,75,135,.2);
  outline-offset:1px;
}

#pg-portal-accounts .portal-auth-admin-form .fees-program-config-check:has(input:disabled){
  cursor:not-allowed;
  opacity:.68;
}

.portal-auth-password-fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:end;
  min-width:0;
}

.portal-auth-create-mode{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
}

.portal-auth-create-mode__btn{
  min-height:38px;
  border:1px solid transparent;
  border-radius:6px;
  background:#f8fafc;
  color:var(--ink2);
  font:800 11px/1.2 var(--font-ui);
  cursor:pointer;
}

.portal-auth-create-mode__btn:hover,
.portal-auth-create-mode__btn:focus-visible,
.portal-auth-create-mode__btn.active{
  border-color:var(--green);
  background:var(--greenBg);
  color:var(--green);
  outline:none;
}

.portal-auth-temp-duration{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:end;
  min-width:0;
}

.portal-auth-expiry-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid #bae6fd;
  border-radius:8px;
  background:#e0f2fe;
  color:#075985;
  font:800 11px/1.25 var(--font-ui);
}

.portal-auth-expiry-note span{
  color:#075985;
  font-weight:700;
}

.portal-auth-password-input-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:stretch;
  min-width:0;
}

.portal-auth-password-input-wrap .cell-input{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}

.portal-auth-password-toggle{
  display:inline-grid;
  place-items:center;
  width:42px;
  min-width:42px;
  border:1px solid var(--border2);
  border-left:0;
  border-radius:0 8px 8px 0;
  background:#fff;
  color:var(--ink2);
  cursor:pointer;
}

.portal-auth-password-toggle:hover:not([disabled]),
.portal-auth-password-toggle:focus-visible{
  color:var(--green);
  background:var(--greenBg);
  outline:none;
}

.portal-auth-password-toggle[aria-pressed="true"]{
  color:var(--green);
  background:var(--greenBg);
}

.portal-auth-admin-list{
  display:grid;
  align-content:start;
  gap:8px;
  min-width:0;
}

.portal-auth-account-list{
  display:grid;
  gap:5px;
  max-height:clamp(360px,60vh,760px);
  overflow-y:auto;
  padding:4px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f8fafc;
  scrollbar-gutter:stable;
}

.portal-auth-account-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:3px;
  align-items:start;
  width:100%;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}

.portal-auth-account-row:hover,
.portal-auth-account-row:focus-visible,
.portal-auth-account-row.is-selected{
  border-color:var(--green);
  box-shadow:0 0 0 2px rgba(16,185,129,.12);
  outline:none;
}

.portal-auth-account-row.has-no-account{
  border-style:dashed;
}

.portal-auth-account-main,
.portal-auth-account-meta{
  display:grid;
  gap:2px;
  min-width:0;
}

.portal-auth-account-main strong,
.portal-auth-account-main small,
.portal-auth-account-meta span,
.portal-auth-account-meta small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.portal-auth-account-main strong{
  font:800 11px/1.2 var(--font-ui);
}

.portal-auth-account-main small,
.portal-auth-account-meta span,
.portal-auth-account-meta small{
  color:var(--ink3);
  font:600 9.5px/1.2 var(--font-ui);
}

.portal-auth-account-meta{
  justify-items:start;
  text-align:left;
  max-width:100%;
}

.portal-auth-account-meta em{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:2px 6px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font:800 9px/1.15 var(--font-ui);
  font-style:normal;
}

.portal-auth-admin-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(140px,180px);
  gap:10px;
  align-items:end;
  margin-bottom:10px;
}

.portal-auth-admin-controls.has-create-action{
  grid-template-columns:136px minmax(0,1fr) 104px;
}

.portal-auth-admin-controls .portal-auth-admin-count{
  grid-column:1/-1;
}

.portal-auth-admin-controls.has-create-action .portal-auth-admin-top-actions{
  grid-column:1;
  grid-row:1;
}

.portal-auth-admin-controls.has-create-action > .fg:nth-of-type(1){
  grid-column:2/4;
  grid-row:1;
}

.portal-auth-admin-controls.has-create-action > .fg:nth-of-type(2){
  grid-column:1/3;
  grid-row:2;
}

.portal-auth-admin-controls.has-create-action .portal-auth-admin-count{
  grid-column:3;
  grid-row:2;
  min-width:0;
}

.portal-auth-admin-top-actions{
  display:flex;
  align-items:end;
}

.portal-auth-admin-top-actions .btn{
  width:100%;
  min-height:40px;
  padding-inline:12px;
  white-space:nowrap;
}

.portal-auth-admin-count{
  display:grid;
  gap:2px;
  min-width:110px;
  padding:9px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
}

.portal-auth-admin-count strong{
  font:800 18px/1 var(--font-ui);
  color:var(--ink);
}

.portal-auth-admin-count span,
.portal-auth-admin-pager{
  color:var(--ink3);
  font-size:12px;
}

.portal-auth-admin-table-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
}

.portal-auth-admin-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.portal-auth-admin-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
}

.portal-auth-admin-table th,
.portal-auth-admin-table td{
  padding:9px 10px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top;
}

.portal-auth-admin-table th{
  color:var(--ink3);
  font:700 10px/1.2 var(--font-ui);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.portal-auth-admin-table td{
  color:var(--ink);
  font-size:12px;
  line-height:1.35;
}

.portal-auth-admin-token{
  display:grid;
  gap:6px;
  margin:12px 0;
  padding:10px;
  border:1px solid var(--greenBorder);
  border-radius:8px;
  background:var(--greenBg);
  color:var(--green);
  font-size:12px;
}

.portal-auth-admin-token code{
  overflow-wrap:anywhere;
  color:var(--green);
}

.portal-auth-detail-summary{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid rgba(148,163,184,.45);
  border-radius:8px;
  background:#fff;
}

.portal-auth-detail-summary strong{
  color:var(--ink);
  font:800 13px/1.25 var(--font-ui);
}

.portal-auth-detail-summary span,
.portal-auth-detail-summary p{
  margin:0;
  color:var(--ink3);
  font-size:11px;
  line-height:1.35;
}

.portal-auth-detail-summary p{
  color:var(--ink2);
}

.portal-auth-detail-summary.is-empty{
  background:#f8fafc;
}

.portal-auth-flow-summary{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(14,165,233,.28);
  border-radius:8px;
  background:#f8fafc;
}

.portal-auth-flow-summary.has-account{
  border-color:rgba(16,185,129,.28);
  background:#fff;
}

.portal-auth-flow-summary__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}

.portal-auth-flow-summary__head strong{
  color:var(--ink);
  font:800 12px/1.2 var(--font-ui);
}

.portal-auth-flow-summary__head span{
  color:var(--ink3);
  font-size:10.5px;
  line-height:1.25;
  text-align:right;
}

.portal-auth-flow-summary__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:6px;
}

.portal-auth-flow-summary__item,
.portal-auth-flow-summary__access>div{
  display:grid;
  gap:3px;
  min-width:0;
  padding:6px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
}

.portal-auth-flow-summary small{
  color:var(--ink3);
  font:700 9.5px/1.1 var(--font-ui);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.portal-auth-flow-summary__item strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink2);
  font:700 11px/1.25 var(--font-ui);
}

.portal-auth-flow-summary__access{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}

.portal-auth-flow-summary__chips{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  min-width:0;
}

.portal-auth-flow-summary__chip,
.portal-auth-flow-summary__empty{
  max-width:100%;
  padding:3px 6px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f8fafc;
  color:var(--ink3);
  font:700 9.5px/1.15 var(--font-ui);
  overflow-wrap:anywhere;
}

.portal-auth-flow-summary__chip.is-requested{
  color:var(--red);
  background:var(--redBg);
  border-color:var(--redBorder);
}

.portal-auth-flow-summary__chip.is-approved{
  color:var(--green);
  background:var(--greenBg);
  border-color:var(--greenBorder);
}

.portal-auth-flow-summary__chip.is-pending{
  color:#0369a1;
  background:#e0f2fe;
  border-color:#bae6fd;
}

.portal-auth-hr-picker{
  display:grid;
  gap:9px;
}

.portal-auth-hr-picker__head{
  display:grid;
  gap:2px;
  padding:0 2px;
}

.portal-auth-hr-picker__head strong{
  font:700 12px/1.2 var(--font-ui);
  color:var(--ink);
}

.portal-auth-hr-picker__head span{
  color:var(--ink3);
  font-size:11px;
  line-height:1.35;
}

.portal-auth-hr-picker__head span,
.portal-auth-access__head span{
  display:none;
}

.portal-auth-hr-picker__list{
  display:grid;
  gap:6px;
  max-height:300px;
  overflow:auto;
}

.portal-auth-hr-picker__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.95fr);
  gap:10px;
  align-items:start;
}

.portal-auth-hr-list-box,
.portal-auth-hr-detail{
  display:grid;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(14,165,233,.28);
  border-radius:8px;
  background:#f0f9ff;
}

.portal-auth-hr-detail{
  position:sticky;
  top:12px;
  background:#fff;
  border-color:rgba(148,163,184,.45);
}

.portal-auth-hr-box-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}

.portal-auth-hr-box-head strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
  font:700 12px/1.2 var(--font-ui);
}

.portal-auth-hr-box-head span{
  flex:0 0 auto;
  max-width:48%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink3);
  font-size:10.5px;
  line-height:1.25;
}

.portal-auth-hr-detail{
  gap:6px;
  color:var(--ink2);
  font-size:11px;
  line-height:1.35;
}

.portal-auth-hr-detail__identity{
  display:grid;
  gap:5px;
  padding-top:2px;
}

.portal-auth-hr-detail__identity strong{
  color:var(--ink);
  font:700 12px/1.2 var(--font-ui);
}

.portal-auth-hr-detail__identity em{
  justify-self:start;
  padding:3px 6px;
  border-radius:999px;
  background:var(--greenBg);
  color:var(--green);
  font:700 10px/1.2 var(--font-ui);
  font-style:normal;
}

.portal-auth-hr-detail__empty{
  padding:8px 0 2px;
  color:var(--ink3);
}

.portal-auth-hr-detail ul{
  display:grid;
  gap:5px;
  margin:2px 0 0;
  padding:0;
  list-style:none;
}

.portal-auth-hr-detail li{
  display:grid;
  gap:1px;
  padding-top:5px;
  border-top:1px solid var(--border);
}

.portal-auth-hr-detail li strong{
  font-size:11px;
}

.portal-auth-hr-detail__actions,
.portal-auth-admin-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-start;
  margin-top:0;
}

.portal-auth-hr-person{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  width:100%;
  padding:8px;
  border:1px solid rgba(148,163,184,.45);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}

.portal-auth-hr-person:hover,
.portal-auth-hr-person.is-selected{
  border-color:var(--green);
  box-shadow:0 0 0 2px rgba(16,185,129,.12);
}

.portal-auth-hr-person span{
  display:grid;
  gap:2px;
  min-width:0;
}

.portal-auth-hr-person strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:700 12px/1.2 var(--font-ui);
}

.portal-auth-hr-person small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink3);
  font:500 10px/1.25 var(--font-ui);
}

.portal-auth-hr-person em{
  justify-self:end;
  max-width:120px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:3px 6px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font:700 10px/1.2 var(--font-ui);
  font-style:normal;
}

.portal-auth-hr-person.has-account em{
  background:var(--greenBg);
  color:var(--green);
}

.portal-auth-access{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:8px;
  background:#fff;
}

.portal-auth-access__head{
  display:grid;
  gap:2px;
}

.portal-auth-access__head strong{
  font:700 12px/1.2 var(--font-ui);
  color:var(--ink);
}

.portal-auth-access__head span{
  color:var(--ink3);
  font-size:11px;
}

.portal-auth-access__group{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:8px;
  margin:0;
  padding:8px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f8fbff;
}

.portal-auth-access__group legend{
  width:100%;
  padding:0 4px;
  color:var(--ink3);
  font:700 10px/1.2 var(--font-ui);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.portal-auth-dean-scope{
  display:grid;
  flex:1 1 100%;
  gap:8px;
  margin:0;
  width:100%;
  padding:10px;
  border:1px solid var(--brand-logo-blue-soft-border);
  border-radius:8px;
  background:#eef5ff;
}

.portal-auth-dean-scope__legend{
  color:var(--brand-logo-blue-strong);
  font:800 11px/1.2 var(--font-ui);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.portal-auth-dean-scope__body{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  min-width:0;
}

.portal-auth-dean-scope__option{
  position:relative;
  display:grid;
  align-items:center;
  min-width:0;
  min-height:54px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.38);
  border-radius:8px;
  background:#fff;
  color:var(--ink2);
  cursor:pointer;
  user-select:none;
  box-shadow:0 6px 14px rgba(15,27,52,.04);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}

.portal-auth-dean-scope__option:hover{
  border-color:var(--brand-logo-blue-soft-border-strong);
}

.portal-auth-dean-scope__option:has(input:checked){
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(15,27,52,.18);
}

.portal-auth-dean-scope__option input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.portal-auth-dean-scope__option span{
  display:grid;
  gap:3px;
  min-width:0;
}

.portal-auth-dean-scope__option strong{
  font:800 12px/1.2 var(--font-ui);
}

.portal-auth-dean-scope__option small{
  color:var(--ink3);
  font:700 10px/1.25 var(--font-ui);
}

.portal-auth-dean-scope__option:has(input:checked) small{
  color:rgba(255,255,255,.82);
}

.portal-auth-dean-scope__option:focus-within{
  border-color:var(--brand-logo-blue-strong);
  outline:2px solid rgba(31,75,135,.2);
  outline-offset:1px;
}

.portal-auth-dean-scope__option:has(input:disabled){
  cursor:not-allowed;
  opacity:.7;
}

.portal-auth-access__item{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 clamp(126px,8vw,142px);
  width:clamp(126px,8vw,142px);
  max-width:100%;
  min-height:38px;
  padding:9px 12px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:8px;
  background:#fff;
  color:var(--ink2);
  cursor:pointer;
  user-select:none;
  font:800 11px/1.3 var(--font-ui);
  box-shadow:0 4px 10px rgba(15,27,52,.03);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}

.portal-auth-access__item:hover{
  border-color:var(--brand-logo-blue-soft-border-strong);
}

.portal-auth-access__item:has(input:checked){
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);
  color:#fff;
  box-shadow:0 10px 20px rgba(15,27,52,.16);
}

.portal-auth-access__item input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.portal-auth-access__item:focus-within{
  border-color:var(--brand-logo-blue-strong);
  outline:2px solid rgba(31,75,135,.2);
  outline-offset:1px;
}

.portal-auth-access__item span{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
  width:100%;
  overflow-wrap:anywhere;
}

.portal-auth-access__item em{
  font:700 9px/1 var(--font-ui);
  color:#0369a1;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-style:normal;
}

.portal-auth-access__item:has(input:checked) em{
  color:rgba(255,255,255,.88);
}

.portal-auth-access__item.is-requested:not(:has(input:checked)){
  color:#075985;
  background:#e0f2fe;
  border-color:#93c5fd;
  box-shadow:0 6px 14px rgba(14,165,233,.12);
}

.portal-auth-access__item.is-requested:not(:has(input:checked)) input{
  outline:none;
}

.portal-auth-access__item.is-approved-request{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);
  color:#fff;
  box-shadow:0 10px 20px rgba(15,27,52,.16);
}

.portal-auth-access__item:has(input:disabled){
  cursor:not-allowed;
  opacity:.68;
}

.portal-auth-admin-access{
  max-width:clamp(280px,34vw,520px);
  color:var(--ink2);
}

.portal-auth-admin-access__text{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:11px;
  line-height:1.35;
}

.portal-auth-admin-empty{
  padding:14px;
  color:var(--ink3);
}

.app-page-loading-shell{
  display:grid;
  place-items:center;
  flex:1 1 auto;
  min-height:320px;
  margin:10px 0 0;
  padding:28px;
  border:1px solid rgba(188,198,214,.9);
  border-radius:10px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.app-page-loading-card{
  display:inline-grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  width:min(420px,100%);
  min-height:76px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:linear-gradient(180deg,#203b66 0%,var(--brand-logo-blue) 100%);
  color:#fff;
  box-shadow:0 18px 34px rgba(8,20,42,.2);
}

.app-page-loading-card__spinner{
  width:24px;
  height:24px;
  border:3px solid rgba(255,255,255,.28);
  border-top-color:#fff;
  border-radius:999px;
  animation:shell-page-loading-spin .78s linear infinite;
}

.app-page-loading-card__copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.app-page-loading-card__copy strong{
  font:800 15px/1.2 var(--font-ui);
  color:#fff;
}

.app-page-loading-card__copy span{
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1.45;
}

.portal-auth-audit-log{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
}

.portal-auth-audit-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.portal-auth-audit-head strong{
  color:var(--ink);
  font:800 13px/1.25 var(--font-ui);
}

.portal-auth-audit-head span{
  color:var(--ink3);
  font-size:12px;
}

.portal-auth-audit-log ol{
  display:grid;
  gap:7px;
  max-height:260px;
  margin:0;
  padding:0 4px 0 0;
  overflow:auto;
  list-style:none;
  scrollbar-gutter:stable;
}

.portal-auth-audit-log li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px;
  padding:8px;
  border:1px solid rgba(148,163,184,.34);
  border-radius:8px;
  background:#f8fafc;
}

.portal-auth-audit-log li > span{
  display:grid;
  gap:2px;
  min-width:0;
}

.portal-auth-audit-log li strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
  font:800 11px/1.25 var(--font-ui);
}

.portal-auth-audit-log li small,
.portal-auth-audit-log li em,
.portal-auth-audit-log li p{
  color:var(--ink3);
  font:600 10.5px/1.35 var(--font-ui);
}

.portal-auth-audit-log li em{
  align-self:start;
  font-style:normal;
  white-space:nowrap;
}

.portal-auth-audit-log li p{
  grid-column:1/-1;
  margin:0;
  color:var(--ink2);
}

@media (max-width:1180px){
  .portal-auth-admin-grid,
  .portal-auth-hr-picker__body{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:960px){
  .portal-auth-admin-grid{grid-template-columns:1fr}
  .portal-auth-password-fieldset{grid-template-columns:1fr}
  .portal-auth-temp-duration{grid-template-columns:1fr}
  .portal-auth-admin-controls,
  .portal-auth-admin-controls.has-create-action{grid-template-columns:1fr}
  .portal-auth-admin-controls.has-create-action .portal-auth-admin-top-actions,
  .portal-auth-admin-controls.has-create-action > .fg:nth-of-type(1),
  .portal-auth-admin-controls.has-create-action > .fg:nth-of-type(2),
  .portal-auth-admin-controls.has-create-action .portal-auth-admin-count{grid-column:auto;grid-row:auto}
  .portal-auth-dean-scope__body{grid-template-columns:1fr}
  .portal-auth-access__item{flex-basis:calc(50% - 4px);width:calc(50% - 4px)}
  .portal-auth-account-list{max-height:clamp(280px,50vh,520px)}
  .portal-auth-account-row{grid-template-columns:1fr}
  .portal-auth-account-meta{
    justify-items:start;
    text-align:left;
  }
}

@media (max-width:560px){
  .portal-auth-access__item{flex-basis:100%;width:100%}
}

#pg-teacher-panel,
#pg-teacher-students{
  max-width:none;
}

#pg-teacher-panel .teacher-panel-summary{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

#pg-teacher-panel .teacher-panel-actions{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
}

#pg-teacher-panel .metrics .teacher-panel-tile,
#pg-my-plan .metrics .teacher-panel-tile {
  cursor:pointer;
  text-align:left;
  background:var(--panel);
  border-color:var(--border);
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}

#pg-teacher-panel .metrics .teacher-panel-tile:hover,
#pg-teacher-panel .metrics .teacher-panel-tile:focus-visible,
#pg-my-plan .metrics .teacher-panel-tile:hover,
#pg-my-plan .metrics .teacher-panel-tile:focus-visible {
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  transform:translateY(-1px);
  color:#fff;
}

#pg-teacher-panel .metrics .teacher-panel-tile:active,
#pg-my-plan .metrics .teacher-panel-tile:active {
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  box-shadow:0 14px 26px rgba(15,27,52,.2);
  transform:translateY(0);
  color:#fff;
}

#pg-teacher-panel .metrics .teacher-panel-tile:hover .metric-label,
#pg-teacher-panel .metrics .teacher-panel-tile:hover .metric-sub,
#pg-teacher-panel .metrics .teacher-panel-tile:focus-visible .metric-label,
#pg-teacher-panel .metrics .teacher-panel-tile:focus-visible .metric-sub,
#pg-my-plan .metrics .teacher-panel-tile:hover .metric-label,
#pg-my-plan .metrics .teacher-panel-tile:hover .metric-sub,
#pg-my-plan .metrics .teacher-panel-tile:focus-visible .metric-label,
#pg-my-plan .metrics .teacher-panel-tile:focus-visible .metric-sub {
  color:#fff;
}

#pg-teacher-panel .metrics .teacher-panel-tile .metric-label,
#pg-my-plan .metrics .teacher-panel-tile .metric-label{
  font-size:18px;
  line-height:1.18;
  white-space:normal;
}

#pg-teacher-panel .metrics .teacher-panel-tile .metric-sub,
#pg-my-plan .metrics .teacher-panel-tile .metric-sub{
  font-size:11px;
  line-height:1.4;
}

.my-plan-mode-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,220px));
  gap:10px;
  align-items:stretch;
  margin:0 0 12px;
}

.my-plan-mode-card{
  min-height:62px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  text-align:left;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
}

.my-plan-mode-card .metric-label{
  margin-bottom:4px;
  font-size:15px;
  line-height:1.18;
  color:var(--ink);
  white-space:normal;
}

.my-plan-mode-card .metric-sub{
  margin-top:0;
  font-size:12px;
  line-height:1.4;
  color:var(--ink3);
}

.my-plan-mode-card.is-active{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  color:#fff;
  box-shadow:0 10px 18px rgba(15,27,52,.14);
}

.my-plan-mode-card.is-active .metric-label,
.my-plan-mode-card.is-active .metric-sub{
  color:#fff;
}

.my-plan-mode-card:hover,
.my-plan-mode-card:focus-visible{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg, var(--brand-logo-blue) 0%, var(--brand-logo-blue-strong) 100%);
  color:#fff;
  transform:translateY(-1px);
}

.my-plan-mode-card:hover .metric-label,
.my-plan-mode-card:hover .metric-sub,
.my-plan-mode-card:focus-visible .metric-label,
.my-plan-mode-card:focus-visible .metric-sub{
  color:#fff;
}

@media(max-width:720px){
  .my-plan-mode-cards{
    grid-template-columns:1fr;
  }
}

#teacher-panel-name{
  font-size:18px;
  line-height:1.18;
  white-space:normal;
  overflow-wrap:anywhere;
}

#pg-teacher-students .teacher-panel-records{
  display:grid;
  gap:12px;
}

#pg-teacher-students .e-dziennik-subnav{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
  margin:0 0 12px;
}

#pg-teacher-students .e-dziennik-view-box{
  min-height:86px;
  height:auto;
  width:100%;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}

#pg-teacher-students .e-dziennik-view-box:hover,
#pg-teacher-students .e-dziennik-view-box:focus-visible{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue) 0%,var(--brand-logo-blue-strong) 100%);
  box-shadow:0 8px 22px rgba(31,75,135,.12);
  transform:translateY(-1px);
  color:#fff;
  outline:none;
}

#pg-teacher-students .e-dziennik-view-box:active{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue) 0%,var(--brand-logo-blue-strong) 100%);
  box-shadow:0 14px 26px rgba(15,27,52,.2);
  transform:translateY(0);
  color:#fff;
}

#pg-teacher-students .e-dziennik-view-box.active{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue) 0%,var(--brand-logo-blue-strong) 100%);
  box-shadow:0 12px 24px rgba(25,41,72,.18);
}

#pg-teacher-students .e-dziennik-view-box:hover .metric-label,
#pg-teacher-students .e-dziennik-view-box:hover .metric-sub,
#pg-teacher-students .e-dziennik-view-box:focus-visible .metric-label,
#pg-teacher-students .e-dziennik-view-box:focus-visible .metric-sub,
#pg-teacher-students .e-dziennik-view-box.active .metric-label,
#pg-teacher-students .e-dziennik-view-box.active .metric-sub{
  color:#fff;
}

#pg-teacher-students .teacher-e-dziennik-panel{
  display:grid;
  gap:12px;
}

#pg-teacher-students .teacher-e-dziennik-panel[hidden]{
  display:none;
}

#pg-teacher-students .teacher-panel-records-head{
  margin-bottom:0;
}

#pg-teacher-students .teacher-panel-records-summary{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}

#pg-teacher-students .teacher-panel-records-wrap{
  max-height:min(52vh,520px);
  overflow:auto;
}

#pg-teacher-students .teacher-panel-student-layout{
  display:grid;
  grid-template-columns:repeat(3,minmax(220px,1fr));
  gap:14px;
  align-items:start;
}

#pg-teacher-students .teacher-panel-student-layout .side-list{
  max-height:min(34vh,360px);
}

#pg-teacher-students .teacher-panel-student-detail{
  grid-column:1 / -1;
  min-width:0;
  padding:18px;
}

#pg-teacher-students .teacher-panel-student-boxes{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  margin-bottom:12px;
}

#pg-teacher-students .teacher-panel-student-sections{
  display:grid;
  gap:18px;
}

#pg-teacher-students .teacher-panel-student-section{
  display:grid;
  gap:12px;
  padding-top:14px;
  border-top:1px solid var(--border);
}

#pg-teacher-students .teacher-panel-student-section .card-head{
  margin-bottom:0;
}

#pg-teacher-students .teacher-panel-grade-toolbar,
#pg-teacher-students .teacher-panel-post-toolbar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}

#pg-teacher-students .teacher-panel-post-message textarea{
  min-height:78px;
  resize:vertical;
}

#pg-teacher-students .teacher-panel-grade-summary{
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
}

#pg-teacher-students .teacher-panel-grade-assessments{
  display:grid;
  gap:8px;
}

#pg-teacher-students .teacher-panel-grade-assessment{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:#fff;
  padding:10px 12px;
}

#pg-teacher-students .teacher-panel-grade-assessment.active{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);
  color:#fff;
}

#pg-teacher-students .teacher-panel-grade-assessment.active .card-sub,
#pg-teacher-students .teacher-panel-grade-assessment.active strong{
  color:#fff;
}

@media (max-width:1180px){
  #pg-teacher-students .teacher-panel-student-layout{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  #pg-teacher-students .teacher-panel-student-layout{
    grid-template-columns:1fr;
  }
  #pg-teacher-students .teacher-panel-grade-toolbar,
  #pg-teacher-students .teacher-panel-post-toolbar{
    grid-template-columns:1fr;
  }
  #pg-teacher-students .teacher-panel-grade-assessment{
    grid-template-columns:1fr;
  }
}

#pg-teacher-students .teacher-panel-students-table{
  width:100%;
  min-width:0;
  table-layout:auto;
}

#pg-teacher-students .teacher-panel-students-table th,
#pg-teacher-students .teacher-panel-students-table td{
  white-space:normal;
  overflow-wrap:anywhere;
}

#pg-teacher-students .teacher-panel-students-table td{
  vertical-align:top;
}

#pg-teacher-students .teacher-panel-students-table .source-tag{
  display:inline-flex;
  margin:3px 4px 0 0;
}

.e-dziennik-calendar-head{
  margin-top:2px;
}

.e-dziennik-calendar-shell{
  display:grid;
  gap:12px;
  overflow-x:auto;
  padding-bottom:2px;
}

.e-dziennik-calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel);
}

.e-dziennik-calendar-toolbar>div{
  display:grid;
  gap:2px;
  min-width:0;
  text-align:center;
}

.e-dziennik-calendar-toolbar strong{
  color:var(--ink);
  font:800 16px/1.2 var(--font-ui);
}

.e-dziennik-calendar-toolbar span{
  color:var(--ink3);
  font-size:11px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.e-dziennik-calendar-toolbar .btn{
  min-width:34px;
  padding-inline:10px;
}

.e-dziennik-calendar-metrics{
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
}

.e-dziennik-calendar-empty{
  padding:10px 12px;
  border:1px dashed var(--border);
  border-radius:8px;
  background:#f8fafc;
  color:var(--ink3);
  font-size:12px;
}

.e-dziennik-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  min-width:760px;
}

.e-dziennik-calendar-weekday{
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#eef2f7;
  color:var(--ink2);
  font:800 11px/1.2 var(--font-ui);
  text-align:center;
}

.e-dziennik-calendar-day{
  display:grid;
  align-content:start;
  gap:8px;
  min-height:132px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}

.e-dziennik-calendar-day.is-outside{
  border-style:dashed;
  background:#f3f6fb;
}

.e-dziennik-calendar-day.is-today{
  border-color:var(--brand-logo-blue-strong);
  box-shadow:inset 0 0 0 1px var(--brand-logo-blue-strong);
}

.e-dziennik-calendar-day-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  min-height:20px;
}

.e-dziennik-calendar-day-head strong{
  color:var(--ink);
  font:800 13px/1.2 var(--font-ui);
}

.e-dziennik-calendar-day-head span{
  color:var(--ink3);
  font-size:10px;
  line-height:1.25;
  text-align:right;
}

.e-dziennik-calendar-events{
  display:grid;
  gap:6px;
}

.e-dziennik-calendar-event{
  display:grid;
  gap:2px;
  min-width:0;
  padding:7px 8px;
  border:1px solid var(--border);
  border-left-width:4px;
  border-radius:7px;
  background:#fff;
}

.e-dziennik-calendar-event strong{
  color:var(--ink);
  font:800 11px/1.25 var(--font-ui);
  overflow-wrap:anywhere;
}

.e-dziennik-calendar-event span{
  color:var(--ink3);
  font-size:10px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.e-dziennik-calendar-event.is-lesson{
  border-left-color:#1d4ed8;
  background:#eff6ff;
}

.e-dziennik-calendar-event.is-attendance{
  border-left-color:#15803d;
  background:#f0fdf4;
}

.e-dziennik-calendar-event.is-grade{
  border-left-color:#b45309;
  background:#fffbeb;
}

.e-dziennik-calendar-event.is-test{
  border-left-color:#7c3aed;
  background:#f5f3ff;
}

.e-dziennik-calendar-event.is-exam{
  border-left-color:#be123c;
  background:#fff1f2;
}

.e-dziennik-calendar-event.is-assignment{
  border-left-color:#0891b2;
  background:#ecfeff;
}

.e-dziennik-calendar-event.is-comment{
  border-left-color:#475569;
  background:#f8fafc;
}

.e-dziennik-calendar-more{
  color:var(--ink3);
  font:700 10px/1.3 var(--font-ui);
}

.e-dziennik-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  color:var(--ink3);
  font-size:11px;
}

.e-dziennik-calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.e-dziennik-calendar-legend i{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--border);
}

.e-dziennik-calendar-legend i.is-lesson{background:#1d4ed8}
.e-dziennik-calendar-legend i.is-attendance{background:#15803d}
.e-dziennik-calendar-legend i.is-grade{background:#b45309}
.e-dziennik-calendar-legend i.is-test{background:#7c3aed}
.e-dziennik-calendar-legend i.is-exam{background:#be123c}
.e-dziennik-calendar-legend i.is-assignment{background:#0891b2}
.e-dziennik-calendar-legend i.is-comment{background:#475569}

@media (max-width:760px){
  .e-dziennik-calendar-toolbar{
    align-items:stretch;
  }
  .e-dziennik-calendar-grid{
    min-width:640px;
    gap:6px;
  }
  .e-dziennik-calendar-day{
    min-height:112px;
    padding:8px;
  }
}

.side-btn.hr-missing-entry{
  border-color:var(--purpleBorder);
  background:var(--purpleBg);
  color:var(--purple);
}

.side-btn.hr-missing-entry strong,
.side-btn.hr-missing-entry span{
  color:var(--purple);
}

.side-btn.hr-missing-entry.active{
  border-color:var(--purpleActiveBorder);
  background:var(--purpleActiveBg);
  color:var(--purpleActive);
}

.side-btn.hr-missing-entry.active strong,
.side-btn.hr-missing-entry.active span{
  color:var(--purpleActive);
}

.side-btn.accounting-aging-entry{
  border-color:#fdba74;
  background:#fff7ed;
  color:#c2410c;
}

.side-btn.accounting-aging-entry strong,
.side-btn.accounting-aging-entry span{
  color:#c2410c;
}

.side-btn.accounting-aging-entry.active{
  border-color:#c2410c;
  background:linear-gradient(180deg,#fb923c 0%,#ea580c 100%);
  color:#fff;
}

.side-btn.accounting-aging-entry.active strong,
.side-btn.accounting-aging-entry.active span{
  color:#fff;
}

.finance-request-payment-list{
  display:grid;
  gap:10px;
}

.finance-request-payment-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:#fff;
  padding:12px;
}

.finance-request-payment-row strong{
  display:block;
  color:var(--ink);
  font:700 13px var(--font-ui);
}

.finance-request-payment-row span{
  display:block;
  margin-top:3px;
  color:var(--ink2);
  font-size:12px;
  line-height:1.4;
}

.finance-request-payment-status{
  margin-top:8px;
}

.finance-request-payment-actions{
  display:flex;
  justify-content:flex-end;
}

@media (max-width:760px){
  .finance-request-payment-row{
    grid-template-columns:1fr;
  }

  .finance-request-payment-actions{
    justify-content:flex-start;
  }
}

#pg-finance .finance-import-split{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:14px;
  margin-top:12px;
}

#pg-finance .finance-import-block{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel);
}

#pg-finance .finance-import-block .card-title{
  font:700 15px/1.25 var(--font-ui);
}

#pg-finance .finance-import-block .card-sub{
  margin:0;
}

#pg-finance .finance-import-block .btn-row{
  justify-content:flex-start;
  margin-top:0;
}

#pg-finance .finance-import-block .help{
  margin:0;
}

#pg-finance > .card:first-of-type{
  display:none;
}

#pg-finance .invoice-specific-summary-layout .side-panel{
  min-width:0;
}

#pg-finance .invoice-specific-summary-btn{
  display:block;
  min-height:92px;
}

#pg-finance .invoice-specific-summary-btn span{
  line-height:1.45;
}

#pg-finance .invoice-specific-summary-list-card .detail-panel{
  align-self:start;
}

.side-color-legend{
  display:grid;
  gap:8px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:8px;
  background:#fff;
}

.side-color-legend__title{
  color:var(--ink3);
  font:700 10px/1.2 var(--font-ui);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.side-color-legend__items{
  display:grid;
  gap:6px;
}

.side-color-legend__item{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  width:100%;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  padding:4px 5px;
  color:var(--ink2);
  cursor:pointer;
  font-size:11px;
  line-height:1.35;
  text-align:left;
  font-family:var(--font-ui);
}

.side-color-legend__item:hover{
  border-color:var(--border2);
  background:rgba(243,246,250,.82);
}

.side-color-legend__item.active{
  border-color:var(--brand-logo-blue-soft-border-strong);
  background:var(--brand-logo-blue-soft-bg);
}

.side-color-legend__item strong{
  color:var(--ink);
  font-weight:700;
}

.side-color-legend__swatch{
  flex:0 0 12px;
  width:12px;
  height:12px;
  margin-top:1px;
  border:1px solid var(--border2);
  border-radius:4px;
  background:#fff;
}

.side-color-legend__swatch[data-tone="all"]{
  background:linear-gradient(135deg,#fff 0 23%,var(--amberBg) 23% 46%,var(--greenBg) 46% 69%,var(--redBg) 69% 86%,var(--purpleBg) 86% 100%);
}

.side-color-legend__swatch[data-tone="amber"]{
  border-color:var(--amberBorder);
  background:var(--amberBg);
}

.side-color-legend__swatch[data-tone="green"]{
  border-color:var(--greenBorder);
  background:var(--greenBg);
}

.side-color-legend__swatch[data-tone="red"]{
  border-color:var(--redBorder);
  background:var(--redBg);
}

.side-color-legend__swatch[data-tone="purple"]{
  border-color:var(--purpleBorder);
  background:var(--purpleBg);
}

#pg-planning .planning-filter-stack{display:grid;gap:9px;margin-bottom:12px}
#pg-planning .planning-filter-toolbar{margin:0}
#pg-planning .fees-program-btn,#pg-planning .fees-language-btn,#pg-planning .fees-semester-btn{border-color:rgba(25,41,72,.18);background:linear-gradient(180deg,#fbfcff 0%,#eaf0f8 100%);color:var(--brand-logo-blue)}
#pg-planning .fees-program-btn:hover,#pg-planning .fees-language-btn:hover,#pg-planning .fees-semester-btn:hover{border-color:#8fa4c8}
#pg-planning .fees-program-btn strong,#pg-planning .fees-language-btn strong,#pg-planning .fees-semester-btn strong{color:var(--brand-logo-blue)}
#pg-planning .fees-program-btn span,#pg-planning .fees-language-btn span,#pg-planning .fees-semester-btn span{color:#4f6386}
#pg-planning .fees-program-btn.active,#pg-planning .fees-language-btn.active,#pg-planning .fees-semester-btn.active{border-color:#0f1b34;background:linear-gradient(180deg,#2a3f6c 0%,var(--brand-logo-blue) 100%);box-shadow:0 8px 16px rgba(15,27,52,.18)}
#pg-planning .fees-program-btn.active strong,#pg-planning .fees-language-btn.active strong,#pg-planning .fees-semester-btn.active strong,#pg-planning .fees-program-btn.active span,#pg-planning .fees-language-btn.active span,#pg-planning .fees-semester-btn.active span{color:#fff}
#pg-planning .fees-program-btn.is-empty,#pg-planning .fees-language-btn.is-empty,#pg-planning .fees-semester-btn.is-empty{opacity:.62}
#planning-schedule-card .planning-schedule-filter-stack--full-list{gap:10px;margin-bottom:10px}
#planning-schedule-card .planning-schedule-scope-filters .fees-program-grid,
#planning-schedule-card .planning-schedule-scope-filters .fees-language-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px}
#planning-schedule-card .planning-schedule-scope-filters .fees-program-btn,
#planning-schedule-card .planning-schedule-scope-filters .fees-language-btn{min-height:54px;padding:6px 8px;border-radius:7px;gap:2px;box-shadow:none}
#planning-schedule-card .planning-schedule-scope-filters .fees-program-btn strong,
#planning-schedule-card .planning-schedule-scope-filters .fees-language-btn strong{font-size:11px;line-height:1.2}
#planning-schedule-card .planning-schedule-scope-filters .fees-program-btn span,
#planning-schedule-card .planning-schedule-scope-filters .fees-language-btn span{font-size:9px;line-height:1.25}
#planning-schedule-card .planning-schedule-scope-filters .fees-program-btn.active,
#planning-schedule-card .planning-schedule-scope-filters .fees-language-btn.active{box-shadow:0 8px 16px rgba(15,27,52,.18)}
.planning-modules-wrap.is-teacher-scoped th:nth-child(5),.planning-modules-wrap.is-teacher-scoped td:nth-child(5){display:none}
#pg-planning .side-btn.planning-unassigned-box.is-empty{opacity:.62;cursor:not-allowed}

#pg-submit .submit-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:12px}
#pg-submit .submit-summary-grid .metric-value{font-size:20px;line-height:1.18}
#pg-submit .submit-progress{display:grid;gap:10px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}
#pg-submit .submit-progress__copy{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--ink2)}
#pg-submit .submit-progress__copy strong{color:var(--ink);font:700 13px/1.3 var(--font-ui)}
#pg-submit .submit-progress__copy span{font-size:12px;color:var(--ink3)}
#pg-submit .submit-progress__track{display:flex;height:8px;border-radius:999px;background:#e3e9f2;overflow:hidden}
#pg-submit .submit-progress__segment{height:100%;width:0;transition:width .18s ease}
#pg-submit .submit-progress__segment--pensum{background:var(--navy)}
#pg-submit .submit-progress__segment--submitted{background:var(--green)}
#pg-submit .submit-settlement-panel{display:grid;grid-template-columns:minmax(190px,260px) minmax(190px,260px) 1fr;gap:12px;align-items:end;margin:0 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}
#pg-submit .submit-settlement-field{display:grid;gap:6px;margin:0;color:var(--ink2);font:700 10px var(--font-ui);text-transform:uppercase;letter-spacing:.05em}
#pg-submit .submit-settlement-field .cell-input,#pg-submit .submit-settlement-field .cell-select{min-height:38px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:600}
#pg-submit .submit-settlement-field.is-disabled{opacity:.72}
#pg-submit .submit-settlement-field.is-disabled .cell-input{background:var(--panel);color:var(--ink3)}
#pg-submit .submit-settlement-note{align-self:center;color:var(--ink3);font-size:12px;line-height:1.4}
#pg-submit .submit-modules-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 12px}
#pg-submit .submit-modules-wrap{max-height:560px;overflow:auto}
#pg-submit .submit-modules-table{min-width:1500px}
#pg-submit .submit-modules-table th:nth-child(1),#pg-submit .submit-modules-table td:nth-child(1){width:48px;text-align:center}
#pg-submit .submit-modules-table th:nth-child(10),#pg-submit .submit-modules-table td:nth-child(10){width:150px}
#pg-submit .submit-modules-table th:nth-child(11),#pg-submit .submit-modules-table td:nth-child(11){width:130px}
#pg-submit .submit-module-row.is-current td{background:#f7fbf8}
#pg-submit .submit-module-row.is-locked td,#pg-submit .submit-module-row.is-pensum td,#pg-submit .submit-module-row.is-complete td{background:#fafbfc}
#pg-submit .submit-module-row.is-complete td{color:var(--green)}
#pg-submit .submit-module-action-cell{display:grid;grid-template-columns:auto auto;align-items:center;gap:6px;min-width:180px}
#pg-submit .submit-module-action-cell .btn{justify-self:start}
#pg-submit .submit-module-action-cell .pill{justify-self:start}
#pg-submit .submit-row-total{grid-column:1 / -1;color:var(--ink3);font-size:11px}
#pg-submit .submit-hours-input,#pg-submit .submit-date-input{min-width:0}
#pg-submit .submit-legacy-compat{display:none!important}
@media (max-width:760px){#pg-submit .submit-progress__copy{align-items:flex-start}#pg-submit .submit-settlement-panel{grid-template-columns:1fr}#pg-submit .submit-modules-table{min-width:1320px}}

#pg-teacher-panel .teacher-admin-preview{display:grid;gap:12px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
#pg-teacher-panel .teacher-admin-preview[hidden]{display:none}
#pg-teacher-panel .teacher-admin-layout{margin-top:0}
#pg-teacher-panel .teacher-admin-study-boxes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:8px}
#pg-student-portal .student-portal-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
#pg-student-portal .student-admin-preview{display:grid;gap:10px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
#pg-student-portal .student-admin-preview[hidden]{display:none}
#pg-student-portal .student-admin-filter-bands{display:grid;gap:10px}
#pg-student-portal .student-admin-layout{margin-top:2px}
#pg-student-portal .student-admin-study-boxes{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:8px}
#pg-student-portal .fees-program-btn.active,#pg-student-portal .fees-language-btn.active,#pg-student-portal .fees-semester-btn.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);box-shadow:0 14px 26px rgba(15,27,52,.18)}
#pg-student-portal .fees-program-btn.active,#pg-student-portal .fees-program-btn.active strong,#pg-student-portal .fees-program-btn.active span,#pg-student-portal .fees-language-btn.active,#pg-student-portal .fees-language-btn.active strong,#pg-student-portal .fees-language-btn.active span,#pg-student-portal .fees-semester-btn.active,#pg-student-portal .fees-semester-btn.active strong,#pg-student-portal .fees-semester-btn.active span{color:#fff}
#pg-student-portal #student-admin-results .side-btn.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 14px 28px rgba(15,27,52,.2)}
#pg-student-portal #student-admin-results .side-btn.active strong,#pg-student-portal #student-admin-results .side-btn.active span{color:#fff}
#pg-english-studies .english-studies-filter-bands{display:grid;gap:10px;margin-top:10px}
#pg-english-studies .fees-program-btn.active,#pg-english-studies .fees-language-btn.active,#pg-english-studies .fees-semester-btn.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);box-shadow:0 14px 26px rgba(15,27,52,.18)}
#pg-english-studies .fees-program-btn.active,#pg-english-studies .fees-program-btn.active strong,#pg-english-studies .fees-program-btn.active span,#pg-english-studies .fees-language-btn.active,#pg-english-studies .fees-language-btn.active strong,#pg-english-studies .fees-language-btn.active span,#pg-english-studies .fees-semester-btn.active,#pg-english-studies .fees-semester-btn.active strong,#pg-english-studies .fees-semester-btn.active span{color:#fff}
#pg-english-studies #english-studies-list .side-btn.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);color:#fff;box-shadow:0 14px 28px rgba(15,27,52,.2)}
#pg-english-studies #english-studies-list .side-btn.active strong,#pg-english-studies #english-studies-list .side-btn.active span{color:#fff}
#pg-english-studies .english-studies-layout{margin-top:14px}
#pg-english-studies .english-studies-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
#pg-english-studies .english-studies-fees-grid{margin-top:0}
#pg-english-studies .english-studies-table-wrap{max-height:360px}
#pg-student-portal .student-progress{display:grid;gap:10px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}
#pg-student-portal .student-progress__copy{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--ink2)}
#pg-student-portal .student-progress__copy strong{color:var(--ink);font:700 13px/1.3 var(--font-ui)}
#pg-student-portal .student-progress__copy span{font-size:12px;color:var(--ink3)}
#pg-student-portal .student-progress__track{display:flex;height:8px;border-radius:999px;background:#e3e9f2;overflow:hidden}
#pg-student-portal .student-progress__segment{height:100%;width:0;transition:width .18s ease;background:var(--green)}
#pg-student-portal .student-portal-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 18px}
#pg-student-portal .student-portal-dashboard-btn{display:grid;gap:5px;min-height:76px;padding:14px 16px;border:1px solid var(--brand-logo-blue-strong);border-radius:8px;background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);box-shadow:0 12px 24px rgba(15,27,52,.16);color:#fff;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
#pg-student-portal .student-portal-dashboard-btn strong{color:#fff;font:800 12px/1.25 var(--font-ui);text-transform:uppercase;letter-spacing:0}
#pg-student-portal .student-portal-dashboard-btn span{color:rgba(255,255,255,.82);font:600 11px/1.35 var(--font-ui)}
#pg-student-portal .student-portal-dashboard-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,27,52,.24);filter:saturate(1.05)}
#pg-student-portal .student-portal-dashboard-btn.active{outline:3px solid rgba(32,74,132,.18);box-shadow:0 18px 34px rgba(15,27,52,.28)}
#pg-student-portal .student-portal-dashboard-btn:focus-visible{outline:3px solid rgba(32,74,132,.35);outline-offset:2px}
#pg-student-portal .student-portal-sections{display:grid;gap:18px;margin-top:4px}
#pg-student-portal .student-portal-section{padding-top:14px;border-top:1px solid var(--border)}
#pg-student-portal .student-portal-section[hidden]{display:none}
#pg-student-portal .student-portal-section:first-child{padding-top:0;border-top:0}
#pg-student-portal .student-portal-section .card-head{margin-bottom:10px}
#pg-student-portal .student-portal-table{min-width:860px}
#pg-student-portal .student-portal-fees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
#pg-student-portal .student-portal-fees-grid>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel)}
#pg-student-portal .student-portal-fees-grid span{color:var(--ink3);font:700 10px/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:.06em}
#pg-student-portal .student-portal-fees-grid strong{color:var(--ink);font:700 18px/1.2 var(--font-ui)}
@media (max-width:760px){#pg-student-portal .student-portal-dashboard{grid-template-columns:1fr;max-width:calc(100vw - 32px)}#pg-student-portal .student-portal-dashboard-btn{min-width:0}}

#pg-kasa .kasa-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
#pg-kasa .kasa-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px}
#pg-kasa .kasa-day-card{display:grid;gap:6px;min-height:92px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
#pg-kasa .kasa-day-card span{color:var(--ink3);font:700 10px/1.25 var(--font-ui);text-transform:uppercase}
#pg-kasa .kasa-day-card strong{color:var(--ink);font:700 18px/1.15 var(--font-ui)}
#pg-kasa .kasa-day-card small{color:var(--ink2);font-size:10px;line-height:1.35}
#pg-kasa .kasa-removal-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
#pg-kasa .kasa-layout{align-items:start}
#pg-kasa .kasa-payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
#pg-kasa .kasa-removal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
#pg-kasa .kasa-payment-entry,#pg-kasa .kasa-removal-entry{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel)}
#pg-kasa .kasa-removal-entry{grid-template-columns:minmax(170px,1fr) minmax(220px,1.4fr) auto}
#pg-kasa .kasa-payment-entry .fg,#pg-kasa .kasa-removal-entry .fg{margin:0}
#pg-kasa .kasa-table{min-width:760px}
#pg-kasa .kasa-deleted-row td{color:var(--ink3);background:#f8fafc}
.dean-student-money__tile.is-warn strong{color:var(--amber)}
@media (max-width:980px){#pg-kasa .kasa-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){#pg-kasa .kasa-payment-entry,#pg-kasa .kasa-removal-entry{grid-template-columns:1fr}#pg-kasa .kasa-table{min-width:680px}}

#pg-concierge .concierge-tools{display:grid;gap:8px;justify-items:end}
#pg-concierge .concierge-date-field{min-width:180px;margin:0}
#pg-concierge .concierge-archive-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#pg-concierge .concierge-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
#pg-concierge .concierge-table{min-width:1120px}
#pg-concierge .concierge-log-table{min-width:980px}
#pg-concierge .concierge-archive-table{min-width:900px}
#pg-concierge .concierge-action-cell{display:grid;gap:6px;align-items:start;min-width:150px}
#pg-concierge .concierge-action-cell .btn{justify-self:start}
#pg-concierge .concierge-issued-stamp{display:block;color:var(--green);font:700 11px/1.35 var(--font-ui)}
#pg-concierge .concierge-row-issued td{background:#f5fbf6}
#pg-concierge .concierge-row-archived td{background:#f8fafc;color:var(--ink3)}
#pg-concierge .concierge-module-meta{display:block;margin-top:3px;color:var(--ink3);font-size:11px;line-height:1.35}
#pg-concierge .concierge-no-room{color:var(--amber);font-weight:700}
#pg-concierge .concierge-room-control{display:grid;grid-template-columns:minmax(92px,1fr) auto;gap:6px;align-items:center;min-width:170px}
#pg-concierge .concierge-room-control .cell-input{min-width:0;height:32px;padding:6px 8px}
#pg-concierge .concierge-room-control .btn{white-space:nowrap}
#pg-concierge .concierge-archive-status{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--green)}
@media (max-width:760px){#pg-concierge .card-head{align-items:stretch}#pg-concierge .concierge-tools{justify-items:stretch}#pg-concierge .concierge-date-field{width:100%}#pg-concierge .concierge-archive-actions{justify-content:flex-start}}

/* App text sharpness pass */
.card-title,
.auth-logo-text,
.auth-hero h1,
.auth-role,
.nav-tab,
.btn,
.metric-label,
.metric-value,
.slabel,
th,
.ti .tl,
.ti .tv,
.stats-kicker,
.stats-chip strong,
.side-btn strong,
.admin-access-card strong,
.admin-department-card__title,
.admin-department-card__row strong,
.finance-area-box strong,
.finance-subtab,
.budget-tab,
.budget-study-card__title,
.budget-study-card__row strong,
.budget-cost-level-card__head h3,
.budget-cost-level-card__value,
.budget-hospital-level-card__head h3,
.budget-hospital-level-card__head strong,
.budget-breakdown-card__toggle h3,
.budget-breakdown-card__toggle-pill,
.fees-program-btn strong,
.fees-language-btn strong,
.fees-semester-btn strong,
.fees-study-variant-stage__copy strong,
.fees-study-variant-card strong,
.fees-plan-option strong,
.refunds-stat-pill strong,
.planning-practical-summary-card strong,
.planning-practical-summary-card div,
.dean-student-money__tile strong,
.kasa-day-card strong{
  text-transform:uppercase;
  letter-spacing:0;
}

td,
td strong,
td input,
td textarea,
td select,
.side-btn strong,
.detail-head .card-title,
.dean-student-hero__summary,
.dean-student-field__value,
.dean-student-field__value strong,
#user-name{
  text-transform:none;
}

.card-title,
.metric-value,
.side-btn strong,
.admin-access-card strong,
.admin-department-card__title,
.finance-area-box strong,
.budget-tab,
.budget-study-card__title,
.budget-cost-level-card__head h3,
.budget-hospital-level-card__head h3,
.dean-student-hero__summary{
  font-weight:800;
}

.metric-label,
.slabel,
th,
.ti .tl,
.stats-kicker,
.admin-access-card__eyebrow,
.admin-department-card__row span,
.dean-student-hero__eyebrow,
.dean-student-field span,
#pg-student-portal .student-portal-fees-grid span,
#pg-kasa .kasa-day-card span{
  letter-spacing:0;
}

.metric-label,
.slabel,
.finance-area-box strong{
  text-transform:none;
}

.finance-area-box__eyebrow,
.budget-cost-level-card__eyebrow,
.budget-hospital-level-card__eyebrow{
  display:none!important;
}

.fees-study-variant-card__eyebrow{
  display:none!important;
}

.finance-area-box{
  gap:7px;
  min-height:76px;
  border-radius:8px;
}

#hr-subnav.hr-view-grid .finance-area-box{min-height:86px}
.planning-study-grid .finance-area-box{min-height:88px}
.budget-detail-nav .finance-area-box{min-height:86px}

.card,
.metric,
.side-panel,
.side-btn,
.admin-access-card,
.admin-department-card,
.stats-chip,
.budget-tab-shell,
.budget-tab,
.budget-study-card,
.fees-study-variant-stage,
.fees-study-variant-card,
.budget-cost-level-card,
.budget-hospital-level-card,
.dean-student-hero__card,
.dean-student-money,
.dean-student-section,
.dean-student-field{
  border-radius:8px;
}

.budget-cost-level-card__head,
.budget-hospital-level-card__head{
  gap:6px;
}

.budget-hospital-level-card__head h3,
.budget-study-card__title{
  margin-top:0;
}

.finance-area-box:not(.active):hover,
#planning-workspace-tabs .finance-subtab:not(.active):hover,
#planning-obsada-tabs .finance-subtab:not(.active):hover,
#dean-subnav .finance-subtab:not(.active):hover,
.budget-tab:not(.active):hover,
.budget-study-card--clickable:not(.active):hover,
.fees-program-btn:not(.active):hover,
.fees-language-btn:not(.active):hover,
.fees-semester-btn:not(.active):hover,
.fees-plan-option:not(.active):hover,
.fees-study-variant-card:not(.active):hover,
.refunds-stat-pill:not(.active):hover{
  border-color:var(--brand-logo-blue-strong);
  background:linear-gradient(180deg,var(--brand-logo-blue-active-start) 0%,var(--brand-logo-blue) 100%);
  color:#fff;
  box-shadow:0 8px 16px rgba(15,27,52,.18);
}

.finance-area-box:not(.active):hover strong,
.finance-area-box:not(.active):hover p,
#planning-workspace-tabs .finance-subtab:not(.active):hover,
#planning-obsada-tabs .finance-subtab:not(.active):hover,
#dean-subnav .finance-subtab:not(.active):hover,
.budget-tab:not(.active):hover,
.budget-study-card--clickable:not(.active):hover,
.budget-study-card--clickable:not(.active):hover strong,
.budget-study-card--clickable:not(.active):hover span,
.budget-study-card--clickable:not(.active):hover p,
.fees-program-btn:not(.active):hover strong,
.fees-program-btn:not(.active):hover span,
.fees-language-btn:not(.active):hover strong,
.fees-language-btn:not(.active):hover span,
.fees-semester-btn:not(.active):hover strong,
.fees-semester-btn:not(.active):hover span,
.fees-plan-option:not(.active):hover strong,
.fees-plan-option:not(.active):hover span,
.fees-study-variant-card:not(.active):hover strong,
.fees-study-variant-card:not(.active):hover span,
.refunds-stat-pill:not(.active):hover strong,
.refunds-stat-pill:not(.active):hover span,
.refunds-stat-pill:not(.active):hover .refunds-stat-pill-meta{
  color:#fff;
}

td,
.cell-input,
.cell-select,
.metric-value,
.ti .tv,
.finance-table,
.dean-table,
.accounting-table,
.accounting-archive-table,
.finance-monthly-payments__table,
.budget-breakdown-second-card__value,
.budget-cost-level-card__value,
.budget-hospital-level-card__head strong,
.month-calendar-card__value,
.month-calendar-summary-box__value{
  font-variant-numeric:tabular-nums;
}

/* Main box descriptive text readability pass */
.card-sub,
.auth-role-sub,
.metric-sub,
.stats-chip span,
.admin-access-card span,
.admin-department-card__count,
.finance-workspace-toolbar p,
.finance-study-fees-hero__text,
.finance-study-fees-detail-note,
.finance-study-fees-breakdown-card__sub,
.finance-study-fees-breakdown-card__summary,
.finance-study-fees-breakdown-card__note,
.budget-toolbar__copy p,
.budget-info-card p,
.budget-breakdown-card p,
.budget-table-note,
.budget-study-intro,
.budget-study-editor__intro,
.budget-study-detail-toolbar__copy p,
.budget-cost-level-card__head p,
.budget-hospital-level-card__head p,
.dean-student-hero__text,
.dean-student-section__head p,
.dean-student-empty span,
.dean-student-inline-meta,
.finance-settlement-box__head span,
.planning-study-stage__copy span,
.planning-practical-summary-card small,
.fees-study-variant-stage__copy span,
.fees-program-config-readonly__note,
.hr-audit-row__copy span{
  font-size:13px;
  line-height:1.55;
}

.metric-sub,
.stats-chip span{
  font-size:13px;
  line-height:1.42;
}

.finance-area-box{
  min-height:98px;
  padding:12px 14px;
}

.finance-area-box strong{
  font-size:14px;
  line-height:1.24;
}

.finance-area-box p{
  font-size:12.5px;
  line-height:1.45;
  -webkit-line-clamp:3;
}

#hr-subnav.hr-view-grid .finance-area-box,
.budget-detail-nav .finance-area-box{
  min-height:102px;
}

#hr-subnav.hr-view-grid{
  gap:10px;
  margin-bottom:14px;
}

#hr-subnav.hr-view-grid .finance-area-box{
  min-height:76px;
  padding:10px 12px;
  gap:5px;
  justify-content:center;
}

#hr-subnav.hr-view-grid .finance-area-box strong{
  font-size:14px;
  line-height:1.16;
}

#hr-subnav.hr-view-grid .finance-area-box p{
  font-size:12px;
  line-height:1.38;
  -webkit-line-clamp:2;
}

.planning-study-grid .finance-area-box{
  min-height:104px;
}

.admin-access-card{
  min-height:124px;
}

#pg-admin-hub .metrics .admin-hub-tile .metric-sub,
#pg-teacher-panel .metrics .teacher-panel-tile .metric-sub{
  font-size:12.5px;
  line-height:1.45;
}

.budget-study-card__row span,
.budget-breakdown-row span,
.budget-breakdown-second-row span,
.finance-study-fees-list-summary span,
.dean-student-money__note,
.finance-settlement-box .dean-student-field small{
  font-size:12.5px;
  line-height:1.48;
}

.fees-program-btn span,
.fees-language-btn span,
.fees-study-variant-card__meta,
.fees-study-variant-card__note,
.fees-plan-option__note{
  font-size:11px;
  line-height:1.42;
}

.fees-semester-btn span,
.refunds-stat-pill span,
.refunds-stat-pill .refunds-stat-pill-meta{
  font-size:10px;
  line-height:1.35;
}

#hr-detail-title{
  color:var(--ink);
  font-size:24px;
  line-height:1.16;
  font-weight:800;
  text-transform:none;
}

#hr-detail-sub{
  margin-top:6px;
}

#hr-detail-sub .dean-student-inline-meta{
  margin-top:0;
  color:var(--ink2);
  font-size:13px;
  line-height:1.45;
}

#hr-list .side-btn strong{
  font-size:14.5px;
  line-height:1.24;
  color:var(--ink);
}

#hr-list .side-btn span{
  font-size:12.5px;
  line-height:1.35;
}

#hr-list .side-btn.active strong,
#hr-list .side-btn.active span{
  color:#fff;
}

.teacher-reference-card .teacher-reference-source{
  display:none;
}

.teacher-reference-card .fg .display-field,
.teacher-reference-card .fg .display-field.has-value,
.teacher-reference-card .fg .login-code-field.display-field,
.teacher-reference-card .fg .login-code-field.display-field.has-value,
.teacher-reference-card .toggle-field.display-field,
.teacher-reference-card .toggle-field.display-field.has-value{
  background:#fff;
  border-color:rgba(148,163,184,.28);
  color:var(--ink);
}

.teacher-reference-card .fg .display-field::placeholder,
.teacher-reference-card .fg .login-code-field::placeholder{
  color:var(--ink3);
}

@media (max-width:760px){
  .teacher-reference-card .card-head{align-items:stretch}
  .teacher-reference-source{min-width:0}
  .teacher-reference-name-grid,
  .teacher-reference-contact-grid{grid-template-columns:1fr}
  .teacher-reference-card .login-code-cell{width:100%;min-width:0;max-width:none}
}

.auth-screen{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:18px 20px 28px;
  position:relative;
  --auth-blue:#182947;
  --auth-blue-soft:#20385f;
  --auth-red:#ad263d;
  --auth-red-strong:#8f1f33;
  background:#fff;
}

.auth-logo-wrap{
  position:absolute;
  top:20px;
  left:20px;
  z-index:5;
  width:clamp(96px,10vw,132px);
  max-width:calc(100vw - 40px);
  text-align:left;
}

.auth-logo-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.auth-logo-text{
  font-size:clamp(18px,2.2vw,26px);
  line-height:1.12;
}

.auth-wrap{
  width:min(620px,100%);
  gap:10px;
  margin-top:clamp(112px,15vh,140px);
}

.auth-hero{
  text-align:center;
}

.auth-hero h1{
  margin:0;
  color:var(--auth-blue);
  font-size:clamp(18px,2.4vw,26px);
  line-height:1.12;
  text-wrap:balance;
}

.auth-hero p,
.auth-role-sub,
.auth-note{
  display:none!important;
}

.auth-grid{
  grid-template-columns:minmax(280px,320px)!important;
  justify-content:center;
  gap:10px;
  width:100%;
}

.auth-card{
  margin-bottom:0;
  padding:16px 18px;
  border-radius:10px;
  background:linear-gradient(180deg,var(--auth-blue-soft) 0%,var(--auth-blue) 100%);
  border-color:rgba(24,41,71,.2);
  box-shadow:0 10px 22px rgba(24,41,71,.16);
}

.auth-role{
  margin:0 0 10px;
  color:#fff;
  font-size:15px;
  line-height:1.2;
}

.auth-card .fg{
  gap:6px;
}

.auth-card .fg input{
  min-height:38px;
  padding:7px 10px;
  border-color:rgba(255,255,255,.42);
  background:#fff;
  color:#182033;
  font-size:13px;
}

.auth-card .fg label{
  color:rgba(255,255,255,.86);
}

.auth-card .auth-pass{
  margin-top:8px!important;
}

.auth-card .btn-row{
  justify-content:stretch!important;
  margin-top:10px!important;
}

.auth-card .btn{
  width:100%;
  min-height:36px;
  padding:8px 10px;
  font-size:11px;
  white-space:nowrap;
}

.auth-card .btn-primary{
  background:var(--auth-red);
  color:#fff;
  box-shadow:none;
}

.auth-card .btn-primary:hover:not([disabled]){
  background:var(--auth-red-strong);
}

@media (max-width:820px){
  .auth-grid{
    grid-template-columns:minmax(280px,320px)!important;
  }
}

@media (max-width:760px){
  .auth-screen{
    padding:14px 14px 24px;
  }

  .auth-logo-wrap{
    top:14px;
    left:14px;
    width:clamp(72px,22vw,96px);
    max-width:42vw;
  }

  .auth-wrap{
    width:100%;
    margin-top:82px;
  }

  .auth-grid{
    grid-template-columns:minmax(0,310px)!important;
  }
}

body.auth-ready{
  background:var(--brand-logo-blue);
  min-width:var(--app-min-shell-width);
  overflow-x:auto;
}

body.auth-ready .page{
  min-width:var(--app-min-content-width);
}

.shell-page-loading{
  position:fixed;
  top:var(--shell-loading-top,calc(var(--auth-nav-height,50px) + 28px));
  right:var(--app-shell-gutter);
  bottom:0;
  left:var(--app-shell-gutter);
  z-index:45;
  min-height:0;
  margin:0;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}

body.shell-page-loading-active .shell-page-loading{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

@keyframes shell-page-loading-spin{
  to{transform:rotate(360deg)}
}

body.auth-ready nav{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px 14px;
  min-height:50px;
  padding:7px 16px;
}

body.auth-ready .logo{
  display:none;
  min-width:0;
  justify-self:start;
}

body.auth-ready .user-chip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:3px 9px;
  justify-self:end;
  min-width:0;
  width:max-content;
  max-width:min(340px,34vw);
  white-space:normal;
}

body.auth-ready .user-chip .avatar{
  grid-row:1 / span 2;
}

body.auth-ready .user-chip #user-name{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.2;
}

body.auth-ready .user-chip #logout-btn{
  grid-column:2;
  justify-self:start;
  min-height:24px;
  padding:5px 10px;
  font-size:10px;
  line-height:1.1;
}

body.auth-ready .nav-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:4px 5px;
  width:100%;
  max-width:none;
  margin:0;
  min-width:0;
}

body.auth-ready .nav-tabs.nav-tabs--balanced{
  display:grid;
  grid-template-columns:repeat(var(--nav-balanced-columns, 1), minmax(0, 1fr));
  justify-content:center;
  justify-items:stretch;
  align-items:center;
}

body.auth-ready .nav-tabs.nav-tabs--balanced .nav-tab{
  width:100%;
  height:36px;
  min-height:36px;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}

body.auth-ready .nav-tab{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 1 auto;
  width:auto;
  min-width:0;
  height:32px;
  min-height:32px;
  padding:5px 7px;
  text-align:center;
  line-height:1.08;
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  font-size:11.5px;
}

body[data-active-page="admin-hub"].auth-ready .nav-tabs{
  display:none;
}

body[data-active-page="admin-hub"].auth-ready nav{
  grid-template-columns:minmax(0,1fr) auto;
}

@media (max-width:1100px){
  body.auth-ready nav{
    grid-template-columns:1fr;
    justify-items:center;
    padding:8px 12px;
  }

  body.auth-ready .logo{
    display:none;
  }

  body.auth-ready .user-chip{
    justify-self:center;
    max-width:min(100%,340px);
  }

  body.auth-ready .nav-tabs{
    max-width:760px;
  }

  body.auth-ready .nav-tabs.nav-tabs--balanced{
    display:flex;
  }

  body.auth-ready .nav-tab{
    white-space:normal;
  }
}

@media (max-width:760px){
  body.auth-ready .nav-tab{
    flex:1 1 calc(50% - 8px);
    width:auto;
    max-width:180px;
    height:auto;
    min-height:34px;
    font-size:11px;
  }
}

.portal-readonly-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 18px;border-top:1px solid rgba(148,163,184,.25);border-bottom:1px solid rgba(148,163,184,.25);background:#f8fafc;color:#475569;font:600 12px/1.35 var(--font-ui)}
.portal-readonly-banner[hidden]{display:none}
.portal-readonly-banner strong{color:#0f1b34}
.portal-readonly-banner.is-flashing{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.portal-readonly-mode .portal-readonly-disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important}
.portal-readonly-mode input.portal-readonly-disabled,.portal-readonly-mode select.portal-readonly-disabled,.portal-readonly-mode textarea.portal-readonly-disabled{background:#f1f5f9!important;border-color:#cbd5e1!important;color:#64748b!important}

.clinic-header-card .card-head{align-items:flex-start}
.clinic-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.clinic-workspace-card{display:grid;gap:14px;margin-bottom:18px;padding:20px;border:1px solid rgba(255,255,255,.42);border-radius:var(--rLg);background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:var(--shadow)}
.clinic-main-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}
.clinic-bookings-panel{min-width:0}
.clinic-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,150px);gap:10px;margin-bottom:12px}
.clinic-booking-btn{align-items:stretch;text-align:left}
.clinic-booking-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.clinic-pill-alert{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.clinic-pill-success{background:#ecfdf5;color:#047857;border-color:#bbf7d0}
.clinic-pill-hours{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.clinic-pill-muted{background:#f1f5f9;color:#64748b;border-color:#cbd5e1}
.clinic-detail-panel{min-width:0}
.clinic-detail-actions{justify-content:flex-start;margin-top:0;margin-bottom:14px}
.clinic-detail-sections{gap:14px}
.clinic-assignment-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:center}
.clinic-form-card,.clinic-records-card,.clinic-hours-card,.clinic-staff-card,.clinic-workers-card{margin-top:18px}
.clinic-workspace-card>.card{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.clinic-workspace-card>.clinic-form-card,.clinic-workspace-card>.clinic-records-card,.clinic-workspace-card>.clinic-hours-card,.clinic-workspace-card>.clinic-staff-card,.clinic-workspace-card>.clinic-workers-card,.clinic-workspace-card>.clinic-treatment-editor-card{margin-top:0}
.clinic-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.clinic-wide{grid-column:1/-1}
.clinic-booking-date-time{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:14px;align-items:start}
.clinic-booking-picker{display:grid;gap:8px;align-self:stretch}
.clinic-booking-native{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0;pointer-events:none}
.clinic-calendar-shell{display:grid;gap:12px;border:1px solid rgba(148,163,184,.38);border-radius:8px;background:#f8fbfd;padding:14px}
.clinic-calendar-field{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;padding:10px 12px;color:#64748b;font:700 12px/1.25 var(--font-ui)}
.clinic-calendar-field strong{color:#0f172a;font-size:15px;text-align:right}
.clinic-calendar-head{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:10px;align-items:center;text-align:center;color:#0f172a}
.clinic-calendar-head strong{font-size:15px;line-height:1.2}
.clinic-calendar-nav{width:40px;height:36px;border:1px solid rgba(148,163,184,.45);border-radius:8px;background:#fff;color:#0d497d;font-size:22px;font-weight:900;cursor:pointer}
.clinic-calendar-nav:hover:not(:disabled){background:#0d497d;color:#fff;border-color:#0d497d}
.clinic-calendar-nav:disabled{opacity:.35;cursor:not-allowed}
.clinic-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.clinic-calendar-weekday{display:flex;align-items:center;justify-content:center;min-height:24px;color:#475569;font:800 11px/1 var(--font-ui);text-transform:uppercase}
.clinic-calendar-day{display:grid;place-items:center;gap:2px;min-height:48px;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:#fff;color:#0f172a;font:900 13px/1.1 var(--font-ui);cursor:pointer}
.clinic-calendar-day small{font-size:9px;font-weight:800;color:#64748b;text-transform:uppercase}
.clinic-calendar-day:hover:not(:disabled),.clinic-calendar-day.selected{background:#0d497d;color:#fff;border-color:#0d497d}
.clinic-calendar-day:hover:not(:disabled) small,.clinic-calendar-day.selected small{color:#e0f2fe}
.clinic-calendar-day.today{box-shadow:inset 0 0 0 2px rgba(13,73,125,.28)}
.clinic-calendar-day.muted{color:#475569;background:#f8fafc}
.clinic-calendar-day.closed{background:#eef2f7;color:#475569;cursor:not-allowed}
.clinic-calendar-day.closed small{color:#475569}
.clinic-calendar-day.fully-booked{background:#7f1d1d;color:#fff;border-color:#7f1d1d}
.clinic-calendar-day.fully-booked small{color:#fee2e2}
.clinic-time-picker{display:grid;gap:12px;border:1px solid rgba(148,163,184,.38);border-radius:8px;background:#f8fbfd;padding:14px;height:100%}
.clinic-time-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64748b;font:800 12px/1.25 var(--font-ui);text-transform:uppercase}
.clinic-time-picker-head strong{color:#0d497d;font-size:13px}
.clinic-time-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:9px}
.clinic-time-slot{display:grid;place-items:center;gap:2px;min-height:58px;border:1px solid rgba(148,163,184,.38);border-radius:8px;background:#fff;color:#0f172a;font:900 18px/1 var(--font-ui);cursor:pointer}
.clinic-time-slot small{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase}
.clinic-time-slot:hover:not(:disabled),.clinic-time-slot.selected{background:#0d497d;color:#fff;border-color:#0d497d}
.clinic-time-slot:hover:not(:disabled) small,.clinic-time-slot.selected small{color:#dbeafe}
.clinic-time-slot.taken{background:#7f1d1d;color:#fff;border-color:#7f1d1d;cursor:not-allowed}
.clinic-time-slot.taken small{color:#fee2e2}
.clinic-time-slot-empty{display:flex;align-items:center;justify-content:center;min-height:112px;border:1px dashed rgba(148,163,184,.45);border-radius:8px;background:#fff;color:#64748b;font:800 12px/1.35 var(--font-ui);text-align:center}
.clinic-form-grid textarea,.clinic-record-form textarea,.clinic-hours-form textarea{min-height:72px;resize:vertical}
.clinic-view-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0}
.clinic-view-tab{appearance:none;min-height:80px;border:1px solid var(--border);border-radius:var(--r);background:var(--panel);padding:12px 14px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;cursor:pointer;color:var(--ink);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}
.clinic-view-tab:hover,.clinic-view-tab:focus-visible,.clinic-view-tab.active{border-color:var(--brand-logo-blue-strong);background:linear-gradient(180deg,var(--brand-logo-blue) 0%,var(--brand-logo-blue-strong) 100%);color:#fff;box-shadow:0 14px 26px rgba(15,27,52,.2)}
.clinic-view-tab strong{font:800 13px/1.2 var(--font-ui);color:inherit}
.clinic-view-tab span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--brand-logo-blue-soft-text);font-size:12px;line-height:1.35}
.clinic-view-tab:hover span,.clinic-view-tab:focus-visible span,.clinic-view-tab.active span{color:#fff}
.clinic-dashboard-card{margin-top:18px}
.clinic-dashboard-card .card-head{align-items:flex-start}
.clinic-dashboard-range{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.clinic-range-btn{appearance:none;border:1px solid rgba(148,163,184,.42);border-radius:8px;background:#fff;color:#0f172a;padding:9px 12px;font:900 12px/1 var(--font-ui);cursor:pointer}
.clinic-range-btn:hover,.clinic-range-btn.active{background:#0d497d;border-color:#0d497d;color:#fff}
.clinic-dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.clinic-notification-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.clinic-notification-list small{display:block;flex:1 1 100%;color:#64748b;font:700 12px/1.35 var(--font-ui)}
.clinic-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}
.clinic-records-layout,.clinic-hours-layout{display:grid;gap:14px}
.clinic-record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.clinic-hours-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.clinic-table-wrap{max-height:360px;overflow:auto}
.clinic-table-wrap .clinic-table{min-width:880px}
.clinic-table th,.clinic-table td{vertical-align:top}
.clinic-workers-card{display:grid;gap:14px}
.clinic-workers-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.clinic-workers-layout{grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.clinic-worker-list{display:grid;gap:10px}
.side-btn .clinic-worker-side-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.side-btn .clinic-worker-side-meta .pill{display:inline-flex;color:inherit}
.clinic-worker-box{appearance:none;width:100%;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;padding:12px;text-align:left;display:grid;gap:7px;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
.clinic-worker-box:hover,.clinic-worker-box.active{background:#0d497d;border-color:#0d497d;color:#fff;box-shadow:0 16px 34px rgba(13,73,125,.16)}
.clinic-worker-box strong{font-size:15px;line-height:1.25}
.clinic-worker-box em{font-style:normal;font-weight:800;font-size:12px;color:#0d497d}
.clinic-worker-box span{font-size:12px;color:#64748b;line-height:1.35}
.clinic-worker-box:hover span,.clinic-worker-box.active span,.clinic-worker-box:hover em,.clinic-worker-box.active em{color:#dbeafe}
.clinic-worker-level{width:max-content;border:1px solid rgba(13,73,125,.18);border-radius:999px;padding:4px 8px;background:#eff6ff;color:#0d497d!important;font:800 10px/1 var(--font-ui);text-transform:uppercase}
.clinic-worker-box:hover .clinic-worker-level,.clinic-worker-box.active .clinic-worker-level{background:#fff;color:#0d497d!important;border-color:#fff}
.clinic-worker-box-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.clinic-worker-box-stats span{border:1px solid rgba(148,163,184,.24);border-radius:8px;padding:7px;background:#f8fafc}
.clinic-worker-box:hover .clinic-worker-box-stats span,.clinic-worker-box.active .clinic-worker-box-stats span{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22)}
.clinic-worker-box-stats b{display:block;font-size:14px;color:inherit}
.clinic-worker-detail{display:grid;gap:12px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;padding:14px;min-width:0}
.clinic-worker-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.clinic-worker-detail-head div{display:grid;gap:5px}
.clinic-worker-detail-head span{color:#64748b;font:800 11px/1 var(--font-ui);text-transform:uppercase;letter-spacing:.04em}
.clinic-worker-detail-head strong{font-size:20px;line-height:1.2;color:#0f172a}
.clinic-worker-detail-head p{margin:0;color:#475569;font-size:13px;line-height:1.4}
.clinic-worker-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.clinic-worker-note{border:1px solid rgba(13,73,125,.15);border-radius:8px;background:#eff6ff;color:#1e3a5f;padding:10px;font-size:12px;line-height:1.45;font-weight:700}
.clinic-worker-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.clinic-worker-appointments{max-height:320px}
.clinic-staff-search{max-width:420px;margin-bottom:12px}
.clinic-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.clinic-staff-card-item{display:grid;gap:8px;border:1px solid rgba(148,163,184,.28);background:#fff;border-radius:8px;padding:12px}
.clinic-staff-card-item strong{color:#0f172a;font-size:13px;line-height:1.25}
.clinic-staff-card-item span{color:#64748b;font-size:12px;line-height:1.35}
.clinic-staff-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}
.clinic-treatment-editor-card{margin-top:18px}
.clinic-treatment-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.clinic-treatment-editor-item{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;padding:12px}
.clinic-treatment-editor-item.is-editing{border-color:#0d497d;box-shadow:0 16px 34px rgba(13,73,125,.12)}
.clinic-treatment-editor-item:not(.is-editing) .cell-input,.clinic-treatment-editor-item:not(.is-editing) .cell-select{background:#f8fafc;color:#475569}
.clinic-treatment-editor-name{grid-column:1/-1}
.clinic-treatment-editor-item textarea{min-height:68px;resize:vertical}
.clinic-profile-card{display:grid;gap:16px}
.clinic-profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.clinic-profile-summary article{display:grid;gap:5px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#f8fbfd;padding:12px}
.clinic-profile-summary span{color:#64748b;font:800 11px/1 var(--font-ui);text-transform:uppercase;letter-spacing:.04em}
.clinic-profile-summary strong{color:#0f172a;font-size:14px;line-height:1.25}
.clinic-profile-form textarea{min-height:160px;resize:vertical}
@media (max-width:1180px){
  .clinic-main-layout,.clinic-two-column{grid-template-columns:1fr}
}
@media (max-width:980px){
  .clinic-workers-layout{grid-template-columns:1fr}
}
@media (max-width:760px){
  body[data-active-page="physiotherapy-clinic"].auth-ready{
    min-width:0;
    overflow-x:hidden;
  }
  body[data-active-page="physiotherapy-clinic"].auth-ready nav{
    width:100%;
    min-width:0;
  }
  body[data-active-page="physiotherapy-clinic"].auth-ready .page{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }
  body[data-active-page="physiotherapy-clinic"].auth-ready .user-chip{
    max-width:100%;
  }
  #pg-physiotherapy-clinic,
  #physiotherapy-clinic-root,
  #pg-physiotherapy-clinic .card,
  #pg-physiotherapy-clinic .side-panel,
  #pg-physiotherapy-clinic .detail-panel{
    min-width:0;
    max-width:100%;
  }
  #pg-physiotherapy-clinic .card{
    padding:18px;
  }
  #pg-physiotherapy-clinic .card-head,
  #pg-physiotherapy-clinic .clinic-worker-detail-head{
    display:grid;
    grid-template-columns:1fr;
  }
  #pg-physiotherapy-clinic .btn-row{
    justify-content:flex-start;
  }
  #pg-physiotherapy-clinic .btn,
  #pg-physiotherapy-clinic .clinic-header-card .btn{
    width:100%;
    text-align:center;
  }
  #pg-physiotherapy-clinic .clinic-metrics,
  #pg-physiotherapy-clinic .clinic-workers-summary,
  #pg-physiotherapy-clinic .clinic-worker-detail-metrics{
    grid-template-columns:1fr;
  }
  #pg-physiotherapy-clinic .clinic-worker-level{
    width:auto;
  }
  #pg-physiotherapy-clinic .clinic-calendar-shell,
  #pg-physiotherapy-clinic .clinic-time-picker{
    padding:12px;
  }
  #pg-physiotherapy-clinic .clinic-calendar-field{
    display:grid;
    justify-items:start;
  }
  #pg-physiotherapy-clinic .clinic-calendar-field strong{
    text-align:left;
  }
  #pg-physiotherapy-clinic .clinic-calendar-grid{
    gap:4px;
  }
  #pg-physiotherapy-clinic .clinic-calendar-day{
    min-height:42px;
    font-size:12px;
  }
  #pg-physiotherapy-clinic .clinic-calendar-day small{
    font-size:8px;
  }
  #pg-physiotherapy-clinic .clinic-time-slot-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #pg-physiotherapy-clinic .clinic-table-wrap{
    max-width:100%;
  }
  #pg-physiotherapy-clinic .clinic-table-wrap .clinic-table{
    min-width:720px;
  }
  #pg-physiotherapy-clinic .clinic-treatment-editor-grid{
    grid-template-columns:1fr;
  }
  .clinic-filter-row,.clinic-form-grid,.clinic-booking-date-time,.clinic-record-form,.clinic-hours-form,.clinic-assignment-row,.clinic-view-nav{grid-template-columns:1fr}
  .clinic-assignment-row .btn{justify-self:start}
  .clinic-treatment-editor-item{grid-template-columns:1fr}
  .clinic-worker-box-stats{grid-template-columns:1fr}
  .clinic-worker-assignment-row{grid-template-columns:1fr}
  .clinic-worker-detail-head{display:grid}
}

/* App-wide staff readability baseline: compact operational UI, without tiny caption text. */
.card-sub,
.auth-role-sub,
.help,
.muted,
.muted-text,
.side-empty,
.limit-note,
.finance-placeholder p,
.stats-blurb,
.dean-student-hero__text,
.dean-student-section__head p,
.dean-student-empty span,
.dean-student-inline-meta,
.clinic-worker-detail-head p,
.clinic-worker-note,
.clinic-staff-card-item span,
.clinic-profile-summary strong{
  color:#334155;
  font-size:14px;
  line-height:1.5;
}

.fg label,
th,
.slabel,
.ti .tl,
.stats-kicker,
.data-health-metric span,
.dean-student-hero__eyebrow,
.dean-student-field span,
.clinic-worker-detail-head span,
.clinic-profile-summary span,
.clinic-calendar-weekday{
  color:#334155;
  font:800 12.5px/1.35 var(--font-ui);
  letter-spacing:0;
  text-transform:none;
}

.metric{
  height:84px;
  min-height:84px;
  padding:10px 12px;
}

.metric-label,
#pg-planning>.metrics .metric-label,
#planning-schedule-card .planning-schedule-metrics .metric-label,
#pg-student-refunds .refunds-totals-grid .metric-label{
  color:#334155;
  font:800 11px/1.25 var(--font-ui);
  text-transform:none;
}

.metric-value,
#pg-student-refunds .refunds-totals-grid .metric-value{
  font-size:18px;
  line-height:1.12;
}

.metric-sub,
#pg-planning>.metrics .metric-sub,
#planning-schedule-card .planning-schedule-metrics .metric-sub,
#pg-student-refunds .refunds-totals-grid .metric-sub{
  color:#334155;
  font-size:12px;
  line-height:1.35;
}

.finance-area-box,
.fees-program-btn,
.fees-language-btn,
.fees-semester-btn,
.fees-plan-option,
.refunds-stat-pill,
.side-btn,
.admin-access-card,
.admin-department-card,
.budget-tab,
.budget-study-card,
.dean-student-field,
.clinic-worker-box,
.clinic-staff-card-item,
.clinic-profile-summary article,
.data-health-metric{
  border-radius:8px;
}

.finance-area-box{
  min-height:72px;
  padding:8px 10px;
  gap:4px;
}

.finance-area-box strong,
.fees-program-btn strong,
.fees-language-btn strong,
.fees-semester-btn strong,
.fees-plan-option strong,
.side-btn strong,
.refunds-stat-pill strong,
.admin-access-card strong,
.admin-department-card__title,
.budget-tab,
.budget-study-card__title,
.dean-student-field__value strong,
.clinic-worker-box strong,
.clinic-staff-card-item strong,
.data-health-metric strong{
  font-size:13px;
  line-height:1.22;
}

.finance-area-box p,
.fees-program-btn span,
.fees-language-btn span,
.fees-semester-btn span,
.fees-plan-option__note,
.side-btn span,
.refunds-stat-pill span,
.refunds-stat-pill .refunds-stat-pill-meta,
.admin-access-card span,
.admin-department-card__count,
.admin-department-card__row span,
.budget-study-card span,
.budget-study-card p,
.dean-student-field__value,
.dean-student-field small,
.clinic-worker-box span,
.clinic-worker-box em,
.clinic-worker-level,
.clinic-staff-card-item span,
.clinic-profile-summary span,
.data-health-metric small{
  color:#334155;
  font-size:11.5px;
  line-height:1.32;
}

.fees-program-btn,
.fees-language-btn,
.fees-semester-btn,
.fees-plan-option,
#pg-dean .fees-program-btn,
#pg-dean .fees-language-btn,
#pg-dean .fees-semester-btn,
#pg-planning .fees-program-btn,
#pg-planning .fees-language-btn,
#pg-planning .fees-semester-btn{
  min-height:52px;
  padding:7px 9px;
  gap:3px;
}

#pg-dean .fees-program-btn strong,
#pg-dean .fees-language-btn strong,
#pg-dean .fees-semester-btn strong,
#pg-planning .fees-program-btn strong,
#pg-planning .fees-language-btn strong,
#pg-planning .fees-semester-btn strong{
  font-size:12px;
  line-height:1.2;
}

#pg-dean .fees-program-btn span,
#pg-dean .fees-language-btn span,
#pg-dean .fees-semester-btn span,
#pg-planning .fees-program-btn span,
#pg-planning .fees-language-btn span,
#pg-planning .fees-semester-btn span{
  font-size:10.5px;
  line-height:1.25;
}

.btn-small,
.pill,
.clinic-calendar-day small,
.clinic-time-slot small,
.request-contract-label,
.history-invoice-form span,
.history-invoice-readonly span{
  font-size:12px;
  line-height:1.35;
  letter-spacing:0;
}

.pill,
.status-pill,
.budget-info-pill,
.finance-study-fees-pill,
.dean-student-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:24px;
  padding:3px 8px;
  border-radius:6px;
  font:800 12px/1.25 var(--font-ui);
  letter-spacing:0;
  white-space:nowrap;
}

.side-btn .pill,
.side-btn .clinic-booking-meta .pill,
.side-btn .clinic-worker-side-meta .pill{
  display:inline-flex;
  flex:0 0 auto;
  width:max-content;
  max-width:100%;
}

.clinic-booking-meta,
.clinic-worker-side-meta{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  line-height:1.35;
}

.clinic-booking-meta .pill,
.clinic-worker-side-meta .pill{
  margin:1px 0;
}

.clinic-pill-alert{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
}

.clinic-pill-success{
  background:#ecfdf5;
  border-color:#86efac;
  color:#166534;
}

.clinic-pill-hours{
  background:#eaf2ff;
  border-color:#9dbbed;
  color:#1e3a5f;
}

.clinic-pill-muted{
  background:#f8fafc;
  border-color:#cbd5e1;
  color:#334155;
}

.side-btn.active .clinic-booking-meta,
.side-btn.active .clinic-worker-side-meta{
  color:#fff;
}

.side-btn.active .clinic-pill-alert{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}

.side-btn.active .clinic-pill-success,
.side-btn.active .clinic-pill-hours,
.side-btn.active .clinic-pill-muted{
  background:#fff;
  border-color:#dbeafe;
  color:#1e3a5f;
}

.side-btn .clinic-booking-meta .clinic-pill-alert,
.side-btn.active .clinic-booking-meta .clinic-pill-alert{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
}

.side-btn .clinic-booking-meta .clinic-pill-success,
.side-btn.active .clinic-booking-meta .clinic-pill-success{
  background:#ecfdf5;
  border-color:#86efac;
  color:#166534;
}

.side-btn .clinic-booking-meta .clinic-pill-muted,
.side-btn.active .clinic-booking-meta .clinic-pill-muted{
  background:#f8fafc;
  border-color:#cbd5e1;
  color:#334155;
}

.side-btn .clinic-worker-side-meta .clinic-pill-hours,
.side-btn.active .clinic-worker-side-meta .clinic-pill-hours{
  background:#eaf2ff;
  border-color:#9dbbed;
  color:#1e3a5f;
}

.side-btn .clinic-worker-side-meta .clinic-pill-muted,
.side-btn.active .clinic-worker-side-meta .clinic-pill-muted{
  background:#f8fafc;
  border-color:#cbd5e1;
  color:#334155;
}

.side-btn .clinic-worker-side-meta .clinic-pill-alert,
.side-btn.active .clinic-worker-side-meta .clinic-pill-alert{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
}

#pg-physiotherapy-clinic .clinic-workspace-card{
  gap:10px;
  margin-bottom:14px;
  padding:14px 16px;
  border-radius:8px;
}

#pg-physiotherapy-clinic .clinic-header-card{
  margin-bottom:14px;
  padding:16px 18px;
}

#pg-physiotherapy-clinic .clinic-header-card .card-head{
  gap:10px;
  margin-bottom:12px;
  align-items:center;
}

#pg-physiotherapy-clinic .clinic-header-card .card-title{
  font-size:17px;
  line-height:1.18;
}

#pg-physiotherapy-clinic .clinic-header-card .card-sub{
  margin-top:3px;
  font-size:12px;
  line-height:1.3;
}

#pg-physiotherapy-clinic .clinic-header-card .btn{
  min-height:34px;
  padding:8px 12px;
}

#pg-physiotherapy-clinic .clinic-metrics,
#pg-physiotherapy-clinic .clinic-dashboard-metrics{
  gap:8px;
}

#pg-physiotherapy-clinic .clinic-metrics .metric,
#pg-physiotherapy-clinic .clinic-dashboard-metrics .metric{
  height:68px;
  min-height:68px;
  padding:8px 10px;
}

#pg-physiotherapy-clinic .clinic-metrics .metric-label,
#pg-physiotherapy-clinic .clinic-dashboard-metrics .metric-label{
  margin-bottom:2px;
  font-size:10.5px;
  line-height:1.18;
}

#pg-physiotherapy-clinic .clinic-metrics .metric-value,
#pg-physiotherapy-clinic .clinic-dashboard-metrics .metric-value{
  font-size:17px;
}

#pg-physiotherapy-clinic .clinic-metrics .metric-sub,
#pg-physiotherapy-clinic .clinic-dashboard-metrics .metric-sub{
  margin-top:2px;
  font-size:11px;
  line-height:1.25;
  -webkit-line-clamp:1;
}

#pg-physiotherapy-clinic .clinic-view-nav{
  gap:7px;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}

#pg-physiotherapy-clinic .clinic-view-tab{
  min-height:56px;
  padding:8px 12px;
  gap:4px;
  border-radius:8px;
  justify-content:center;
}

#pg-physiotherapy-clinic .clinic-view-tab:hover,
#pg-physiotherapy-clinic .clinic-view-tab:focus-visible,
#pg-physiotherapy-clinic .clinic-view-tab.active{
  box-shadow:0 8px 16px rgba(15,27,52,.18);
}

#pg-physiotherapy-clinic .clinic-view-tab strong{
  font-size:12.5px;
  line-height:1.15;
}

#pg-physiotherapy-clinic .clinic-view-tab span{
  font-size:11px;
  line-height:1.25;
  -webkit-line-clamp:1;
}

#pg-physiotherapy-clinic .clinic-dashboard-card{
  margin-top:4px;
}

#pg-physiotherapy-clinic .clinic-dashboard-card .card-head{
  gap:8px;
  margin-bottom:8px;
  align-items:center;
}

#pg-physiotherapy-clinic .clinic-dashboard-card .card-title{
  font-size:16px;
  line-height:1.15;
}

#pg-physiotherapy-clinic .clinic-dashboard-card .card-sub{
  margin-top:2px;
  font-size:12px;
  line-height:1.3;
}

#pg-physiotherapy-clinic .clinic-dashboard-range{
  gap:6px;
}

#pg-physiotherapy-clinic .clinic-range-btn{
  min-height:30px;
  padding:7px 10px;
  border-radius:7px;
  font-size:11.5px;
}
