.finance-workspace{gap:16px;display:grid}.student-campus-workspace{gap:14px;display:grid}.campus-search{min-width:min(420px,100%)}.campus-filter-strip{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.campus-filter-strip::-webkit-scrollbar{display:none}.campus-map-shell{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:28px;grid-template-columns:minmax(520px,1.15fr) minmax(360px,.85fr);gap:12px;padding:14px;display:grid;overflow:hidden}.campus-map-area{min-width:0;padding:0;display:grid}.campus-events-card,.joined-clubs-card{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:24px;min-width:0;padding:18px}.student-campus-section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.student-campus-section-head h3{font-size:18px}.student-campus-section-head span{color:var(--muted);font-size:12px;font-weight:900}.student-campus-event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-campus-event-list article{background:var(--row);border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;text-align:left;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:9px;transition:border .16s,box-shadow .16s,transform .16s;display:flex}.campus-event-select{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:0;display:grid}.joined-club-list{grid-template-columns:1fr;gap:8px;display:grid}.joined-club-list button{background:var(--row);border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;text-align:left;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:10px 12px;transition:border .16s,box-shadow .16s,transform .16s;display:grid}.student-campus-event-list article:hover,.student-campus-event-list article.active,.joined-club-list button.active,.joined-club-list button:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border-soft));box-shadow:var(--shadow-soft);transform:translateY(-1px)}.student-campus-event-list strong,.joined-club-list strong{font-size:14px}.student-campus-event-list small,.joined-club-list small{color:var(--muted);font-size:12px;font-weight:850;line-height:1.35}.joined-club-list span{gap:4px;min-width:0;display:grid}.joined-club-list em{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:220px;padding:6px 8px;font-size:11px;font-style:normal;font-weight:900;overflow:hidden}.campus-urgency-dot{border-radius:999px;width:12px;height:12px;display:inline-flex}.campus-urgency-dot.soon,.student-map-pin.soon>span,.campus-urgency-label.soon{background:#aac4f5}.campus-urgency-dot.upcoming,.student-map-pin.upcoming>span,.campus-urgency-label.upcoming,.campus-urgency-dot.week,.student-map-pin.week>span,.campus-urgency-label.week,.campus-urgency-dot.later,.student-map-pin.later>span,.campus-urgency-label.later{background:#3f63d9}.student-campus-map{aspect-ratio:16/8.5;background-color:var(--surface-soft);background-position:50%;background-repeat:no-repeat;background-size:contain;border:0;border-radius:22px;min-height:460px;position:relative;overflow:hidden}.student-map-pin{cursor:pointer;z-index:2;background:0 0;border:0;justify-items:center;gap:6px;display:grid;position:absolute;transform:translate(-50%,-50%)}.student-map-pin>span{border:3px solid #fff;border-radius:999px;width:20px;height:20px;box-shadow:0 8px 18px #24314d2e}.student-map-pin>strong{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);color:var(--ink);opacity:0;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:160px;padding:6px 9px;font-size:11px;font-weight:950;transition:opacity .14s,transform .14s;overflow:hidden;transform:translateY(4px)}.student-map-pin.active{z-index:6}.student-map-pin.active>span{width:24px;height:24px}.campus-selected-card{background:linear-gradient(180deg, color-mix(in srgb, var(--pastel-green) 18%, transparent), transparent 38%), var(--panel);border:1px solid var(--border-soft);border-radius:22px;align-content:start;align-self:stretch;gap:14px;min-width:0;padding:24px;display:grid}.campus-selected-card p{color:var(--muted);font-weight:850;line-height:1.45}.campus-urgency-label{color:#fff;border-radius:999px;justify-self:start;padding:7px 10px;font-size:12px;font-weight:950}.campus-selected-meta{gap:8px;display:grid}.campus-selected-meta span{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:850;display:inline-flex}.campus-lower-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.52fr);gap:18px;display:grid}.campus-registration-modal{max-width:520px}.campus-registration-modal .registration-summary{gap:12px;display:grid}.campus-registration-modal .registration-summary strong{font-size:28px;line-height:1}.campus-registration-modal .registration-summary span,.campus-registration-modal .registration-summary p{color:var(--muted);font-weight:850;line-height:1.45}.finance-control-row{grid-template-columns:minmax(420px,1fr) auto;align-items:center;gap:10px;display:grid}.finance-filter-set{background:var(--panel-strong);border:1px solid var(--border-soft);scrollbar-width:none;border-radius:999px;justify-self:end;align-items:center;gap:6px;width:max-content;min-height:42px;padding:4px;display:flex;overflow-x:auto}.finance-filter-set::-webkit-scrollbar{display:none}.finance-filter-set button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;flex:none;padding:9px 12px;font-size:12px;font-weight:900;transition:background .16s,color .16s,box-shadow .16s}.finance-filter-set button.active{background:var(--surface-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, var(--border-soft));color:var(--ink)}.finance-hero-grid{grid-template-columns:minmax(520px,1.45fr) minmax(340px,.75fr);align-items:stretch;gap:14px;display:grid}.finance-ops-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.finance-ops-summary article{background:var(--panel);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:22px;gap:8px;min-height:128px;padding:20px;display:grid}.finance-ops-summary span,.finance-ops-summary small{color:var(--muted);font-size:13px;font-weight:850}.finance-ops-summary strong{color:var(--ink);font-size:clamp(24px,2.6vw,36px);line-height:1}.finance-student-ledger{margin-top:14px}.finance-ledger-head,.finance-ledger-row{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(90px,.55fr)) minmax(90px,.5fr) minmax(110px,.55fr);align-items:center;gap:14px;display:grid}.finance-ledger-head{color:var(--muted);padding:4px 16px 10px;font-size:12px;font-weight:950}.finance-ledger-row{background:var(--row);border:1px solid var(--border-soft);border-radius:18px;min-width:920px;padding:14px 16px}.finance-ledger-row>strong{color:var(--ink);font-size:14px}.finance-update-hero{box-shadow:var(--shadow-soft);color:#fff;isolation:isolate;background:linear-gradient(135deg,#aac4f5 0%,#3f63d9 100%);border-radius:32px;grid-template-rows:minmax(0,1fr);align-items:stretch;height:260px;min-height:260px;padding:24px 28px;display:grid;position:relative;overflow:hidden}.finance-update-hero:after{content:"";opacity:.5;border:1px solid #ffffff2e;border-radius:999px;width:190px;height:190px;position:absolute;top:-54px;right:-54px}.finance-update-track{z-index:1;align-content:start;gap:10px;min-width:0;max-width:min(980px,100% - 150px);height:100%;padding-bottom:56px;animation:.42s both financeSlideIn;display:grid;position:relative;overflow:visible}.finance-update-track span{color:#ffffffe0;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #ffffff8c;justify-self:start;padding-bottom:6px;font-size:12px;font-weight:950}.finance-update-track h2{color:#fff;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;margin:0;padding-bottom:4px;font-size:clamp(30px,3.1vw,44px);line-height:1.04;display:-webkit-box;overflow:hidden}.finance-update-track p{color:#ffffffe6;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:58ch;margin:0;font-size:14px;font-weight:850;line-height:1.45;display:-webkit-box;overflow:hidden}.finance-update-track small{color:#ffffffe6;justify-self:start;font-size:13px;font-weight:950}.finance-hero-actions{z-index:1;align-items:center;gap:10px;display:flex;position:absolute;bottom:24px;left:28px}.finance-hero-actions>button{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #fff3;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.finance-hero-dots{gap:8px;display:flex}.finance-hero-dots button{cursor:pointer;background:#ffffff57;border:0;border-radius:999px;width:28px;height:8px}.finance-hero-dots button.active{background:#fff;width:42px}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;height:260px;display:grid}.finance-summary-card{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:20px;grid-template-rows:auto 1fr auto;gap:4px;min-height:0;padding:14px 16px;display:grid}.finance-summary-card:first-child{grid-column:auto}.finance-summary-card span,.finance-summary-card small,.finance-section-head p,.finance-breakdown-card p{color:var(--muted);font-size:11px;font-weight:850;line-height:1.45}.finance-summary-card strong{color:var(--ink);align-self:center;font-size:clamp(22px,1.9vw,28px);font-weight:1000;line-height:1}.finance-main-grid{grid-template-columns:1fr;gap:16px;min-height:0;display:grid}.admin-fee-grid{grid-template-columns:minmax(300px,.74fr) minmax(0,1.26fr)}.finance-list-panel,.finance-breakdown-card{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:28px}.finance-list-panel{gap:12px;min-height:300px;padding:18px;display:grid}.finance-section-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.finance-section-head .status{text-align:center;justify-content:center;min-width:104px}.finance-section-head h3{font-size:20px}.finance-section-head>span{color:var(--muted);font-size:12px;font-weight:900}.finance-payment-panel{background:var(--panel);border:1px solid var(--border-soft);border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:12px;display:grid}.finance-payment-panel label{color:var(--muted);text-transform:uppercase;gap:5px;font-size:11px;font-weight:950;display:grid}.finance-payment-panel input,.finance-payment-panel textarea{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--ink);font:inherit;border-radius:14px;outline:0;min-height:40px;padding:0 12px;font-weight:850}.finance-payment-panel textarea{resize:vertical;min-height:92px;padding:11px 12px;line-height:1.45}.fee-payment-mode{background:var(--panel);border:1px solid var(--border-soft);border-radius:16px;justify-self:start;gap:4px;padding:4px;display:inline-flex}.fee-payment-mode button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:12px;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:12px;font-weight:950;display:inline-flex}.fee-payment-mode button.active{background:var(--ink);color:#fff}.finance-payment-panel .toggle-row{flex-direction:row;align-items:center;gap:10px;min-height:40px;display:flex}.finance-payment-panel .toggle-row input{width:auto;min-height:0}.fee-student-results,.fee-due-list,.fee-history-list{gap:9px;display:grid}.fee-student-results{max-height:min(440px,48vh);padding-right:4px;overflow:auto}.fee-student-results button,.fee-due-row,.fee-receipt-link{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--ink);text-align:left;border-radius:18px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;text-decoration:none;display:grid}.fee-student-results button{cursor:pointer;grid-template-columns:minmax(0,1fr) auto}.fee-student-results button.active{border-color:color-mix(in srgb, var(--accent) 42%, var(--border-soft));box-shadow:0 12px 28px color-mix(in srgb, var(--accent) 12%, transparent)}.fee-student-results span,.fee-due-row span,.fee-receipt-link span{gap:3px;min-width:0;display:grid}.fee-student-results strong,.fee-due-row strong,.fee-receipt-link strong{color:var(--ink);font-size:14px;font-weight:950}.fee-student-results small,.fee-due-row small,.fee-receipt-link small{color:var(--muted);font-size:12px;font-weight:850}.fee-due-row{grid-template-columns:auto minmax(0,1fr) auto auto}.fee-due-row input{accent-color:var(--accent);width:18px;height:18px}.fee-confirm-strip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.fee-confirm-strip span{color:var(--muted);font-size:12px;font-weight:900}.finance-service-strip{scroll-snap-type:x mandatory;grid-auto-columns:minmax(320px,.62fr);grid-auto-flow:column;gap:14px;padding-bottom:4px;display:grid;overflow-x:auto}.finance-service-strip::-webkit-scrollbar{height:8px}.finance-service-strip::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 22%, transparent);border-radius:999px}.finance-service-card{scroll-snap-align:start;min-width:0}.service-request-panel{grid-template-columns:1fr;align-items:stretch}.fee-confirm-strip strong{font-size:20px;font-weight:1000}.fee-receipt-link{grid-template-columns:minmax(0,1fr) auto}.fee-gateway-panel{margin-top:16px}.fee-gateway-panel .finance-payment-panel{grid-template-columns:minmax(190px,.7fr) repeat(3,minmax(190px,1fr)) auto}.inline-alert{background:var(--panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);color:var(--ink);border-radius:999px;margin-top:14px;padding:10px 14px;font-size:13px;font-weight:900;display:inline-flex}.finance-list-scroll{gap:7px;max-height:min(330px,39vh);padding-right:4px;display:grid;overflow:auto}.finance-row{border:1px solid var(--border-soft);border-radius:18px;grid-template-columns:minmax(260px,1fr) 116px 112px 104px 106px;align-items:center;gap:10px;min-height:66px;padding:10px 12px;display:grid}.finance-row-main{gap:3px;display:grid}.finance-row-main strong,.finance-amount{color:var(--ink);font-size:14px;font-weight:950}.finance-row-main span,.finance-row>span:not(.status){color:var(--muted);font-size:12px;font-weight:850}.finance-row>.status{text-align:center;justify-content:center;min-width:104px}.finance-row>.primary-pill,.finance-row>.ghost-pill{justify-content:center;min-width:106px;padding-left:12px;padding-right:12px}.finance-breakdown-grid{gap:16px;display:grid}.finance-breakdown-card{gap:16px;padding:20px;display:grid}.finance-progress{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:999px;height:16px;overflow:hidden}.finance-progress div{background:var(--accent);border-radius:inherit;height:100%}.finance-mini-facts{justify-content:space-between;align-items:center;display:flex}.finance-mini-facts span{color:var(--muted);font-size:12px;font-weight:850}.finance-mini-facts strong{font-size:28px;line-height:1}.finance-bars{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-soft) 70%, transparent));border-bottom:1px solid var(--border-soft);grid-template-columns:repeat(4,1fr);align-items:end;gap:12px;height:150px;padding:14px 12px 0;display:grid}.finance-bars span{background:var(--accent);opacity:.28;border-radius:16px 16px 0 0;min-height:24px}.finance-bars span:first-child{opacity:.72}@keyframes financeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.finance-update-track{animation:none}}@media (max-width:820px){.finance-update-track{max-width:100%}}.ops-donut-wrap{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.ops-donut{border-radius:999px;justify-content:center;align-items:center;width:138px;height:138px;display:flex;position:relative}.ops-donut:after{background:var(--panel-strong);border-radius:inherit;content:"";position:absolute;inset:18px}.ops-donut span{color:var(--ink);z-index:1;font-size:25px;font-weight:950;position:relative}.ops-legend{gap:8px;display:grid}.ops-legend.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.ops-legend span{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:850;display:flex}.ops-legend span:before{background:var(--ops-tone);content:"";border-radius:999px;width:8px;height:8px;margin-right:8px}.ops-legend span strong{color:var(--ink);margin-left:auto}.ops-progress{background:color-mix(in srgb, var(--line) 72%, transparent);border-radius:999px;height:16px;margin:20px 0 14px;overflow:hidden}.ops-progress span{background:linear-gradient(90deg, var(--positive), color-mix(in srgb, var(--positive) 68%, var(--neutral)));border-radius:inherit;height:100%;display:block}.ops-progress-value{margin-bottom:8px;font-size:24px;display:block}.ops-bars{gap:13px;margin:12px 0 16px;display:grid}.ops-bar-row{grid-template-columns:104px minmax(0,1fr) 46px;align-items:center;gap:12px;display:grid}.ops-bar-row span,.ops-bar-row strong{color:var(--muted);font-size:13px;font-weight:900}.ops-bar-row div{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:12px;overflow:hidden}.ops-bar-row i{background:var(--ops-tone);border-radius:inherit;height:100%;display:block}.status-dot{background:var(--ops-tone);border-radius:999px;width:12px;height:12px}.leave-form-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.leave-form-preview span{background:var(--row);border:1px solid var(--soft-line);color:var(--muted);border-radius:14px;padding:12px;font-size:13px;font-weight:850}.student-campus-workspace{gap:16px}.campus-map-shell{background:#17233f;border:1px solid #8ca9ff57;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(420px,.34fr);gap:0;min-height:680px;padding:0;box-shadow:0 28px 72px #506cb42e}.campus-map-area{background:radial-gradient(circle at 28% 20%,#aac4f529,#0000 28%),#17233f;min-width:0;min-height:680px;padding:26px}.student-campus-map{aspect-ratio:auto;isolation:isolate;background:linear-gradient(145deg,#fcfdfffa,#e4eeffe6);border:1px solid #edf3ff1f;border-radius:28px;width:100%;min-width:0;max-width:100%;height:100%;min-height:620px;box-shadow:inset 0 0 0 1px #edf3ff0a}.student-campus-map:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#fcfdff14,#0000 28% 72%,#fcfdff14);position:absolute;inset:0}.student-campus-map-image{filter:grayscale()contrast(1.08)brightness(.98);mix-blend-mode:normal;object-fit:contain;object-position:center;opacity:.96;pointer-events:none;z-index:1;transform:scale(1.05);width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.student-map-pin{color:#edf3ff;z-index:4;grid-template-columns:auto auto;justify-items:start;gap:8px;transform:translate(-18px,-18px)}.student-map-pin:hover{transform:translate(-18px,-22px)}.student-map-pin>span{background:#8ca9ff;border:3px solid #edf3fff0;width:34px;height:34px;box-shadow:0 0 0 7px #8ca9ff2e,0 14px 30px #00000052}.student-map-pin.soon>span,.student-map-pin.active>span{background:#fff2c6;box-shadow:0 0 0 8px #fff2c638,0 18px 34px #00000061}.student-map-pin>strong{color:#edf3ff;opacity:0;background:#111a30db;border-color:#edf3ff2e;align-self:center;max-width:190px;transform:translate(-6px);box-shadow:0 14px 34px #0000003d}.student-map-pin.active>strong,.student-map-pin:hover>strong{opacity:1;transform:translate(0)}.student-map-pin.pending-approval>span,.campus-urgency-dot.pending-approval{background:#dc2626;box-shadow:0 0 0 8px #dc262629}.student-map-pin.pending-approval>strong{border-color:#dc26263d}.campus-action-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.ghost-pill.danger{color:#b91c1c;border-color:#dc26263d}.club-operations-workspace .finance-main-grid{margin-top:18px}.club-operations-workspace .finance-payment-panel input,.club-operations-workspace .finance-payment-panel select,.club-operations-workspace .finance-payment-panel textarea{width:100%}.compact-input{border:1px solid #0f172a1f;border-radius:999px;width:84px;padding:9px 12px}.two-column-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.campus-selected-card{box-shadow:none;background:#fcfdfff5;border:0;border-left:1px solid #8ca9ff3d;border-radius:0;align-content:center;min-height:100%;padding:34px}.campus-selected-card h2{font-size:clamp(30px,2.6vw,44px);line-height:1}.campus-selected-card p{font-size:15px;line-height:1.6}.campus-selected-meta{gap:10px}.campus-selected-meta span{color:#17233fbd;font-size:14px}.campus-selected-card .primary-pill{justify-content:center;width:100%;margin-top:8px}.campus-lower-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.36fr)}:root[data-theme=dark] .campus-map-shell,:root[data-theme=dark] .campus-map-area{background:#0d1427}:root[data-theme=dark] .campus-selected-card{background:#111a30f5;border-left-color:#8ca9ff3d}:root[data-theme=dark] .campus-selected-meta span{color:#edf3ffc2}
.unified-finance{--finance-accent:var(--accent,var(--tenant-primary,#315ee8));--finance-border:color-mix(in srgb, var(--ink) 10%, transparent);--finance-panel:var(--panel-strong,#fff);--finance-muted:var(--muted,#697386)}.unified-finance .finance-hero-actions{z-index:auto;justify-content:flex-end;position:static;inset:auto}.unified-finance .finance-summary-grid{gap:10px;height:auto}.unified-finance .finance-metric{border-radius:18px;min-height:92px;padding:13px 16px}.unified-finance .finance-metric strong{margin:2px 0;font-size:clamp(1.35rem,1.8vw,1.65rem);line-height:1.05}.finance-panel-heading p{max-width:700px;color:var(--finance-muted);margin:0;font-weight:500}.finance-hero-balance{min-width:280px}.finance-hero-balance span,.finance-hero-balance small,.finance-metric span,.finance-metric small{color:var(--finance-muted);font-weight:700}.finance-hero-balance strong{color:var(--ink);letter-spacing:-.04em;margin:3px 0;font-size:2rem}.finance-hero-actions,.finance-checkout-bar>div,.verification-actions,.finance-drawer footer,.payroll-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finance-list-icon{width:28px;height:28px;color:var(--finance-muted);background:0 0;flex:none;place-items:center;display:grid}.finance-list-icon.positive{color:var(--finance-accent)}.finance-list-icon.warning{color:var(--finance-muted)}.finance-list-icon.danger{color:#a43d4e}.finance-panel{border:1px solid var(--finance-border);background:var(--finance-panel);border-radius:24px;min-width:0;overflow:hidden;box-shadow:0 7px 22px #0000000d}.finance-panel-heading{border-bottom:0;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px 14px;display:flex}.finance-panel-heading>svg,.finance-panel-heading .eyebrow{display:none}.finance-panel-heading h2{color:var(--ink);letter-spacing:-.01em;margin:0 0 2px;font-size:.94rem}.finance-add-menu{position:relative}.finance-add-menu>summary{list-style:none}.finance-add-menu>summary::-webkit-details-marker{display:none}.finance-add-menu>div{z-index:25;border:1px solid var(--finance-border);background:var(--finance-panel);border-radius:16px;width:280px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px #0000001f}.finance-add-menu>div button{color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:11px 10px;display:flex}.finance-add-menu>div button:hover{background:color-mix(in srgb, var(--finance-accent) 6%, var(--finance-panel))}.finance-add-menu>div button span{gap:1px;display:grid}.finance-add-menu>div button small{color:var(--finance-muted);font-size:.7rem}.finance-setup-card{border:1px solid color-mix(in srgb, var(--finance-accent) 24%, transparent);background:color-mix(in srgb, var(--finance-accent) 4%, var(--finance-panel));border-radius:22px;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex;box-shadow:0 7px 22px #0000000d}.finance-setup-card>div{gap:4px;display:grid}.finance-setup-card span{color:var(--finance-accent);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:850}.finance-setup-card h2,.finance-setup-card p{margin:0}.finance-setup-card h2{color:var(--ink);font-size:1.15rem}.finance-setup-card p{max-width:720px;color:var(--finance-muted);line-height:1.5}.finance-accounting-stack{gap:16px;display:grid}.finance-accounting-heading{align-items:flex-end}.finance-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.finance-local-filters,.finance-audience-options{gap:6px;padding:0 20px 14px;display:flex;overflow-x:auto}.finance-local-filters button,.finance-audience-options button{border:1px solid var(--finance-border);min-height:34px;color:var(--finance-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;padding:0 11px;font-size:.72rem;font-weight:750}.finance-local-filters button.active,.finance-audience-options button.selected{color:var(--finance-accent);border-color:color-mix(in srgb, var(--finance-accent) 34%, transparent);background:color-mix(in srgb, var(--finance-accent) 6%, transparent)}.accounting-table .finance-table-row{grid-template-columns:110px minmax(240px,1.4fr) minmax(150px,.7fr) 120px 140px 90px}.finance-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 20px 20px;display:grid}.finance-tool-grid>button,.finance-tool-grid>a{border:1px solid var(--finance-border);min-height:76px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.finance-tool-grid>button:hover,.finance-tool-grid>a:hover{border-color:color-mix(in srgb, var(--finance-accent) 30%, var(--finance-border));box-shadow:0 5px 14px #0000000d}.finance-tool-grid span{gap:2px;display:grid}.finance-tool-grid small{color:var(--finance-muted);font-size:.72rem}.finance-wizard-backdrop{align-items:stretch}.finance-billing-wizard{width:min(640px,100%)}.finance-wizard-progress{grid-template-columns:repeat(4,1fr);gap:6px;padding:0 24px 18px;display:grid}.finance-wizard-progress span{background:var(--finance-border);border-radius:999px;height:4px}.finance-wizard-progress span.active{background:var(--finance-accent)}.finance-wizard-body{gap:16px;padding:0 24px 24px;display:grid;overflow-y:auto}.finance-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.finance-choice-grid button{border:1px solid var(--finance-border);min-height:150px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border-radius:16px;gap:7px;padding:18px;display:grid}.finance-choice-grid button.selected{border-color:var(--finance-accent);background:color-mix(in srgb, var(--finance-accent) 5%, transparent)}.finance-choice-grid small{color:var(--finance-muted);line-height:1.45}.finance-wizard-fields{gap:13px;display:grid}.finance-wizard-fields>label:not(.finance-check),.finance-wizard-body>label{color:var(--ink);gap:6px;font-size:.78rem;font-weight:800;display:grid}.finance-wizard-fields input,.finance-wizard-fields select,.finance-wizard-fields textarea,.finance-wizard-body>label input{border:1px solid var(--finance-border);width:100%;min-height:42px;color:var(--ink);font:inherit;background:0 0;border-radius:10px;outline:0;padding:9px 11px}.finance-review-card{border:1px solid var(--finance-border);border-radius:16px;gap:10px;padding:20px;display:grid}.finance-review-card>span{color:var(--finance-accent);font-size:.72rem;font-weight:850}.finance-review-card h3,.finance-review-card p{margin:0}.finance-review-card p{color:var(--finance-muted);line-height:1.5}.finance-review-card dl{gap:8px;margin:4px 0;display:grid}.finance-review-card dl div{justify-content:space-between;gap:16px;display:flex}.finance-review-card dt{color:var(--finance-muted)}.finance-review-card dd{color:var(--ink);text-align:right;margin:0;font-weight:750}.finance-student-picker{gap:10px;display:grid}.finance-student-picker>label{border:1px solid var(--finance-border);border-radius:11px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex}.finance-student-picker>label input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.finance-student-results{max-height:300px;display:grid;overflow-y:auto}.finance-student-results button,.finance-change-student{border:0;border-bottom:1px solid var(--finance-border);color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:11px 4px;display:flex}.finance-student-results button>span,.finance-change-student>span{gap:2px;display:grid}.finance-student-results small,.finance-change-student small{color:var(--finance-muted);font-size:.72rem}.finance-student-results button svg{opacity:0;color:var(--finance-accent)}.finance-student-results button.selected svg{opacity:1}.finance-selected-students{flex-wrap:wrap;gap:6px;display:flex}.finance-selected-students>span{color:var(--finance-accent);background:color-mix(in srgb, var(--finance-accent) 7%, transparent);border-radius:10px;padding:7px 9px;font-size:.72rem;font-weight:800;display:grid}.finance-selected-students small{color:var(--finance-muted);font-weight:650}.finance-context-pill{border:1px solid var(--finance-border);color:var(--finance-muted);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800}.finance-two-column{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;display:grid}.finance-tabs button em{min-width:20px;height:20px;color:inherit;background:color-mix(in srgb, currentColor 9%, transparent);border-radius:999px;place-items:center;padding:0 5px;font-size:.7rem;font-style:normal;display:grid}.finance-primary-button,.finance-secondary-button,.finance-danger-button,.finance-icon-button{min-height:39px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.75rem;font-weight:750;transition:transform .16s,border-color .16s,background .16s,opacity .16s;display:inline-flex}.finance-primary-button{color:#fff;border-color:var(--finance-accent);background:var(--finance-accent);box-shadow:0 4px 10px #0000001a}.finance-secondary-button{color:var(--ink);border-color:var(--finance-border);background:var(--finance-panel)}.finance-danger-button{color:#b4232c;background:#b4232c0f;border-color:#b4232c33}.finance-icon-button{width:38px;min-height:38px;color:var(--finance-muted);border-color:var(--finance-border);background:0 0;padding:0}.finance-primary-button:hover,.finance-secondary-button:hover,.finance-danger-button:hover{transform:translateY(-1px)}.finance-primary-button:disabled,.finance-secondary-button:disabled{opacity:.42;cursor:not-allowed;transform:none}.finance-primary-button.compact,.finance-secondary-button.compact,.finance-danger-button.compact{min-height:36px;padding:0 12px;font-size:.78rem}.finance-secondary-button.full{width:calc(100% - 40px);margin:8px 20px 20px}.finance-table{overflow-x:auto}.finance-table-row{border-bottom:1px solid color-mix(in srgb, var(--finance-border) 75%, transparent);min-width:860px;color:var(--finance-muted);align-items:center;gap:12px;padding:11px 18px;font-size:.72rem;font-weight:650;display:grid}.finance-table-row:last-child{border-bottom:0}.finance-table-head{color:var(--finance-muted);background:color-mix(in srgb, var(--panel,#fff) 96%, var(--ink));letter-spacing:.045em;text-transform:uppercase;padding-block:10px;font-size:.62rem;font-weight:800}.charge-table .finance-table-row{grid-template-columns:54px minmax(320px,1.7fr) 120px 130px 140px}.management-charge-table .finance-table-row{grid-template-columns:1.1fr 1.35fr .7fr .7fr .75fr .8fr minmax(100px,.65fr)}.collections-table .finance-table-row{grid-template-columns:1.2fr 1fr .8fr .8fr .8fr .8fr minmax(130px,.9fr)}.finance-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.finance-row-actions a,.finance-row-actions button{color:var(--finance-accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 0;font-size:.72rem;font-weight:800;text-decoration:none}.payroll-table .finance-table-row{grid-template-columns:1.5fr .8fr .8fr .8fr .8fr}.finance-primary-cell,.finance-amount-cell{gap:2px;display:grid}.finance-primary-cell strong,.finance-amount-cell strong{color:var(--ink)}.finance-primary-cell small,.finance-amount-cell small{color:var(--finance-muted)}.finance-primary-cell em{width:fit-content;color:var(--finance-accent);background:color-mix(in srgb, var(--finance-accent) 7%, transparent);border-radius:6px;margin-top:4px;padding:3px 7px;font-size:.68rem;font-style:normal;font-weight:800}.finance-partial-input{border:1px solid var(--finance-border);width:118px;min-height:32px;color:var(--ink);font:inherit;background:0 0;border-radius:8px;padding:5px 8px;font-weight:750}.finance-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;width:fit-content;padding:6px 9px;font-size:.7rem;font-weight:850;display:inline-flex}.finance-status.positive{color:var(--finance-accent);border-color:color-mix(in srgb, var(--finance-accent) 28%, transparent);background:color-mix(in srgb, var(--finance-accent) 5%, transparent)}.finance-status.warning{color:var(--finance-muted);border-color:var(--finance-border);background:color-mix(in srgb, var(--ink) 3%, transparent)}.finance-status.danger{color:#b4232c;background:#b4232c13;border-color:#b4232c29}.finance-status.neutral{color:var(--finance-muted);border-color:var(--finance-border);background:color-mix(in srgb, var(--ink) 3%, transparent)}.finance-checkout-bar{border-top:1px solid var(--finance-border);background:color-mix(in srgb, var(--finance-accent) 3%, var(--finance-panel));justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.finance-checkout-bar>span{display:grid}.finance-checkout-bar small{color:var(--finance-muted);font-weight:750}.finance-checkout-bar strong{color:var(--ink);font-size:1.35rem}.finance-checkout-message{border-top:1px solid var(--finance-border);color:var(--finance-muted);background:color-mix(in srgb, var(--finance-accent) 4%, transparent);padding:11px 22px;font-size:.82rem;font-weight:750}.finance-compact-list,.finance-action-list,.verification-list,.payroll-run-list{display:grid}.finance-action-list{gap:7px;padding:0 16px 16px}.finance-compact-list article,.finance-action-list button,.verification-list article{border:0;border-bottom:1px solid var(--finance-border);min-height:66px;color:var(--ink);text-align:left;font:inherit;background:0 0;align-items:center;gap:12px;padding:12px 18px;display:flex}.finance-action-list button{background:color-mix(in srgb, var(--panel,#fff) 96%, var(--ink));border-radius:12px}.finance-compact-list article:last-child,.finance-action-list button:last-child,.verification-list article:last-child{border-bottom:0}.finance-compact-list article>div,.finance-action-list button>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.finance-compact-list small,.finance-action-list small,.verification-list small{color:var(--finance-muted);font-weight:650}.finance-action-list button{cursor:pointer;width:100%}.finance-action-list button:hover{background:color-mix(in srgb, var(--finance-accent) 5%, var(--finance-panel))}.verification-list article{grid-template-columns:minmax(280px,1fr) auto auto;display:grid}.verification-main{align-items:center;gap:12px;display:flex}.verification-main>span:last-child{gap:3px;display:grid}.finance-search-heading{align-items:flex-end}.finance-list-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:min(520px,100%);display:flex}.finance-search{border:1px solid var(--finance-border);width:min(360px,100%);min-height:40px;color:var(--finance-muted);background:color-mix(in srgb, var(--finance-panel) 94%, var(--ink));border-radius:11px;align-items:center;gap:9px;padding:0 12px;display:flex;box-shadow:0 2px 8px #00000008}.unified-finance .finance-search input,.unified-finance .finance-search input:focus{width:100%;color:var(--ink);box-shadow:none;font:inherit;border:0;outline:0;font-weight:650;background:0 0!important}.unified-finance .finance-search input:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--finance-panel) inset}.finance-sort-control{border:1px solid var(--finance-border);min-height:40px;color:var(--ink);background:color-mix(in srgb, var(--finance-panel) 94%, var(--ink));border-radius:11px;align-items:center;display:flex;position:relative;box-shadow:0 2px 8px #00000008}.finance-sort-control select{appearance:none;min-height:38px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;padding:0 34px 0 12px;font-size:.75rem;font-weight:750}.finance-sort-control>svg{pointer-events:none;color:var(--finance-muted);position:absolute;right:10px}.reminder-policy{padding-bottom:8px}.policy-row,.integration-fact{border-bottom:1px solid var(--finance-border);justify-content:space-between;align-items:center;gap:12px;padding:15px 22px;display:flex}.policy-row>span{gap:2px;display:grid}.policy-row small{color:var(--finance-muted)}.finance-note{color:var(--finance-muted);margin:18px 22px;font-size:.84rem;font-weight:650;line-height:1.5}.payroll-management{gap:16px;display:grid}.payroll-run-list>article{border-bottom:1px solid var(--finance-border);padding:19px 22px}.payroll-run-summary{align-items:center;gap:12px;display:flex}.payroll-run-summary>span:nth-child(2){flex:1;gap:2px;display:grid}.payroll-run-summary small{color:var(--finance-muted)}.payroll-flow{color:var(--finance-muted);white-space:nowrap;align-items:center;gap:8px;margin:16px 0;font-size:.72rem;font-weight:800;display:flex;overflow-x:auto}.payroll-flow span{border:1px solid var(--finance-border);border-radius:8px;padding:6px 9px}.payroll-flow span.done{color:var(--finance-accent);border-color:color-mix(in srgb, var(--finance-accent) 26%, transparent);background:color-mix(in srgb, var(--finance-accent) 5%, transparent)}.payroll-flow i{background:var(--finance-border);width:24px;height:1px}.integration-card{padding-bottom:20px}.integration-card>p{color:var(--finance-muted);margin:20px 22px;font-weight:650;line-height:1.55}.integration-fact{color:var(--finance-muted);font-size:.85rem;font-weight:700}.integration-fact strong{color:var(--ink)}.finance-integration-form{gap:13px;margin:20px 22px 4px;padding-top:2px;display:grid}.finance-integration-form>label:not(.finance-check){color:var(--ink);gap:6px;font-size:.78rem;font-weight:800;display:grid}.finance-integration-form input:not([type=checkbox]){border:1px solid var(--finance-border);width:100%;min-height:42px;color:var(--ink);font:inherit;background:0 0;border-radius:10px;outline:0;padding:9px 11px}.finance-webhook-path{border:1px solid var(--finance-border);color:var(--finance-muted);border-radius:10px;gap:5px;padding:11px 12px;font-size:.74rem;font-weight:750;display:grid}.finance-webhook-path code{overflow-wrap:anywhere;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem}.staff-charge-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:18px 22px 22px;display:grid}.staff-charge-form textarea{grid-column:1/-2}.staff-charge-form input,.staff-charge-form select,.staff-charge-form textarea{border:1px solid var(--finance-border);min-width:0;min-height:42px;color:var(--ink);font:inherit;background:0 0;border-radius:10px;outline:0;padding:9px 11px;font-weight:650}.finance-empty{min-height:190px;color:var(--finance-muted);text-align:center;place-items:center;gap:5px;padding:28px;display:grid}.finance-empty strong{color:var(--ink)}.finance-empty.compact{min-height:100px}.finance-global-message,.finance-form-error{color:#a8212b;background:#b4232c12;border:1px solid #b4232c2e;border-radius:12px;padding:12px 15px;font-weight:750}.finance-refresh-indicator{z-index:30;color:#fff;background:var(--ink);border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:800;position:fixed;bottom:24px;right:24px}.finance-drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:0 0;justify-content:flex-end;display:flex;position:fixed;inset:0}.finance-drawer{border-left:1px solid var(--finance-border);background:var(--surface,#fff);width:min(500px,100%);height:100%;overflow-y:auto;box-shadow:-24px 0 70px #00000024}.finance-drawer>header{border-bottom:1px solid var(--finance-border);justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.finance-drawer h2{color:var(--ink);margin:4px 0 0}.finance-drawer form{gap:16px;padding:24px;display:grid}.finance-drawer label{color:var(--ink);gap:7px;font-size:.82rem;font-weight:800;display:grid}.finance-drawer input:not([type=checkbox]),.finance-drawer select,.finance-drawer textarea{border:1px solid var(--finance-border);width:100%;min-height:44px;color:var(--ink);background:color-mix(in srgb, var(--surface,#fff) 92%, transparent);font:inherit;border-radius:11px;outline:0;padding:10px 12px;font-weight:600}.finance-drawer textarea{resize:vertical}.finance-form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.finance-check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.finance-check input{width:17px;height:17px;accent-color:var(--finance-accent)}.finance-drawer-notice,.reminder-preview{border:1px solid color-mix(in srgb, var(--finance-accent) 17%, transparent);color:var(--finance-muted);background:color-mix(in srgb, var(--finance-accent) 5%, transparent);border-radius:12px;align-items:flex-start;gap:10px;padding:14px;font-size:.82rem;font-weight:650;line-height:1.45;display:flex}.reminder-preview{justify-items:start;display:grid}.reminder-preview strong{color:var(--ink)}.reminder-preview p{margin:0}.finance-drawer footer{justify-content:flex-end;margin-top:8px}.finance-drawer>footer{gap:10px;padding:0 24px 24px;display:flex}html[data-theme=dark] .unified-finance,.dark .unified-finance{--finance-border:#303238;--finance-panel:#1c1d20;--finance-muted:#a5a7ad}html[data-theme=dark] .finance-panel,html[data-theme=dark] .finance-metric,html[data-theme=dark] .finance-hero-balance,html[data-theme=dark] .finance-drawer{box-shadow:none}html[data-theme=dark] .finance-drawer{background:#17181a}@media (max-width:1180px){.unified-finance .finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-two-column{grid-template-columns:1fr}.staff-charge-form{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-charge-form textarea{grid-column:1/-1}.finance-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.finance-hero{flex-direction:column;align-items:stretch}.finance-hero-balance{min-width:0}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-metric{min-height:104px;padding:14px}.finance-panel-heading,.finance-checkout-bar,.finance-search-heading{flex-direction:column;align-items:stretch}.finance-search{width:100%}.finance-list-controls{width:100%;min-width:0}.verification-list article,.finance-form-pair,.staff-charge-form{grid-template-columns:1fr}.staff-charge-form textarea{grid-column:auto}.finance-drawer{width:100%}.finance-setup-card{flex-direction:column;align-items:flex-start}.finance-choice-grid,.finance-tool-grid{grid-template-columns:1fr}.finance-add-menu>div{width:min(280px,100vw - 32px);left:auto;right:0}}@media (max-width:560px){.finance-list-controls{flex-direction:column;align-items:stretch}.finance-sort-control,.finance-sort-control select{width:100%}}@media (max-width:420px){.unified-finance .finance-summary-grid{gap:8px}.finance-metric strong{font-size:1.35rem}}@media (prefers-reduced-motion:reduce){.finance-primary-button,.finance-secondary-button,.finance-danger-button{transition:none}}
.library-top-grid{grid-template-columns:minmax(360px,1fr) minmax(180px,.34fr) minmax(180px,.34fr);gap:18px;margin-bottom:18px;display:grid}.library-search-card,.library-due-card,.library-summary-card{min-height:180px}.library-search{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:13px 16px;display:flex}.library-search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.library-summary-card{align-content:center;gap:8px;display:grid}.library-summary-card strong{font-size:40px;line-height:1}.library-summary-card span{color:var(--muted);font-weight:850}.library-ops-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.library-librarian-workspace{gap:16px;display:grid}.library-librarian-tabs{justify-content:flex-start}.library-op-metric{background:var(--panel);border:1px solid var(--soft-line);border-radius:18px;gap:6px;padding:16px;display:grid}.library-op-metric span{color:var(--muted);font-size:12px;font-weight:900}.library-op-metric strong{font-size:26px;line-height:1}.library-desk-grid{grid-template-columns:minmax(420px,1.25fr) minmax(320px,.75fr);gap:18px;display:grid}.library-loan-list{gap:0;display:grid}.library-loan-row{border-bottom:1px solid var(--soft-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.library-loan-row:first-child{padding-top:0}.library-loan-row:last-child{border-bottom:0;padding-bottom:0}.library-loan-row em{color:var(--muted);margin-top:4px;font-size:12px;font-style:normal;font-weight:850;display:block}.library-loan-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;max-width:360px;display:flex}.library-catalogue-controls{grid-template-columns:minmax(260px,1fr) minmax(190px,auto)}.library-catalogue-controls select,.library-modal-form select,.library-modal-form input,.library-modal-form textarea{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);font:inherit;border-radius:14px;outline:0;padding:12px 13px;font-weight:800}.modal-backdrop{z-index:40;background:#8ca9ff6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.library-modal{width:min(680px,100%);max-width:680px;max-height:min(760px,100vh - 48px);overflow:auto}.library-modal.large{width:min(900px,100%);max-width:900px}.library-selected-book{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;gap:5px;margin-bottom:14px;padding:14px;display:grid}.library-selected-book strong{font-size:18px}.library-selected-book span{color:var(--muted);font-weight:850}.library-modal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.library-modal-form label{gap:8px;display:grid}.library-modal-form .wide{grid-column:1/-1}.compact-library-due-list{gap:0}.library-lower-due-card{display:none}.library-issue-form{grid-template-columns:repeat(2,minmax(0,1fr))}.library-book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.library-book-card{background:var(--row);border:1px solid var(--soft-line);border-radius:20px;gap:9px;min-height:210px;padding:16px;display:grid}.library-book-card strong{font-size:18px}.library-book-card span,.library-book-card p{color:var(--muted);margin:0;font-weight:800}.library-book-card p{font-size:13px;line-height:1.4}.library-book-meta{flex-wrap:wrap;gap:7px;display:flex}.library-book-meta span{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:999px;padding:6px 8px;font-size:11px}.library-book-card.digital{background:color-mix(in srgb, var(--pastel-blue) 52%, var(--panel-strong))}.library-catalogue-card{overflow:hidden}.catalogue-search-row{border-bottom:1px solid var(--soft-line);grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;display:grid}.catalogue-search-row .muted{text-align:right;margin:0;font-size:13px;font-weight:850}.library-list{gap:10px;display:grid}.library-list-row{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;grid-template-columns:88px minmax(0,1fr) minmax(150px,auto);align-items:start;gap:14px;padding:14px;display:grid}.library-type-badge{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--muted);text-align:center;text-transform:capitalize;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:900}.library-list-main{gap:6px;min-width:0;display:grid}.library-list-main strong{font-size:17px;line-height:1.2}.library-list-main>span{color:var(--muted);font-size:13px;font-weight:850}.library-list-main p{color:var(--muted);margin:0;font-size:13px;font-weight:760;line-height:1.45}.library-list-main p b{color:var(--ink)}.library-list-side{place-items:end;gap:8px;min-width:0;display:grid}.library-list-side .muted{text-align:right;font-size:12px;font-weight:850}.library-page-header{margin-bottom:28px}.library-hero-grid{grid-template-columns:minmax(460px,1fr) minmax(280px,.42fr) minmax(220px,.28fr);align-items:stretch;gap:18px;margin-bottom:22px;display:grid}.library-feature-card{background:radial-gradient(circle at 82% 20%, #ffffff8c, transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--pastel-blue) 66%, var(--panel)), color-mix(in srgb, var(--pastel-green) 42%, var(--panel)));border:1px solid var(--soft-line);border-radius:32px;grid-template-columns:170px minmax(0,1fr);gap:24px;min-height:310px;padding:24px;display:grid;box-shadow:0 22px 46px #8ca9ff14}.library-cover{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 32%, var(--panel)), var(--panel-strong));color:var(--ink);text-transform:uppercase;border:1px solid #ffffff70;border-radius:24px;justify-content:center;align-items:center;min-height:132px;font-size:24px;font-weight:950;display:flex;box-shadow:0 16px 32px #8ca9ff1f}.library-cover.large-cover{min-height:250px}.library-cover.has-art{background:var(--panel);border-color:color-mix(in srgb, var(--ink) 10%, transparent);overflow:hidden}.library-cover.has-art img{object-fit:cover;width:100%;height:100%;display:block}.library-cover.digital,.library-cover.paper{background:linear-gradient(145deg, color-mix(in srgb, var(--pastel-blue) 72%, var(--panel)), color-mix(in srgb, #8ca9ff1a 62%, var(--panel)))}.library-cover.reference{background:linear-gradient(145deg, color-mix(in srgb, var(--pastel-yellow) 78%, var(--panel)), var(--panel-strong))}.library-feature-copy{align-content:center;gap:13px;display:grid}.library-feature-copy>span{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:950}.library-feature-copy h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:.98}.library-feature-copy p{color:var(--muted);margin:0;font-weight:820;line-height:1.5}.issued-preview-card{gap:12px;display:grid}.issued-preview-list{gap:10px;display:grid}.issued-preview-row{background:var(--row);border:1px solid var(--soft-line);border-radius:17px;gap:5px;padding:12px;display:grid}.issued-preview-row .status{justify-self:start}.issued-preview-row small{color:var(--muted);font-weight:850}.library-mini-stack{gap:12px;display:grid}.library-mini-card{align-content:center;gap:5px;display:grid}.library-mini-card span,.library-mini-card small{color:var(--muted);font-size:12px;font-weight:900}.library-mini-card strong{font-size:34px;line-height:1}.visual-library-desk{margin-bottom:22px}.library-catalogue-card{margin-top:22px}.library-catalogue-controls{border-bottom:1px solid var(--soft-line);grid-template-columns:minmax(260px,1fr);margin-bottom:18px;padding-bottom:16px}.library-pill-filters{margin-top:-2px}.library-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.library-resource-card{background:var(--row);border:1px solid var(--soft-line);border-radius:24px;grid-template-rows:auto 1fr auto;gap:14px;padding:14px;display:grid}.library-resource-copy{gap:8px;display:grid}.library-resource-copy strong{font-size:18px;line-height:1.16}.library-resource-copy>span:not(.library-type-badge),.library-resource-copy p{color:var(--muted);margin:0;font-size:13px;font-weight:800;line-height:1.42}.library-resource-copy p{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.library-resource-card .library-type-badge{justify-self:start}.library-card-actions{border-top:1px solid var(--soft-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.library-self-borrow-note{background:var(--row);border:1px solid var(--soft-line);border-radius:16px;grid-column:1/-1;gap:5px;padding:13px 14px;display:grid}.library-self-borrow-note span{color:var(--muted);font-size:13px;font-weight:800}.library-preview-layout{grid-template-columns:190px minmax(0,1fr);gap:20px;display:grid}.catalogue-pagination{border-top:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.catalogue-pagination span{color:var(--muted);font-size:13px;font-weight:900}.catalogue-pagination button:disabled{cursor:not-allowed;opacity:.45}.library-shop-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:stretch;gap:24px;margin-bottom:24px;display:grid}.library-main-column{gap:22px;min-width:0;display:grid}.library-recommendation-panel,.library-category-panel{background:var(--panel);border:1px solid var(--soft-line);border-radius:28px;padding:22px;box-shadow:0 22px 55px #8ca9ff0f}.library-category-panel{grid-column:1/-1;padding-bottom:18px}.library-category-panel .library-catalogue-controls{grid-template-columns:1fr;gap:12px;margin-bottom:18px;display:grid}.library-section-heading{justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px;display:flex}.library-section-heading h2{margin:0 0 7px;font-size:24px;line-height:1}.library-section-heading p{color:var(--muted);margin:0;font-size:13px;font-weight:820;line-height:1.35}.library-shelf-row,.library-cover-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.library-cover-grid{grid-template-columns:repeat(5,minmax(128px,1fr))}.library-book-tile{appearance:none;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:9px;min-width:0;padding:0;display:grid}.library-book-tile .library-cover{aspect-ratio:.72;border-radius:9px 14px 14px 9px;min-height:0;font-size:30px;position:relative;box-shadow:0 18px 30px #8ca9ff21}.library-book-tile .library-cover:before{content:"";background:#ffffff6b;border-radius:999px;width:5px;position:absolute;inset:12px auto 12px 12px}.library-book-tile .library-cover.has-art:before{display:none}.library-book-tile strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.18;display:-webkit-box;overflow:hidden}.library-book-tile small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.catalogue-tile{background:var(--row);border:1px solid #0000;border-radius:18px;padding:10px;transition:transform .16s,box-shadow .16s,border-color .16s}.catalogue-tile:hover,.catalogue-tile:focus-visible{border-color:color-mix(in srgb, var(--accent) 34%, var(--soft-line));outline:0;transform:translateY(-2px);box-shadow:0 16px 34px #8ca9ff14}.catalogue-tile.is-requested,.catalogue-tile.is-reserved{border-color:color-mix(in srgb, var(--accent) 44%, var(--soft-line))}.catalogue-tile.is-borrowed{border-color:color-mix(in srgb, #3f63d9 36%, var(--soft-line))}.library-status-column{align-content:stretch;align-self:stretch;gap:14px;min-width:0;display:grid}.library-status-column .issued-preview-card,.library-status-column .library-mini-card{border-radius:28px}.library-status-column .issued-preview-card{background:var(--panel);border:1px solid var(--soft-line);grid-template-rows:auto auto 1fr;gap:16px;height:100%;min-height:0;padding:22px;display:grid;box-shadow:0 22px 55px #8ca9ff0f}.library-status-summary{gap:10px;display:grid}.library-status-summary article{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;justify-content:space-between;align-items:center;min-height:64px;padding:14px;display:flex}.library-status-summary span{color:var(--muted);font-size:13px;font-weight:900}.library-status-summary strong{color:var(--ink);font-size:24px;line-height:1}.issued-preview-list.compact{align-content:start;gap:10px;display:grid}.issued-preview-row.compact{background:var(--row);border:1px solid var(--soft-line);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.issued-preview-row.compact .status{text-transform:capitalize;border-radius:999px;justify-content:center;place-self:center start;align-items:center;min-width:58px;height:auto;min-height:26px;padding:6px 10px;font-size:11px;display:inline-flex}.issued-preview-row.compact strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;line-height:1.2;overflow:hidden}.issued-preview-row.compact small{color:var(--muted);white-space:nowrap;justify-self:end;font-size:12px;font-weight:850}.library-drawer-backdrop{z-index:55;background:#8ca9ff38;justify-content:flex-end;animation:.18s forwards libraryDrawerBackdropIn;display:flex;position:fixed;inset:0}.library-drawer-backdrop.closing{animation:.18s forwards libraryDrawerBackdropOut}.library-book-drawer{background:color-mix(in srgb, var(--ink) 88%, #3f63d9);color:#fff;transform-origin:100%;will-change:transform, opacity;gap:16px;width:min(420px,100%);max-width:420px;padding:42px 28px 28px;animation:.22s cubic-bezier(.22,1,.36,1) forwards libraryDrawerIn;display:grid;position:relative;overflow:auto;box-shadow:-32px 0 70px #8ca9ff47}.library-drawer-backdrop.closing .library-book-drawer{animation:.18s forwards libraryDrawerOut}@keyframes libraryDrawerBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes libraryDrawerBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes libraryDrawerIn{0%{opacity:.65;transform:translate(36px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes libraryDrawerOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(28px)scale(.99)}}.library-book-drawer .library-cover{aspect-ratio:.72;color:var(--ink);background:linear-gradient(145deg,#fffffff5,#ffffffe0);justify-self:center;width:min(190px,62%);max-width:190px;min-height:0}.library-drawer-close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:18px;right:20px}.library-drawer-copy{text-align:center;gap:10px;display:grid}.library-drawer-copy h2{margin:0;font-size:28px;line-height:1.08}.library-drawer-copy strong{color:#ffffffc7}.library-drawer-copy p{color:#ffffffb8;margin:0;font-size:14px;font-weight:760;line-height:1.55}.library-drawer-stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.library-drawer-stats article{text-align:center;border-left:1px solid #ffffff2e;gap:4px;padding:0 12px;display:grid}.library-drawer-stats article:first-child{border-left:0}.library-drawer-stats strong{font-size:20px}.library-drawer-stats span,.library-book-drawer .library-self-borrow-note span{color:#ffffffad;font-size:12px;font-weight:850}.library-book-drawer .library-book-meta span,.library-book-drawer .library-self-borrow-note{color:#ffffffc7;background:#ffffff1a;border-color:#ffffff29}.library-book-drawer .primary-pill{color:#17233f;background:#fff2c6;justify-content:center;width:100%;min-height:58px}.library-book-drawer .primary-pill:hover,.library-book-drawer .primary-pill:focus-visible{background:#fff}.library-book-drawer .primary-pill:disabled{cursor:not-allowed;opacity:.52}.library-book-drawer .library-self-borrow-note strong{color:#fff;align-items:center;gap:8px;display:inline-flex}@media (max-width:1180px){.library-shop-layout{grid-template-columns:1fr}.library-status-column{grid-template-columns:1fr;position:static}.library-category-panel{grid-column:auto}}@media (max-width:780px){.library-recommendation-panel,.library-category-panel{border-radius:22px;padding:16px}.library-section-heading,.library-status-column{display:grid}.library-shelf-row,.library-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-book-drawer{width:100%;max-width:none}}@media (prefers-reduced-motion:reduce){.library-drawer-backdrop,.library-drawer-backdrop.closing,.library-book-drawer,.library-drawer-backdrop.closing .library-book-drawer{animation-duration:1ms}}
.academics-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-bottom:16px;display:grid}.module-page-header.academics-header{grid-template-columns:minmax(0,1fr) auto;display:grid}.academics-header .page-title{margin-bottom:8px}.academics-header p{color:var(--muted);margin:0;font-size:15px;font-weight:800}.academics-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:620px;display:flex}.academics-tabs{border:0;border-bottom:1px solid var(--soft-line);background:0 0;border-radius:0;gap:10px;margin-bottom:22px;padding:0 0 10px;display:flex;overflow-x:auto}.academics-tabs button{color:color-mix(in srgb, var(--muted) 86%, var(--ink));cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:11px 15px;font-size:14px;font-weight:900;line-height:1;transition:background .16s,color .16s;position:relative}.academics-tabs button:hover{background:color-mix(in srgb, var(--panel-strong) 62%, transparent);color:var(--ink)}.academics-tabs button.active{background:var(--panel-strong);color:var(--ink);box-shadow:0 0 18px #8ca9ff14}.academics-tabs button.active:after{background:var(--accent);content:"";border-radius:999px;height:3px;position:absolute;bottom:-9px;left:12px;right:12px}.academics-overview{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.2fr) minmax(230px,.6fr);gap:18px;display:grid}.academic-hero-card{background:var(--panel-strong);align-content:start;display:grid}.academic-hero-card strong{margin-top:18px;font-size:54px;line-height:1;display:block}.academic-hero-card p,.subject-card p,.academic-list-row p{color:var(--muted);margin:0;font-weight:780;line-height:1.45}.academic-progress-line{background:color-mix(in srgb, var(--panel) 72%, transparent);border-radius:999px;height:11px;margin-top:20px;overflow:hidden}.academic-progress-line span{background:var(--accent);border-radius:inherit;height:100%;display:block}.academic-mini-stack,.attendance-mini-list{border-top:1px solid color-mix(in srgb, var(--soft-line) 78%, transparent);gap:0;margin-top:20px;padding-top:12px;display:grid}.academic-mini-stack span,.attendance-mini-list span{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.academic-mini-stack b,.academic-mini-stack em,.attendance-mini-list b,.attendance-mini-list em{font-size:13px;font-style:normal;font-weight:900}.academic-mini-stack b,.attendance-mini-list b{color:var(--ink)}.academic-mini-stack em,.attendance-mini-list em{color:var(--muted)}.academic-attention-card{grid-template-rows:auto 1fr;display:grid}.academic-attention-card .list{align-content:stretch}.academic-attention-card .row{min-height:68px}.attendance-mini-list{justify-self:stretch;width:100%;margin-top:16px}.academic-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.attendance-page-space{gap:12px;display:grid}.attendance-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.attendance-summary-strip .card{gap:5px;min-height:78px;padding:13px 15px;display:grid}.attendance-summary-strip span{color:var(--muted);font-size:12px;font-weight:900}.attendance-summary-strip strong{color:var(--ink);font-size:clamp(20px,2vw,30px);font-weight:1000;line-height:1}.attendance-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.attendance-subject-card{align-content:start;justify-items:center;gap:9px;min-height:194px;padding:14px;display:grid}.attendance-subject-card>strong{color:var(--ink);text-align:center;align-self:start;min-height:36px;font-size:16px;font-weight:950;line-height:1.12}.attendance-donut{background:radial-gradient(circle at center, var(--panel) 0 56%, transparent 57%), conic-gradient(from -90deg, var(--attendance-start) 0%, var(--attendance-end) var(--attendance-value), color-mix(in srgb, var(--line) 48%, transparent) var(--attendance-value) 100%);border-radius:50%;place-items:center;width:118px;height:118px;margin:0;display:grid;position:relative}.attendance-donut.compact{width:92px;height:92px}.attendance-donut:after{border:1px solid color-mix(in srgb, var(--line) 62%, transparent);border-radius:inherit;content:"";position:absolute;inset:0}.attendance-donut span{color:var(--ink);letter-spacing:0;z-index:1;font-size:25px;font-weight:1000;position:relative}.attendance-donut.compact span{font-size:21px}.attendance-subject-card p{color:var(--muted);text-align:center;margin:0;font-size:13px;font-weight:850;line-height:1.35}.attendance-subject-card small{color:var(--muted);font-size:12px;font-weight:850}.attendance-subject-card>em{background:color-mix(in srgb, #8ca9ff1a 76%, var(--panel));border:1px solid color-mix(in srgb, #3f63d9 28%, var(--border-soft));color:color-mix(in srgb, #aac4f5 74%, var(--ink));text-align:center;border-radius:12px;padding:7px 8px;font-size:12px;font-style:normal;font-weight:900;line-height:1.25}.subject-card{gap:10px;display:grid}.subject-card strong{font-size:18px}.subject-stat-row{flex-wrap:wrap;gap:7px;display:flex}.subject-stat-row span{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--muted);border-radius:999px;padding:7px 9px;font-size:12px;font-weight:900}.academic-filter-row{border-bottom:1px solid var(--soft-line);grid-template-columns:minmax(260px,1fr) minmax(180px,auto);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:grid}.academic-filter-row select,.academic-form select,.academic-form input,.academic-form textarea{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);font:inherit;border-radius:14px;outline:0;padding:12px 13px;font-weight:800}.academic-list{gap:10px;display:grid}.academic-list-row{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.academic-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;max-width:330px;display:flex}.academic-form-card{margin-bottom:18px}.academic-form{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-form label{gap:8px;display:grid}.academic-form .wide{grid-column:1/-1}.academic-mark-row .status{text-align:center;min-width:76px}.student-academics-overview{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.25fr) minmax(260px,.75fr);gap:14px;display:grid}.student-academics-overview.refined{grid-template-columns:1fr}.academics-overview-top{grid-template-columns:minmax(280px,1.1fr) minmax(230px,.75fr) minmax(280px,1fr);align-items:start;gap:12px;display:grid}.academics-overview-bottom{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:12px;display:grid}.overview-score-card,.overview-attendance-card,.overview-result-card,.overview-list-card{align-content:start;gap:16px;min-height:0;padding:22px;display:grid}.academics-overview-top>.card{min-height:268px}.student-academics-overview .card-title{justify-content:flex-start;align-items:center;gap:10px;margin-bottom:2px}.student-academics-overview .title-with-icon{gap:10px}.student-academics-overview .title-with-icon svg,.student-academics-overview .card-title>svg{color:color-mix(in srgb, var(--ink) 78%, var(--muted));flex:none;width:18px;height:18px}.overview-score-card>strong,.overview-result-card>strong,.overview-score-main strong{color:var(--ink);font-size:clamp(30px,3.2vw,46px);line-height:.95}.overview-score-main{align-items:end;gap:12px;display:flex}.overview-score-main.compact{align-items:center}.overview-score-main span{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--muted);border-radius:999px;margin-bottom:2px;padding:7px 10px;font-size:12px;font-weight:950}.academic-progress-line.compact{height:8px;margin-top:0}.academic-progress-line.mini{grid-column:1/-1;height:7px;margin-top:0}.overview-fact-grid{gap:0;width:100%;display:grid}.overview-fact-grid span{border-top:1px solid color-mix(in srgb, var(--soft-line) 78%, transparent);justify-content:space-between;align-items:center;gap:16px;min-height:38px;padding:9px 0;display:flex}.overview-fact-grid span:first-child{border-top:0}.overview-fact-grid b,.overview-fact-grid em{font-size:13px;font-style:normal;line-height:1.25}.overview-fact-grid b{color:var(--muted);flex:0 0 118px;font-weight:850}.overview-fact-grid em{color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:auto;max-width:none;font-weight:950;overflow:hidden}.overview-attendance-card{text-align:center;justify-items:center}.overview-attendance-card .card-title{text-align:left;justify-self:stretch}.attendance-donut.overview{width:112px;height:112px}.attendance-donut.overview span{font-size:24px}.overview-attendance-card p,.overview-result-card p{color:var(--muted);text-align:center;margin:0;font-size:13px;font-weight:850;line-height:1.35}.overview-attendance-card small{color:var(--muted);font-size:12px;font-weight:850}.overview-warning-list{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.overview-warning-list span{background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--muted);border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900}.overview-compact-list{gap:8px;display:grid}.overview-compact-row{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:9px 10px;display:grid}.overview-compact-row.material{min-height:48px}.overview-compact-row .row-main{min-width:0}.overview-compact-row .row-main strong,.overview-compact-row .row-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-result-subject{color:var(--muted);font-size:13px;font-weight:950}.overview-result-card.exam-update{align-content:start;justify-items:start}.exam-score-main strong{letter-spacing:0;font-size:clamp(42px,4.4vw,64px)}.overview-stat-pills{flex-wrap:wrap;gap:8px;width:100%;display:flex}.overview-stat-pills span{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:999px;align-items:center;gap:8px;min-width:0;min-height:34px;padding:7px 10px;display:inline-flex}.overview-stat-pills b,.overview-stat-pills em{white-space:nowrap;font-size:12px;font-style:normal;line-height:1.1;display:block}.overview-stat-pills b{color:var(--muted);font-weight:850}.overview-stat-pills em{color:var(--ink);font-weight:950}.recent-materials-card{padding:16px}.recent-materials-card .compact-empty,.subject-performance-card .compact-empty{min-height:72px}.recent-materials-card:has(.compact-empty){min-height:150px}.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row .card-title{margin:0}.section-title-row>span{color:var(--muted);font-size:12px;font-weight:950}.subject-performance-card{gap:16px;padding:22px;display:grid}.subject-performance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.subject-performance-item{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;min-height:82px;padding:12px;display:grid}.subject-performance-item strong,.subject-performance-item span,.subject-performance-item em{display:block}.subject-performance-item strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;overflow:hidden}.subject-performance-item span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:850}.subject-performance-item em{background:var(--panel-strong);border:1px solid var(--border-soft);color:var(--muted);white-space:nowrap;border-radius:999px;align-self:start;padding:6px 8px;font-size:11px;font-style:normal;font-weight:950}.overview-deadline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.overview-deadline-grid>span{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:14px;gap:3px;min-height:76px;padding:10px;display:grid}.overview-deadline-grid b,.overview-deadline-grid em,.overview-deadline-grid small{display:block}.overview-deadline-grid b{color:var(--ink);font-size:17px;font-weight:1000}.overview-deadline-grid em{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;font-weight:900;overflow:hidden}.overview-deadline-grid small{color:var(--muted);font-size:11px;font-weight:850}.student-academics-overview .attendance-card{grid-row:span 2}.compact-academic-card{align-content:start;gap:12px;min-height:0;display:grid}.academic-large-score{font-size:clamp(26px,3vw,38px);line-height:1.04;display:block}.student-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-results-space{gap:16px;display:grid}.results-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.results-summary-card{gap:5px;min-height:88px;padding:14px 16px;display:grid}.results-summary-card span,.results-summary-card small{color:var(--muted);font-size:12px;font-weight:850}.results-summary-card strong{font-size:clamp(20px,2vw,28px);line-height:1.02}.student-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subject-result-card{gap:12px;display:grid;overflow:hidden}.result-card-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.result-card-head span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:950}.result-card-head h3{margin-top:4px;font-size:clamp(20px,1.8vw,25px);line-height:1.04}.result-card-head strong{color:var(--ink);text-align:right;font-size:clamp(24px,2.7vw,38px);line-height:1}.result-title-block{gap:4px;min-width:0;display:grid}.result-final-score{justify-items:end;gap:4px;min-width:118px;display:grid}.result-final-score small{color:var(--muted);font-size:12px;font-weight:850}.result-score-line{background:var(--surface-soft);border-radius:999px;height:10px;overflow:hidden}.result-score-line span,.result-score-line i{background:var(--accent);border-radius:inherit;height:100%;display:block}.result-score-line i{opacity:.9}.result-meta-row{flex-wrap:wrap;gap:8px;display:flex}.result-component-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.result-component-strip span{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:9px 11px;display:flex}.result-component-strip b,.result-component-strip em{font-size:12px;font-style:normal;font-weight:900}.result-component-strip b{color:var(--muted)}.result-component-strip em{color:var(--ink);text-align:right}.result-breakdown{gap:8px;display:grid}.result-breakdown-row{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:16px;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:12px;padding:9px 11px;display:grid}.result-breakdown-row>strong{color:var(--ink);font-size:13px;font-weight:950}.result-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.result-chip-row em{background:var(--panel);border:1px solid var(--border-soft);color:var(--ink);border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.result-chip-row b{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:950}.result-chip-row .muted-chip{color:var(--muted)}.result-calculation-strip{background:var(--panel);border:1px solid var(--border-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.result-calculation-strip span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:950}.result-calculation-strip strong{color:var(--ink);text-align:right;font-size:13px;font-weight:950}.result-comparison-card{gap:12px;padding:16px;display:grid}.result-comparison-list{gap:7px;display:grid}.result-comparison-row{grid-template-columns:minmax(130px,1fr) minmax(140px,2fr) 110px 92px;align-items:center;gap:10px;min-height:36px;display:grid}.result-comparison-row strong{color:var(--ink);min-width:0;font-size:13px;font-weight:950}.result-comparison-row em{color:var(--ink);text-align:right;font-size:12px;font-style:normal;font-weight:950}.result-score-line.mini{height:7px}.librarian-summary-row{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.librarian-summary-card{background:var(--panel);border:1px solid var(--soft-line);border-radius:18px;grid-template-rows:auto minmax(38px,1fr) auto;align-items:start;gap:8px;min-height:126px;padding:16px;display:grid}.librarian-summary-card span,.librarian-summary-card small{color:var(--muted);font-size:12px;font-weight:900}.librarian-summary-card span{letter-spacing:.02em;text-transform:uppercase;min-height:16px}.librarian-summary-card strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;align-self:center;width:100%;font-size:30px;line-height:1;overflow:hidden}.librarian-summary-card small{min-height:32px;line-height:1.35}.librarian-summary-card.alert{border-color:color-mix(in srgb, var(--warning) 34%, var(--soft-line))}.librarian-summary-card.warn{border-color:color-mix(in srgb, #3f63d9 34%, var(--soft-line))}.librarian-analytics-grid{grid-template-columns:minmax(420px,1.2fr) minmax(280px,.8fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px;display:grid}.library-trend-chart{grid-template-columns:repeat(6,1fr);align-items:end;gap:12px;height:190px;padding-top:12px;display:grid}.library-trend-day{text-align:center;gap:8px;height:100%;display:grid}.library-trend-day div{justify-content:center;align-items:end;gap:5px;height:100%;display:flex}.library-trend-day span{border-radius:999px 999px 6px 6px;width:16px;min-height:16px}.library-trend-day .borrowed{background:var(--ink)}.library-trend-day .returned{background:color-mix(in srgb, #3f63d9 84%, var(--panel))}.library-trend-day small,.library-chart-legend span{color:var(--muted);font-size:12px;font-weight:900}.library-chart-legend{justify-content:flex-end;gap:18px;margin-top:10px;display:flex}.library-chart-legend span:before{background:var(--ink);content:"";border-radius:999px;width:8px;height:8px;margin-right:7px;display:inline-block}.library-chart-legend span+span:before{background:#3f63d9}.librarian-overdue-card,.librarian-inventory-card{align-content:start;display:grid}.overdue-donut{background:radial-gradient(circle, var(--panel) 0 58%, transparent 59%), conic-gradient(var(--warning) var(--overdue), color-mix(in srgb, var(--line) 76%, transparent) 0);border-radius:999px;place-content:center;place-items:center;width:132px;height:132px;margin:6px auto 16px;display:grid}.overdue-donut strong{font-size:34px;line-height:1}.overdue-donut span,.mini-overdue-list span,.fine-summary-block span,.fine-summary-block small{color:var(--muted);font-size:12px;font-weight:850}.mini-overdue-list{gap:0;display:grid}.mini-overdue-list div{border-top:1px solid var(--soft-line);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.mini-overdue-list div:first-child{border-top:0}.mini-overdue-list strong{font-size:13px}.inventory-segment-bar{border-radius:999px;height:16px;margin:18px 0;display:flex;overflow:hidden}.inventory-segment-bar span.available{background:#3f63d9}.inventory-segment-bar span.borrowed{background:var(--ink)}.inventory-segment-bar span.online{background:#aac4f5}.inventory-segment-bar span.reference{background:color-mix(in srgb, var(--muted) 60%, var(--panel))}.inventory-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.inventory-breakdown div{background:var(--row);border:1px solid var(--soft-line);border-radius:14px;gap:3px;padding:12px;display:grid}.inventory-breakdown strong{font-size:20px}.inventory-breakdown span{color:var(--muted);font-size:12px;font-weight:900}.librarian-lower-grid{grid-template-columns:minmax(360px,1fr) minmax(260px,.68fr) minmax(320px,.9fr);gap:18px;display:grid}.fine-summary-block{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;gap:4px;margin-bottom:12px;padding:16px;display:grid}.fine-summary-block strong{font-size:34px;line-height:1}.faculty-command-grid{grid-template-columns:minmax(320px,.92fr) minmax(380px,1.18fr) minmax(260px,.72fr);gap:18px;margin-bottom:18px;display:grid}.faculty-day-card,.faculty-visual-card,.faculty-action-panel{min-height:260px}.faculty-day-timeline{gap:0;display:grid}.faculty-day-row{border-top:1px solid var(--soft-line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.faculty-day-row:first-child{border-top:0}.faculty-day-row span{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:900;display:flex}.faculty-day-row strong,.faculty-day-row small,.faculty-day-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.faculty-day-row small,.faculty-day-row em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.faculty-day-row em{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:7px 9px}.faculty-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.faculty-visual-stat{background:var(--row);border:1px solid var(--soft-line);text-align:center;border-radius:18px;justify-items:center;gap:6px;min-height:102px;padding:12px;display:grid}.faculty-mini-donut{background:radial-gradient(circle, var(--panel) 0 55%, transparent 56%), conic-gradient(var(--accent) var(--faculty-stat), color-mix(in srgb, var(--line) 76%, transparent) 0);border-radius:999px;place-items:center;width:54px;height:54px;display:grid}.faculty-visual-stat.warn .faculty-mini-donut{background:radial-gradient(circle, var(--panel) 0 55%, transparent 56%), conic-gradient(#3f63d9 var(--faculty-stat), color-mix(in srgb, var(--line) 76%, transparent) 0)}.faculty-visual-stat.alert .faculty-mini-donut{background:radial-gradient(circle, var(--panel) 0 55%, transparent 56%), conic-gradient(var(--warning) var(--faculty-stat), color-mix(in srgb, var(--line) 76%, transparent) 0)}.faculty-visual-stat.info .faculty-mini-donut{background:radial-gradient(circle, var(--panel) 0 55%, transparent 56%), conic-gradient(#aac4f5 var(--faculty-stat), color-mix(in srgb, var(--line) 76%, transparent) 0)}.faculty-mini-donut span,.faculty-visual-stat small{color:var(--muted);font-size:11px;font-weight:900}.faculty-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.faculty-action-grid button{border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;background:0 0;border-radius:14px;justify-content:flex-start;align-items:center;gap:8px;padding:12px;font-weight:900;display:flex}.faculty-action-grid button:hover{background:var(--panel-strong)}.faculty-quick-ops{background:color-mix(in srgb, var(--panel) 86%, transparent);border:1px solid var(--soft-line);box-shadow:none;border-radius:8px;grid-template-columns:minmax(130px,.18fr) minmax(0,1fr);align-items:center;gap:18px;margin-bottom:18px;padding:14px;display:grid}.faculty-quick-copy{padding-left:6px;display:grid}.faculty-quick-copy strong{color:var(--ink);font-size:20px;line-height:1}.faculty-quick-ops .faculty-action-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.faculty-quick-ops .faculty-action-grid button{background:var(--row);box-shadow:inset 0 0 0 1px var(--soft-line);border:1px solid #0000;border-radius:7px;flex-direction:row;justify-content:flex-start;gap:9px;min-height:52px;padding:12px 14px;transition:background .16s,box-shadow .16s,transform .16s}.faculty-quick-ops .faculty-action-grid button svg{color:var(--accent)}.faculty-quick-ops .faculty-action-grid button:hover{background:var(--panel-strong);box-shadow:0 12px 24px #8ca9ff17, inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, var(--soft-line));transform:translateY(-2px)}.faculty-primary-workspace{margin-bottom:18px}.faculty-timetable-stack{gap:16px;margin-bottom:16px;display:grid}.faculty-attendance-action{border-radius:var(--radius-lg);color:#3d1e0e;background:radial-gradient(circle at 92% 10%,#ffffff52,#0000 34%),linear-gradient(135deg,#f6a15f,#d86f32);border:1px solid #b8532494;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:154px;padding:24px;display:grid;overflow:hidden;box-shadow:0 18px 38px #b44e1f33}.faculty-attendance-action-icon{border-radius:var(--radius-sm);background:#ffffff75;border:1px solid #ffffff8f;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.faculty-attendance-action p,.faculty-attendance-action h2,.faculty-attendance-action div>span{margin:0}.faculty-attendance-action p{letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:950}.faculty-attendance-action h2{margin-top:4px;font-size:clamp(22px,2.5vw,32px);line-height:1.1}.faculty-attendance-action div>span{margin-top:7px;font-size:12px;font-weight:800;display:block}.faculty-attendance-action-buttons{align-items:stretch;gap:7px;display:grid}.faculty-attendance-action-buttons a{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 13px;font-size:12px;font-weight:950;text-decoration:none;display:inline-flex}.faculty-attendance-action-buttons a:first-child{color:#fff8f2;background:#3d1e0e}.faculty-attendance-action-buttons a:last-child{color:#3d1e0e;background:#ffffff5c;border:1px solid #3d1e0e2e}@media (max-width:680px){.faculty-attendance-action{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:18px}.faculty-attendance-action-buttons{grid-column:1/-1;grid-template-columns:1fr 1fr}}.faculty-timetable-card.primary{min-height:0}.faculty-main-grid{grid-template-columns:minmax(680px,1.45fr) minmax(320px,.55fr);gap:18px;margin-bottom:18px;display:grid}.faculty-timetable-card{border-radius:8px;overflow-x:auto}.faculty-timetable-grid{grid-template-columns:64px repeat(7,minmax(128px,1fr));gap:8px;min-width:1040px;display:grid}.faculty-period.free{background:color-mix(in srgb, var(--panel) 70%, transparent);color:var(--muted);border-style:dashed}.faculty-period.empty-slot{background:color-mix(in srgb, var(--panel) 55%, transparent);border-style:dashed;min-height:68px}button.period-block{color:inherit;font:inherit;text-align:left}.faculty-period small{color:var(--muted);font-size:11px;font-weight:900}.faculty-timetable-actions,.faculty-timetable-switch{align-items:center;gap:8px;display:flex}.faculty-timetable-switch{background:var(--row);border:1px solid var(--soft-line);border-radius:8px;padding:3px}.faculty-timetable-switch button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:8px 11px;font-size:12px;font-weight:900}.faculty-timetable-switch button.active{background:var(--panel-strong);color:var(--ink);box-shadow:0 3px 10px #8ca9ff14}.faculty-timetable-context{color:var(--muted);margin:-4px 0 16px;font-size:13px;font-weight:750}.faculty-week-agenda{gap:0;display:grid}.faculty-agenda-day{border-top:1px solid var(--soft-line);grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px;padding:11px 0;display:grid}.faculty-agenda-day:first-child{border-top:0}.faculty-agenda-day-label{color:var(--muted);padding-top:13px;font-size:13px}.faculty-agenda-periods{flex-wrap:wrap;gap:9px;display:flex}.faculty-agenda-period{border:1px solid var(--soft-line);color:var(--ink);text-align:left;border-radius:7px;gap:8px;min-width:210px;padding:10px 12px;display:grid}.faculty-agenda-period>button:first-child{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.faculty-agenda-period>span,.faculty-agenda-period>button:first-child>span,.faculty-agenda-period small,.faculty-agenda-period em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.faculty-agenda-period:hover{border-color:color-mix(in srgb, var(--positive) 42%, var(--soft-line));transform:translateY(-1px)}.faculty-observation-action{background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:6px 9px;font-size:11px;font-weight:900;display:inline-flex}.faculty-agenda-empty{color:var(--muted);padding:12px 0;font-size:13px}.dashboard-modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:120;background:#8ca9ff75;justify-content:center;align-items:center;width:100dvw;max-width:100dvw;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.dashboard-floating-editor{border-radius:8px;width:min(980px,100dvw - 48px);min-width:0;max-width:min(980px,100dvw - 48px);max-height:calc(100vh - 48px);padding:22px;overflow:auto}.dashboard-floating-editor>.dashboard-editor-head{background:var(--panel-strong);z-index:3;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:0 0 16px;display:flex;position:sticky;top:0}.dashboard-editor-head h3{margin:0;font-size:18px}.dashboard-editor-head>button{z-index:1;flex:none;position:relative}.faculty-period.attendance-ready{cursor:pointer}.faculty-period.attendance-ready:hover{border-color:color-mix(in srgb, var(--positive) 48%, var(--soft-line));box-shadow:0 0 0 3px color-mix(in srgb, var(--positive) 12%, transparent)}.faculty-period.class-context:disabled{color:inherit;cursor:default;opacity:.78}@media (max-width:680px){.faculty-timetable-card .card-title,.faculty-timetable-actions{flex-direction:column;align-items:stretch}.faculty-timetable-switch button{flex:1}.faculty-agenda-day{grid-template-columns:38px minmax(0,1fr)}.faculty-agenda-period{width:100%;min-width:0}.dashboard-modal-backdrop{align-items:flex-end;padding:0}.dashboard-floating-editor{border-radius:8px 8px 0 0;width:100dvw;max-width:100dvw;max-height:92vh;padding:18px}}.faculty-secondary-grid{grid-template-columns:minmax(420px,.55fr) minmax(420px,.45fr);gap:18px;margin-bottom:18px;display:grid}.lesson-planner-card{align-content:start;gap:14px;display:grid}.lesson-quick-add{background:var(--row);border:1px solid var(--soft-line);border-radius:16px;grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:8px;padding:8px;display:grid}.lesson-quick-add input{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);font:inherit;border-radius:12px;outline:0;min-width:0;height:40px;padding:0 11px;font-size:13px;font-weight:800}.lesson-quick-add input:focus{border-color:color-mix(in srgb, var(--accent) 42%, var(--soft-line));box-shadow:0 0 0 4px var(--accent-soft)}.lesson-todo-list{gap:8px;display:grid}.lesson-todo-item{background:var(--row);border:1px solid var(--soft-line);border-radius:15px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;min-height:58px;padding:10px 12px;display:grid}.lesson-todo-item.completed{opacity:.64}.lesson-check-button{appearance:none;background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.lesson-check-button:not(:disabled):hover{border-color:color-mix(in srgb, var(--success) 42%, var(--soft-line));color:var(--success)}.lesson-check-button:disabled{background:color-mix(in srgb, var(--success) 16%, var(--panel-strong));color:var(--success);cursor:default}.lesson-todo-item span{gap:3px;min-width:0;display:grid}.lesson-todo-item strong,.lesson-todo-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-todo-item.completed strong{text-decoration:line-through}.lesson-todo-item small{color:var(--muted);font-size:12px;font-weight:850}@media (max-width:720px){.lesson-quick-add{grid-template-columns:1fr}}.lesson-plan-list{gap:10px;display:grid}.lesson-plan-item{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;gap:7px;padding:13px;display:grid}.lesson-plan-item>span{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:900}.lesson-plan-item small,.lesson-plan-item em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.lesson-timeline{gap:0;display:grid;position:relative}.lesson-timeline:before{background:var(--soft-line);content:"";width:1px;position:absolute;top:16px;bottom:16px;left:10px}.lesson-timeline-item{border-bottom:1px solid var(--soft-line);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px 0;display:grid;position:relative}.lesson-timeline-item:last-child{border-bottom:0}.timeline-dot{background:var(--accent);border:4px solid var(--panel);box-shadow:0 0 0 1px var(--soft-line);z-index:1;border-radius:999px;width:19px;height:19px;margin-top:2px;position:relative}.lesson-timeline-item.completed .timeline-dot{background:var(--success)}.lesson-timeline-item.pending .timeline-dot{background:#3f63d9}.lesson-timeline-item strong,.tracker-card strong{line-height:1.2;display:block}.lesson-timeline-item small,.lesson-timeline-item p{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:850}.faculty-work-tracker{align-content:start;display:grid}.tracker-controls{gap:6px;display:flex}.tracker-card{background:linear-gradient(140deg, color-mix(in srgb, var(--pastel-green) 26%, var(--panel-strong)), transparent 46%), var(--row);border:1px solid var(--soft-line);border-radius:22px;gap:14px;padding:18px;display:grid}.tracker-kind{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:950}.tracker-card small{color:var(--muted);font-size:12px;font-weight:850}.tracker-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tracker-metrics span{background:var(--panel);border:1px solid var(--soft-line);color:var(--muted);border-radius:15px;gap:3px;padding:11px;font-size:11px;font-weight:850;display:grid}.tracker-metrics b{color:var(--ink);font-size:13px}.tracker-actions{flex-wrap:wrap;gap:8px;display:flex}.tracker-actions button{background:var(--panel);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 12px;font-weight:900}.tracker-actions button:hover{background:var(--panel-strong)}.faculty-slot-modal{width:min(760px,100vw - 32px);max-width:760px}.faculty-slot-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-results-workspace{gap:20px;display:grid}.student-results-workspace .results-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.student-results-workspace .results-summary-card{background:var(--panel);border:1px solid var(--soft-line);box-shadow:var(--shadow-soft);border-radius:24px}.results-report-card,.results-list-card{gap:16px;display:grid}.results-report-card>header,.results-report-card>header>div,.results-list-card>header{align-items:center;display:flex}.results-report-card>header{justify-content:space-between}.results-report-card>header>div,.results-list-card>header{gap:10px}.results-report-card h2,.results-list-card h2,.results-report-card p{margin:0}.results-report-card h2,.results-list-card h2{font-size:17px}.results-report-card p,.results-empty,.results-list-row small{color:var(--muted);font-size:12px;font-weight:800}.report-card-note{max-width:760px}.student-report-table-scroll{border:1px solid var(--soft-line);border-radius:20px;overflow:auto}.student-report-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1240px}.student-report-table th,.student-report-table td{border-bottom:1px solid var(--soft-line);border-right:1px solid var(--soft-line);text-align:center;padding:11px 9px}.student-report-table tr:last-child th,.student-report-table tr:last-child td{border-bottom:0}.student-report-table th:last-child,.student-report-table td:last-child{border-right:0}.student-report-table thead th{background:var(--panel);width:106px;font-size:11px}.student-report-table thead th:first-child,.student-report-table tbody th{text-align:left;z-index:1;width:170px;min-width:170px;position:sticky;left:0}.student-report-table thead th:first-child{z-index:2}.student-report-table thead strong,.student-report-table thead small,.student-report-table td strong,.student-report-table td small{display:block}.student-report-table thead small,.student-report-table td small{color:var(--muted);margin-top:3px;font-size:10px}.student-report-table tbody th{background:var(--panel);font-size:12px}.student-report-table td{background:var(--panel-strong);height:64px;font-size:12px}.student-report-table td.published{background:color-mix(in srgb, var(--accent) 7%, var(--panel-strong))}.student-report-table td.current,.student-report-table td.final{background:color-mix(in srgb, var(--accent) 11%, var(--panel))}.student-report-table td.pending{color:var(--muted)}.results-graded-work{max-width:none}.results-list-row{border-top:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:12px;padding-top:13px;display:flex}.results-list-row>span{gap:3px;display:grid}.results-list-row b{white-space:nowrap;font-size:14px}@media (max-width:760px){.student-results-workspace .results-summary-strip{grid-template-columns:1fr}}
.lms-workspace{gap:22px;display:grid}.lms-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.lms-layout{grid-template-columns:minmax(300px,.3fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.lms-course-rail{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:28px;gap:14px;max-height:calc(100vh - 196px);padding:18px;display:grid;position:sticky;top:24px;overflow:hidden;box-shadow:0 0 22px #8ca9ff0b}.lms-search{background:var(--row);border:1px solid var(--soft-line);color:var(--muted);border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:0 14px;display:flex}.lms-search:focus-within{border-color:color-mix(in srgb, var(--accent) 36%, var(--soft-line));box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent)}.lms-search input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;font-weight:850}.lms-course-list{gap:10px;padding-right:2px;display:grid;overflow:auto}.lms-course-list button{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;text-align:left;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;padding:14px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid}.lms-course-list button:hover{background:color-mix(in srgb, var(--pastel-blue) 38%, var(--panel-strong));border-color:color-mix(in srgb, #aac4f5 22%, var(--soft-line));transform:translateY(-1px)}.lms-course-list button.active{background:color-mix(in srgb, var(--pastel-blue) 68%, var(--panel-strong));border-color:color-mix(in srgb, #aac4f5 34%, var(--soft-line));box-shadow:0 14px 28px #8ca9ff1f,inset 0 0 0 1px #aac4f524}.lms-course-list strong,.lms-resource-card strong,.lms-unit-row strong,.lms-grade-row strong{line-height:1.1;display:block}.lms-course-list small,.lms-resource-card p,.lms-resource-card small,.lms-unit-row small,.lms-grade-row span,.lms-settings-grid em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.lms-course-list em{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);border-radius:999px;padding:7px 9px;font-size:12px;font-style:normal;font-weight:950}.lms-main{gap:16px;min-width:0;display:grid}.lms-course-hero{color:#fff;background:radial-gradient(circle at 82% 16%,#ffffff2e,#0000 28%),linear-gradient(135deg,#aac4f5,#3f63d9);border:0;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);align-items:stretch;gap:18px;min-height:270px;padding:32px;display:grid;overflow:hidden;box-shadow:0 24px 48px #8ca9ff38}.lms-course-hero h2{letter-spacing:0;max-width:12ch;margin:0;font-size:clamp(32px,4vw,58px);line-height:.98}.lms-course-hero p{color:#ffffffdb;max-width:68ch;margin-top:14px;font-size:15px;font-weight:850;line-height:1.5}.lms-course-hero .eyebrow{color:#ffffffc2}.lms-chip-row{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.lms-chip-row span{color:#ffffffdb;text-transform:capitalize;background:#ffffff24;border:1px solid #fff3;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950}.lms-progress-panel{background:#8ca9ff47;border:1px solid #ffffff2e;border-radius:24px;align-content:center;justify-items:start;gap:10px;padding:18px;display:grid}.lms-progress-panel strong{font-size:44px;line-height:1}.lms-progress-panel span,.lms-progress-panel small{color:#ffffffc7;font-size:12px;font-weight:900}.lms-progress-panel .academic-progress-line{background:#8ca9ff52;width:100%}.academic-progress-line i{background:var(--accent);border-radius:inherit;height:100%;display:block}.lms-progress-panel .academic-progress-line i{background:#ffffffb8}:root[data-theme=dark] .lms-progress-panel .academic-progress-line i{background:var(--accent)}.lms-tabs{overflow-x:auto}.lms-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.lms-stat-card,.lms-wide-card{min-width:0}.lms-stat-card{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:22px;gap:8px;min-height:128px;padding:18px;display:grid}.lms-stat-card span{color:var(--muted);font-size:12px;font-weight:950}.lms-stat-card strong{font-size:clamp(28px,3vw,42px);line-height:1}.lms-stat-card small{color:var(--muted);font-size:12px;font-weight:850}.lms-wide-card{grid-column:1/-1;gap:14px;display:grid}.lms-unit-list,.lms-activity-list,.lms-gradebook{gap:10px;display:grid}.lms-unit-row,.lms-activity-row,.lms-grade-row{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.lms-unit-row{grid-template-columns:auto minmax(160px,.32fr) minmax(0,1fr) auto}.lms-unit-row>span:first-child{background:var(--accent-soft);color:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:950;display:inline-flex}.lms-activity-row{grid-template-columns:auto minmax(0,1fr) auto}.lms-activity-row p{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800}.lms-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lms-resource-card{background:var(--row);border:1px solid var(--soft-line);border-radius:20px;justify-items:start;gap:10px;min-height:150px;padding:14px;display:grid}.lms-resource-card>span{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:950}.lms-resource-card.quiz{background:linear-gradient(145deg, color-mix(in srgb, var(--pastel-purple) 64%, var(--panel-strong)), var(--panel-strong))}.lms-grade-row{grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto auto}.lms-grade-row em{color:var(--accent);font-size:22px;font-style:normal;font-weight:950}.lms-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lms-settings-grid span{background:var(--row);border:1px solid var(--soft-line);border-radius:18px;gap:5px;padding:12px;display:grid}.lms-modal-card{width:min(860px,94vw)}.faculty-lms-layout{grid-template-columns:minmax(310px,.3fr) minmax(0,1fr)}.faculty-class-rail{max-height:calc(100vh - 190px)}.faculty-class-rail-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.faculty-class-rail-heading>div{gap:4px;display:grid}.faculty-class-rail-heading strong{font-size:17px}.faculty-class-rail-heading span{color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.faculty-class-rail-heading em{background:color-mix(in srgb, var(--pastel-blue) 62%, var(--panel-strong));border:1px solid color-mix(in srgb, #aac4f5 28%, var(--soft-line));color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-style:normal;font-weight:950;display:inline-flex}.faculty-class-rail .lms-course-list button{border-radius:20px;min-height:78px;padding:12px 14px}.faculty-class-rail .lms-course-list button.active{background:color-mix(in srgb, var(--pastel-blue) 70%, var(--panel-strong));border-color:color-mix(in srgb, #aac4f5 36%, var(--soft-line));box-shadow:0 14px 28px #8ca9ff1f,inset 0 0 0 1px #aac4f524}.faculty-class-rail .lms-course-list button>svg{color:var(--muted)}.faculty-class-rail .lms-course-list button.active>svg{color:var(--accent)}.faculty-class-hero{color:#fff;background:radial-gradient(circle at 82% 16%,#ffffff2e,#0000 28%),linear-gradient(135deg,#aac4f5,#3f63d9);border:0;border-radius:32px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:270px;padding:34px;display:grid;overflow:hidden;box-shadow:0 24px 48px #8ca9ff38}.faculty-class-title{gap:5px;display:grid}.faculty-class-title>span{color:#ffffffc2;font-size:13px;font-weight:950}.faculty-class-title h2{letter-spacing:0;margin:0;font-size:clamp(42px,5.4vw,76px);line-height:1}.faculty-class-title p{color:#ffffffdb;max-width:58ch;margin:8px 0 0;font-size:15px;font-weight:800;line-height:1.45}.faculty-class-summary{grid-template-columns:repeat(3,minmax(108px,1fr));gap:10px;display:grid}.faculty-class-summary>div{background:#8ca9ff3d;border:1px solid #ffffff2e;border-radius:22px;align-content:center;gap:3px;min-height:104px;padding:16px;display:grid}.faculty-class-summary svg{color:#ffffffb8;margin-bottom:4px}.faculty-class-summary strong{font-size:22px;line-height:1}.faculty-class-summary span{color:#ffffffc2;font-size:11px;font-weight:850}.faculty-class-overview{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:14px;display:grid}.faculty-lms-layout .lms-tabs{white-space:nowrap;flex-wrap:nowrap}.faculty-course-panel{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:28px;align-content:start;gap:16px;min-width:0;padding:20px;display:grid;box-shadow:0 0 22px #8ca9ff0b}.faculty-course-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.faculty-course-panel>header>div{gap:3px;display:grid}.faculty-course-panel>header strong{font-size:17px}.faculty-course-panel>header span,.faculty-course-panel>p{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.faculty-course-panel>header button{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;font:inherit;border-radius:999px;flex:none;align-items:center;gap:5px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.faculty-work-list,.faculty-unit-list{display:grid}.faculty-work-list>div,.faculty-unit-list>div{border-top:1px solid var(--soft-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.faculty-work-list>div:first-child,.faculty-unit-list>div:first-child{border-top:0;padding-top:2px}.faculty-work-list strong,.faculty-unit-list strong{font-size:13px;display:block}.faculty-work-list small,.faculty-unit-list small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:750;line-height:1.4;display:block}.faculty-work-icon,.faculty-unit-list>div>span:first-child{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--soft-line));color:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:950;display:inline-flex}.faculty-grading-count{align-items:baseline;gap:10px;margin-top:4px;display:flex}.faculty-grading-count strong{font-size:44px;line-height:1}.faculty-grading-count span{color:var(--muted);max-width:16ch;font-size:12px;font-weight:850}.faculty-units-panel{grid-column:1/-1}.faculty-panel-empty{color:var(--muted);padding:22px 0 8px;font-size:13px}.assignments-workspace{gap:24px}.admin-assignment-monitor .lms-report-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px;display:grid}.admin-assignment-monitor .lms-report-card{background:#fff;border:1px solid #0f172a14;border-radius:8px;gap:4px;padding:14px;display:grid}.admin-assignment-monitor .lms-report-card strong{font-size:24px}.admin-assignment-monitor .lms-two-column{grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr);gap:16px;display:grid}.admin-assignment-monitor .lms-panel{background:#fff;border:1px solid #0f172a14;border-radius:8px;padding:16px}.admin-assignment-table,.admin-roster-list{gap:8px;margin-top:12px;display:grid}.admin-assignment-table button,.admin-roster-list>div{color:inherit;text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.admin-assignment-table button.active{background:#eef4ff;border-color:#2563eb38}.admin-monitor-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-monitor-meta span{background:#f1f5f9;border-radius:999px;padding:6px 10px}@media (max-width:860px){.admin-assignment-monitor .lms-two-column,.admin-assignment-table button,.admin-roster-list>div{grid-template-columns:1fr}}.assignment-main{gap:16px;min-width:0;display:grid}.student-assignment-main{grid-template-columns:minmax(0,1fr)}.assignment-actions{justify-content:flex-end}.assignment-faculty-layout{grid-template-columns:minmax(300px,.28fr) minmax(0,1fr)}.assignment-class-summary{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(130px,.35fr));gap:12px;display:grid}.assignment-class-card,.assignment-mini-stat,.assignment-section,.assignment-assessment-panel{background:var(--panel-strong);border:1px solid var(--soft-line);box-shadow:0 12px 36px #1616160b}.assignment-class-card{border-radius:26px;align-content:center;gap:8px;min-height:154px;padding:24px;display:grid}.assignment-class-card>span,.assignment-kicker{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:950}.assignment-class-card h2{letter-spacing:0;margin:0;font-size:clamp(34px,4vw,56px);line-height:1}.assignment-class-card p{color:var(--muted);margin:0;font-size:14px;font-weight:800;line-height:1.45}.assignment-mini-stat{border-radius:24px;align-content:center;gap:8px;padding:18px;display:grid}.assignment-mini-stat strong{font-size:clamp(28px,3vw,42px);line-height:1}.assignment-mini-stat span{color:var(--muted);font-size:12px;font-weight:850}.assignment-due-panel{display:grid}.assignment-due-card{background:linear-gradient(135deg, color-mix(in srgb, var(--pastel-blue) 42%, var(--panel-strong)), var(--panel-strong));border:1px solid color-mix(in srgb, #aac4f5 26%, var(--soft-line));border-radius:26px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:112px;padding:20px;display:grid}.assignment-due-icon,.assignment-type-icon{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--soft-line));color:var(--accent);border-radius:16px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.assignment-due-card h3{letter-spacing:0;margin:4px 0 0;font-size:clamp(22px,2.6vw,36px);line-height:1.05}.assignment-due-card p{color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:850;line-height:1.4}.assignment-due-card>strong{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--ink);white-space:nowrap;border-radius:999px;padding:10px 12px;font-size:13px}.assignment-section{border-radius:28px;gap:16px;padding:20px;display:grid}.assignment-section.completed{background:color-mix(in srgb, var(--panel-strong) 78%, var(--row))}.assignment-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.assignment-section-head h3{margin:0;font-size:20px}.assignment-section-head p{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:850}.assignment-card-list{gap:10px;display:grid}.assignment-work-card{background:var(--panel-strong);border:1px solid var(--soft-line);border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:104px;padding:14px;display:grid}.assignment-work-card.is-completed{opacity:.9}.assignment-copy{min-width:0}.assignment-card-meta{flex-wrap:wrap;gap:7px;display:flex}.assignment-card-meta span,.assignment-status{background:var(--panel-strong);border:1px solid var(--soft-line);color:var(--muted);text-transform:capitalize;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950}.assignment-copy h4{margin:10px 0 0;font-size:18px;line-height:1.15}.assignment-copy p{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:750;line-height:1.45}.assignment-card-side{place-items:flex-end end;gap:8px;min-width:150px;display:grid}.assignment-status.positive{color:#137661}.assignment-status.warning{color:#b67b00}.assignment-status.neutral{color:var(--accent)}.assignment-status.pending{color:var(--ink)}.assignment-due-text{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:900}.assignment-mark-state{color:var(--accent);white-space:nowrap;font-size:12px;font-weight:950}.assignment-caught-up{background:var(--row);border:1px dashed color-mix(in srgb, var(--accent) 18%, var(--soft-line));color:var(--muted);border-radius:20px;align-items:center;gap:12px;min-height:96px;padding:18px;display:flex}.assignment-caught-up svg{color:#137661;flex:none}.assignment-caught-up strong{color:var(--ink);font-size:17px}.assignment-assessment-panel{border-radius:28px;padding:20px}.assignment-creator-drawer{width:min(980px,96vw)}.assignment-method-picker{border:1px solid var(--soft-line);border-radius:18px;flex-wrap:wrap;gap:10px 16px;padding:14px;display:flex}.assignment-method-picker legend{color:var(--muted);padding:0 6px;font-size:12px;font-weight:950}.assignment-method-picker label{flex-direction:row;align-items:center;gap:8px;min-width:0;display:inline-flex}.assignment-detail-page{gap:22px;display:grid}.assignment-detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.28fr);align-items:start;gap:18px;display:grid}.assignment-sheet,.assignment-detail-side{gap:16px;display:grid}.assignment-sheet{border:1px solid var(--soft-line);border-radius:30px;padding:clamp(20px,3vw,34px)}.assignment-sheet-meta{flex-wrap:wrap;gap:8px;display:flex}.assignment-sheet-meta span,.assignment-detail-kicker{background:var(--row);border:1px solid var(--soft-line);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950}.assignment-detail-kicker{text-transform:uppercase;margin-bottom:12px;display:inline-flex}.assignment-sheet h2{letter-spacing:0;max-width:16ch;margin:0;font-size:clamp(34px,4vw,56px);line-height:1}.assignment-prompt,.assignment-instructions p{color:var(--ink);white-space:pre-wrap;margin:16px 0 0;font-size:clamp(17px,1.6vw,21px);font-weight:750;line-height:1.55}.assignment-instructions,.assignment-deliverables,.assignment-resources,.assignment-submission-panel,.faculty-assignment-review{border-top:1px solid var(--soft-line);gap:12px;padding-top:18px;display:grid}.assignment-instructions h3,.assignment-deliverables h3,.assignment-resources h3,.assignment-submission-panel h3,.faculty-assignment-review h3{margin:0;font-size:20px}.assignment-deliverables ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assignment-deliverables li{color:var(--muted);align-items:center;gap:8px;font-weight:850;display:flex}.assignment-deliverables svg{color:#137661;flex:none}.assignment-resources>div{gap:8px;display:grid}.assignment-resources button{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:10px 12px;font-weight:900;display:grid}.assignment-submit-form,.faculty-grade-controls{gap:12px;display:grid}.assignment-submit-form label,.faculty-grade-controls label{color:var(--muted);gap:7px;font-size:12px;font-weight:950;display:grid}.assignment-submit-form textarea,.assignment-submit-form input,.faculty-grade-controls textarea,.faculty-grade-controls input{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);font:inherit;border-radius:16px;outline:0;padding:12px 14px;font-weight:800}.assignment-file-input{background:var(--row);border:1px solid var(--soft-line);cursor:pointer;border-radius:16px;flex-direction:row;align-items:center;min-height:52px;padding:0 14px;color:var(--ink)!important;font-size:14px!important;display:flex!important}.assignment-file-input input{border:0;padding:0}.submitted-work{gap:10px;display:grid}.submitted-work pre{background:var(--row);border:1px solid var(--soft-line);color:var(--ink);font:inherit;white-space:pre-wrap;border-radius:18px;margin:0;padding:14px;font-weight:750;line-height:1.5;overflow:auto}.submitted-work a{color:var(--accent);overflow-wrap:anywhere;font-weight:900}.assignment-detail-side{position:sticky;top:24px}.assignment-marks-card,.assignment-facts-card{border:1px solid var(--soft-line);border-radius:26px;padding:20px}.assignment-marks-card{gap:10px;display:grid}.assignment-marks-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:950}.assignment-marks-card strong{font-size:clamp(28px,3vw,42px);line-height:1}.assignment-marks-card p,.assignment-facts-card span{color:var(--muted);margin:0;font-size:13px;font-weight:800;line-height:1.45}.assignment-facts-card{gap:12px;display:grid}.assignment-facts-card div{border-top:1px solid var(--soft-line);grid-template-columns:auto minmax(0,.4fr) minmax(0,1fr);align-items:center;gap:8px;padding-top:12px;display:grid}.assignment-facts-card div:first-child{border-top:0;padding-top:0}.assignment-facts-card strong{text-align:right;justify-self:end;font-size:13px}.faculty-assignment-review>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.faculty-assignment-review>header p{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:850}.faculty-submission-list{gap:12px;display:grid}.faculty-submission-card{background:var(--row);border:1px solid var(--soft-line);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:16px;padding:16px;display:grid}.faculty-submission-copy{gap:8px;min-width:0;display:grid}.faculty-submission-copy>strong{font-size:18px}.faculty-submission-copy>span{color:var(--muted);font-size:12px;font-weight:850}.faculty-grade-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.faculty-grade-controls .wide{grid-column:1/-1}.faculty-grade-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}@media (max-width:1100px){.lms-layout,.lms-course-hero,.lms-overview-grid,.lms-card-grid,.lms-settings-grid{grid-template-columns:1fr}.lms-course-rail{max-height:none;position:static}.faculty-class-hero,.faculty-class-overview,.assignment-faculty-layout,.assignment-class-summary,.assignment-detail-grid,.faculty-submission-card{grid-template-columns:1fr}.assignment-detail-side{position:static}.faculty-class-summary>div:first-child{border-left:0;padding-left:0}.lms-course-list{scroll-snap-type:x proximity;grid-template-columns:none;grid-auto-columns:minmax(230px,72vw);grid-auto-flow:column;padding:0 0 8px;display:grid;overflow:auto hidden}.lms-course-list button{scroll-snap-align:start}}@media (max-width:760px){.lms-course-rail{border-radius:20px;padding:12px}.lms-course-list{grid-auto-columns:minmax(210px,82vw)}.lms-course-hero{border-radius:22px;gap:14px;padding:18px}.lms-course-hero h2{max-width:14ch;font-size:38px}.lms-course-hero p{margin-top:10px;font-size:14px}.lms-progress-panel strong{font-size:34px}.faculty-class-hero{padding:18px}.faculty-class-title h2{font-size:34px}.faculty-class-summary{border-top:1px solid var(--border-soft);grid-template-columns:repeat(3,1fr);gap:0;padding-top:14px}.faculty-class-summary>div{min-height:70px;padding:0 10px}.faculty-lms-layout .lms-tabs{white-space:normal;flex-wrap:wrap}.faculty-lms-layout .lms-tabs button{flex:auto;justify-content:center}.faculty-course-panel>header{flex-direction:column;align-items:flex-start;gap:8px}.assignment-work-card,.assignment-due-card{grid-template-columns:1fr;align-items:stretch}.assignment-due-card>strong,.assignment-card-side{place-items:start;min-width:0}.assignment-sheet h2{max-width:none}.faculty-assignment-review>header,.faculty-grade-actions{flex-direction:column;align-items:flex-start}.lms-unit-row,.lms-activity-row,.lms-grade-row{grid-template-columns:1fr}}
