@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap");:root{--ink:#0b2744;--ink-2:#143a5c;--ink-deep:#071a2e;--teal:#1a6b6b;--teal-bright:#248a8a;--sand:#c4a35a;--sand-deep:#8f7130;--mist:#eef2f6;--surface:rgba(255,255,255,0.94);--line:rgba(196,163,90,0.38);--line-soft:rgba(11,39,68,0.1);--danger:#b42318;--muted:#5b6b7c;--ok:#1f6b4a;--radius:0.85rem;--radius-lg:1.15rem;--shadow:0 8px 28px rgba(11,39,68,0.07);--shadow-lg:0 18px 48px rgba(7,26,46,0.16);--font:"Cairo","IBM Plex Sans Arabic",Tahoma,sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--nav-w:232px}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%;min-height:100dvh;font-family:var(--font);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}body{background:radial-gradient(ellipse 70% 42% at 100% 0,rgba(196,163,90,.14),transparent 55%),radial-gradient(ellipse 55% 36% at 0 12%,rgba(11,39,68,.07),transparent 50%),radial-gradient(ellipse 40% 30% at 50% 100%,rgba(26,107,107,.06),transparent 55%),linear-gradient(180deg,#f4f7fb,#e8eef4);background-attachment:fixed}button,input,select,textarea{font:inherit;max-width:100%}.shell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);min-height:100dvh}.shell-side{position:-webkit-sticky;position:sticky;top:0;height:100dvh;background:linear-gradient(180deg,var(--ink-deep),var(--ink));color:#fff;border-left:1px solid rgba(196,163,90,.35);display:flex;flex-direction:column;padding:1rem .75rem;overflow:auto}.shell-brand{padding:.4rem .65rem 1rem;border-bottom:1px solid rgba(196,163,90,.25);margin-bottom:.75rem}.shell-brand strong{display:block;font-size:1.15rem;color:var(--sand)}.shell-brand small{color:rgba(255,255,255,.7);font-size:.78rem}.shell-nav{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.shell-nav button{border:0;background:transparent;color:rgba(255,255,255,.88);text-align:right;padding:.65rem .75rem;border-radius:.65rem;cursor:pointer;font-weight:600}.shell-nav button.is-on{background:rgba(196,163,90,.18);color:#fff}.shell-user{padding:.75rem;border-top:1px solid rgba(196,163,90,.25);font-size:.82rem;color:rgba(255,255,255,.75)}.shell-content{display:flex;flex-direction:column;min-width:0}.shell-main{padding:1.1rem 1.25rem 2rem;flex:1 1}.m-header,.m-tabbar{display:none}.page-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.page-head h1{margin:0;color:var(--ink)}.sync-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700;background:#e8f5f2;color:var(--teal)}.sync-chip.is-error{background:#fdecea;color:var(--danger)}.sync-chip.is-saving{background:#fff7e6;color:#9a6700}.btn-danger,.btn-ghost,.btn-primary{border:0;border-radius:.65rem;padding:.55rem .95rem;font-weight:700;cursor:pointer}.btn-primary{background:linear-gradient(105deg,var(--teal),var(--teal-bright));color:#fff;box-shadow:0 6px 16px rgba(26,107,107,.28)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-ghost{background:#fff;border:1px solid var(--line-soft);color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.card,.panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1rem}.field{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}.field input,.field select,.field textarea{border:1px solid var(--line-soft);border-radius:.55rem;padding:.55rem .7rem;background:#fff}.fs-form{display:grid;grid-template-columns:1fr;grid-gap:.85rem;gap:.85rem}@media (min-width:640px){.fs-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.sch-dept-multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));grid-gap:.4rem;gap:.4rem;max-height:11rem;overflow:auto;padding:.55rem;border:1px solid var(--line-soft);border-radius:.55rem;background:#f8fafc}.sch-dept-multi__item{display:flex;align-items:flex-start;gap:.4rem;font-weight:600;font-size:.82rem;line-height:1.35;cursor:pointer;margin:0}.sch-dept-multi__item input{margin-top:.15rem;flex:0 0 auto}.modal-root{position:fixed;inset:0;z-index:3200;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fs-panel{width:min(720px,96vw);max-height:min(90vh,860px);display:flex;flex-direction:column;background:#fff;border-radius:1.1rem;border:1px solid #e2e8f0;overflow:hidden}.fs-head{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;border-bottom:1px solid #e8eef5}.fs-title{margin:0;font-size:1.1rem}.fs-close{border:0;background:#f1f5f9;width:36px;height:36px;border-radius:999px;cursor:pointer;font-size:1.2rem}.fs-body{padding:1rem 1.1rem;overflow:auto;flex:1 1}.fs-foot{padding:.85rem 1.1rem;border-top:1px solid #e8eef5;background:#f8fafc}.alert-ok{background:#e8f5f2;color:var(--ok);font-weight:700}.alert-danger,.alert-ok{border-radius:.65rem;padding:.7rem .85rem}.alert-danger{color:var(--danger)}.alert-warn{border-radius:.65rem;padding:.7rem .85rem;font-weight:700}.hint-soft{font-size:.84rem;font-weight:500}.table-wrap{overflow:auto;border-radius:var(--radius);border:1px solid var(--line-soft);background:#fff}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data td,table.data th{padding:.65rem .75rem;border-bottom:1px solid #eef2f6;text-align:right}table.data th{background:#f8fafc;color:var(--ink-2);font-weight:800;position:-webkit-sticky;position:sticky;top:0}.login-root{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.25fr .95fr;background:var(--ink-deep);color:#fff;overflow:auto}.login-hero{position:relative;overflow:hidden}.login-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.login-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,46,.2),rgba(7,26,46,.9)),radial-gradient(ellipse at 80% 20%,rgba(196,163,90,.2),transparent 50%)}.login-hero__copy{position:absolute;inset-inline:0;bottom:0;padding:2rem 1.75rem;padding-bottom:calc(2rem + var(--safe-bottom));z-index:1}.login-kicker{opacity:.75;letter-spacing:.06em;font-weight:600;font-size:.82rem;margin:0}.login-hero__copy h1{margin:.4rem 0;font-size:clamp(1.55rem,3.2vw,2.4rem);line-height:1.3;font-weight:800;letter-spacing:-.02em}.login-hero__copy span{color:var(--sand)}.login-sub{color:rgba(255,255,255,.82);font-weight:500;margin:.35rem 0 0}.login-foot{margin:.85rem 0 0;font-size:.72rem;opacity:.7;font-weight:600}.login-panel{display:grid;place-items:center;padding:1.25rem;padding-bottom:calc(1.25rem + var(--safe-bottom));background:radial-gradient(ellipse at 50% 0,rgba(196,163,90,.12),transparent 55%),linear-gradient(180deg,var(--ink-2),var(--ink-deep))}.login-card{width:min(100%,400px);background:rgba(255,255,255,.05);border:1px solid rgba(196,163,90,.4);border-radius:1.25rem;padding:1.4rem 1.25rem;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-crest{width:3.6rem;height:3.6rem;margin:0 auto .75rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--sand);color:var(--sand);font-weight:800;letter-spacing:.04em;box-shadow:0 0 0 6px rgba(196,163,90,.1)}.login-card h2{margin:0;text-align:center;font-size:1.02rem;font-weight:800;color:#fff}.login-muted{text-align:center;color:rgba(255,255,255,.65);margin:.4rem 0 1rem;font-size:.86rem}.login-hint{margin-top:0;margin-bottom:.75rem;font-size:.78rem}.login-tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.35rem;gap:.35rem;margin-bottom:.55rem}.login-tabs--5{grid-template-columns:repeat(5,minmax(0,1fr))}.login-tabs button{border:1px solid rgba(255,255,255,.15);background:transparent;color:rgba(255,255,255,.7);border-radius:.65rem;padding:.55rem .2rem;cursor:pointer;font-size:.72rem;font-weight:700;font-family:inherit;line-height:1.25;min-height:2.6rem}.login-tab-stack{display:flex;flex-direction:column;align-items:center;gap:.05rem;font-style:normal}.login-tab-stack em{font-style:normal;font-size:.62rem;font-weight:700;line-height:1.15}.login-tabs button.is-on{border-color:var(--sand);color:#fff;background:rgba(196,163,90,.18)}.login-form{display:grid;grid-gap:.75rem;gap:.75rem}.login-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.82rem;color:rgba(255,255,255,.7);font-weight:600}.login-form input{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.22);border-radius:.65rem;color:#fff;padding:.65rem .75rem;min-height:44px}.login-form input::placeholder{color:rgba(255,255,255,.4)}.login-form input:disabled{opacity:.55;cursor:not-allowed}.login-form input:focus{outline:none;border-color:rgba(196,163,90,.7);box-shadow:0 0 0 3px rgba(196,163,90,.15)}.login-picker{display:grid;grid-gap:.55rem;gap:.55rem}.login-names{max-height:min(220px,40vh);overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:.85rem;background:rgba(0,0,0,.28);-webkit-overflow-scrolling:touch}.login-names__empty{margin:0;padding:.85rem .9rem;color:rgba(255,255,255,.65);font-size:.86rem}.login-names button{width:100%;text-align:right;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:#fff;padding:.7rem .85rem;cursor:pointer;display:grid;grid-gap:.15rem;gap:.15rem;font-family:inherit}.login-names button:last-child{border-bottom:0}.login-names button strong{font-weight:700}.login-names button span{font-size:.72rem;color:rgba(255,255,255,.55);font-weight:600}.login-names button:focus-visible,.login-names button:hover{background:rgba(196,163,90,.18)}.login-picked{border:1px dashed rgba(196,163,90,.55);background:rgba(196,163,90,.12);color:#f3e6c2;border-radius:.65rem;padding:.45rem .65rem;cursor:pointer;font-weight:700;font-size:.78rem;font-family:inherit;text-align:right}.login-step-hint{margin:0;font-size:.78rem}.login-error{margin:0;color:#ffb4a8;font-weight:700;font-size:.84rem;text-align:center}.login-submit{border:0;border-radius:.65rem;padding:.7rem .95rem;min-height:48px;font-weight:800;cursor:pointer;font-size:.95rem;font-family:inherit;background:linear-gradient(105deg,var(--teal),var(--teal-bright));color:#fff;box-shadow:0 6px 16px rgba(26,107,107,.28)}.login-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.login-submit:disabled{opacity:.42;cursor:not-allowed;transform:none}@media (max-width:900px){.shell{grid-template-columns:1fr!important}.shell-side{display:none!important}.m-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--ink);color:#fff}.m-tabbar{display:flex;position:-webkit-sticky;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line-soft);padding:.35rem .4rem calc(.35rem + var(--safe-bottom));gap:.2rem;z-index:50}.m-tabbar button{flex:1 1;border:0;background:transparent;padding:.45rem .2rem;font-size:.72rem;font-weight:700;color:var(--muted)}.m-tabbar button.is-on{color:var(--teal)}.login-root{grid-template-columns:1fr;min-height:100dvh}.login-hero{min-height:140px;max-height:26vh}.login-hero__copy{padding:.85rem .9rem}.login-hero__copy h1{font-size:1.25rem}.login-panel{display:block;padding:.75rem .75rem calc(1.25rem + var(--safe-bottom))}.login-card{width:100%;max-width:100%}.login-tabs,.login-tabs--5{grid-template-columns:repeat(2,1fr)}}@media (min-width:901px){.shell{grid-template-columns:var(--nav-w) minmax(0,1fr)}}.shell-side{background:linear-gradient(165deg,rgba(196,163,90,.08),transparent 40%),linear-gradient(180deg,var(--ink-deep),var(--ink-2) 55%,#0e2f48);-webkit-border-end:1px solid rgba(196,163,90,.28);border-inline-end:1px solid rgba(196,163,90,.28);border-left:0;gap:.75rem}.shell-nav button{font-size:.86rem;padding:.55rem .7rem}.shell-main{position:relative;padding:.85rem 1.15rem 1.5rem}.shell-main:before{content:"";pointer-events:none;position:absolute;inset:0;background-image:radial-gradient(rgba(11,39,68,.035) 1px,transparent 0);background-size:18px 18px;opacity:.55;z-index:0}.shell-main>*{position:relative;z-index:1}.top-search{position:relative;display:flex;align-items:center;gap:.65rem;padding:.65rem 1.15rem 0}.top-search input{flex:1 1;padding:.55rem .85rem;font-weight:600;min-height:42px}.top-search input,.top-search__hits{border:1px solid #c8d6e4;border-radius:8px;background:#fff}.top-search__hits{position:absolute;top:calc(100% - 2px);right:1.15rem;left:1.15rem;z-index:40;box-shadow:var(--shadow-lg);max-height:260px;overflow:auto;display:flex;flex-direction:column}.top-search__hits button{border:0;background:transparent;text-align:right;padding:.55rem .85rem;cursor:pointer;border-bottom:1px solid #eef2f6;font-weight:600}.top-search__hits button:hover{background:#f3f7fb}.page-head{margin-bottom:.65rem}.page-head h1{font-size:1.35rem}.page-head p{margin:.2rem 0 0;color:var(--muted);font-size:.86rem;font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.45rem;padding:.4rem .45rem;background:#fff;border:1px solid #c8d6e4;border-radius:8px}.scope-filters{align-items:end;gap:.55rem .65rem}.scope-field{display:grid;grid-gap:.22rem;gap:.22rem;font-size:.78rem;font-weight:800;color:var(--muted);min-width:140px;flex:1 1 150px}.scope-field input,.scope-field select{width:100%;border:1px solid #c8d6e4;border-radius:7px;padding:.28rem .55rem;min-height:42px;background:#fff;font-size:.76rem;font-weight:700;color:var(--ink)}.stat-row,.stat-row.is-stack{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:.45rem}.stat{display:inline-flex;align-items:center;flex:0 0 auto;gap:.35rem;border-radius:7px;padding:.28rem .55rem;min-height:34px;font-weight:700;font-size:.76rem;line-height:1.35;white-space:nowrap;background:#f3f7fb;border:1px solid #c8d6e4;color:var(--ink)}.stat.teal{background:#e7f5ef;border-color:#b4d7c4;color:#164a3b}.stat.sand{background:#faf3e4;border-color:#e2cc96;color:#7a5b1e}.stat.ink{background:#e8f1fa;border-color:#b3c9de;color:#143a5c}.stat.coral{background:#fdecea;border-color:#e8b8ae;color:#8a3a30}.table-wrap.card{padding:0;border:1px solid #c5d0dc;box-shadow:none;overflow:auto}.table-wrap>.card-title{margin:0;padding:.42rem .65rem;background:#0b2744;color:#fff;font-size:.78rem;font-weight:700}.dash-stats table{width:100%;border-collapse:collapse;font-size:.74rem;line-height:1.25}.dash-stats td,.dash-stats th{text-align:right;padding:.28rem .42rem;border:1px solid #e2e8ee;vertical-align:middle;white-space:nowrap}.dash-stats th{color:#fff;font-weight:700;font-size:.7rem;background:#0b2744;border-color:#163a5c;position:-webkit-sticky;position:sticky;top:0;z-index:1}.dash-stats tbody tr:nth-child(2n) td{background:#f7fafc}.dash-stats .dash-kpi-panel{margin:.65rem 0 .85rem;border:1px solid #c5d0dc;background:#fff;overflow:hidden}.dash-stats .dash-kpi-panel__title{margin:0;padding:.42rem .7rem;background:#0b2744;color:#fff;font-size:.72rem;font-weight:600}.dash-stats .dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));grid-gap:0;gap:0;border-top:1px solid #e2e8ee}.dash-stats .dash-kpi{display:flex;align-items:flex-start;gap:.55rem;padding:.72rem .75rem;background:#fff;border-left:1px solid #e2e8ee;border-bottom:1px solid #e2e8ee;min-height:4.6rem}.dash-stats .dash-kpi__icon{flex:0 0 auto;width:2.05rem;height:2.05rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.4rem;border:1px solid #d5e0ea;background:#f3f7fb;color:#0b2744}.dash-stats .dash-kpi__icon svg{width:1.1rem;height:1.1rem}.dash-stats .dash-kpi__body{display:flex;flex-direction:column;gap:.12rem;min-width:0}.dash-stats .dash-kpi__label{font-size:.62rem;font-weight:500;color:#5b6f82;line-height:1.25}.dash-stats .dash-kpi__value{font-size:.84rem;font-weight:500;color:#0b2744;line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-stats .dash-kpi__hint,.dash-stats .dash-kpi__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-stats .dash-kpi__hint{font-size:.6rem;font-weight:400;color:#7a8b9c;line-height:1.3}.dash-stats .dash-kpi--navy .dash-kpi__icon{background:#e8f0f7;border-color:#c5d6e6;color:#0b2744}.dash-stats .dash-kpi--teal .dash-kpi__icon{background:#e8f5ef;border-color:#c3ddd0;color:#1d5c45}.dash-stats .dash-kpi--sand .dash-kpi__icon{background:#faf4e8;border-color:#e5d4ae;color:#7a5b1e}.dash-stats .dash-kpi--sky .dash-kpi__icon{background:#eaf4fb;border-color:#c4d8e8;color:#1a4f78}.dash-stats .dash-kpi--rose .dash-kpi__icon{background:#f8ecea;border-color:#e5c4bd;color:#8a3a30}.dash-stats .dash-kpi--violet .dash-kpi__icon{background:#f3e8ff;border-color:#d8b4fe;color:#6b21a8}@media (max-width:720px){.dash-stats .dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-stats .dash-kpi{min-height:4.2rem;padding:.6rem .55rem}.dash-stats .dash-kpi__value{font-size:.8rem}}.m-more{position:fixed;inset:0;z-index:2000;display:grid;grid-template-columns:1fr}.m-more__backdrop{position:absolute;inset:0;border:0;background:rgba(7,26,46,.45)}.m-more__panel{position:relative;z-index:1;margin:auto 0 0;max-height:78dvh;background:#fff;border-radius:1rem 1rem 0 0;overflow:auto;padding:.75rem}.m-more__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.m-more__list{display:flex;flex-direction:column;gap:.25rem}.m-more__list button{border:0;background:#f3f7fb;text-align:right;padding:.7rem .85rem;border-radius:.65rem;font-weight:700;cursor:pointer}.m-more__list button.is-on{background:rgba(26,107,107,.14);color:var(--teal)}.app-toast{position:fixed;top:1.1rem;left:50%;transform:translateX(-50%);z-index:12000;min-width:9rem;padding:.65rem 1.35rem;border-radius:999px;background:#0f766e;color:#fff;font-weight:800;font-size:.92rem;box-shadow:0 10px 28px rgba(15,118,110,.35);animation:app-toast-in .18s ease-out;pointer-events:none}@keyframes app-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (min-width:901px){.top-search .sync-chip{display:inline-flex}}@media (max-width:900px){.top-search{padding-inline:1rem}.top-search .sync-chip{display:none}}.row-actions{gap:.45rem}.sch-page .filters{margin-top:.35rem;margin-bottom:.65rem}.sch-table{margin-top:.35rem}.sch-table table{width:100%;border-collapse:collapse;font-size:.74rem}.sch-table td,.sch-table th{text-align:right;padding:.28rem .42rem;border:1px solid #e2e8ee;vertical-align:middle}.sch-table th{color:#fff;font-weight:700;font-size:.7rem;background:#0b2744;border-color:#163a5c;position:-webkit-sticky;position:sticky;top:0;z-index:1;white-space:nowrap}.sch-table tbody tr:nth-child(2n) td{background:#f7fafc}.sch-course{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.28rem}.sch-cell-main{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.sch-chip{flex:0 0 auto;display:inline-flex;align-items:center;padding:.04rem .32rem;border-radius:999px;border:1px solid #b3c9de;background:#e8f1fa;color:#143a5c;font-size:.62rem;font-weight:700}.sch-chip--conflict{border-color:#f1b0aa;background:#fdecea;color:#b42318}.sch-badge{display:inline-flex;align-items:center;justify-content:center;min-width:3.4rem;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:800;border:1px solid transparent;font-family:inherit;line-height:1.2;white-space:nowrap}.sch-badge--ok{background:#e7f5ef;border-color:#b4d7c4;color:#164a3b}.sch-badge--warn{background:#fdecea;border-color:#f1b0aa;color:#b42318}.sch-badge--overlap{background:#fff7e6;border-color:#f0d9a8;color:#9a6700}.sch-badge--parttime{min-width:auto;padding:.14rem .55rem;background:#f3e8ff;border-color:#d8b4fe;color:#6b21a8;font-weight:500;letter-spacing:0}td.conflict-hot{background:#fdecea!important;color:#8a3a30;font-weight:700}td.overlap-warn{background:#fff8e8!important;color:#9a6700;font-weight:700}tr.row-conflict td{box-shadow:inset 0 0 0 9999px rgba(253,236,234,.25)}tr.row-duplicate td{box-shadow:inset 0 0 0 9999px rgba(255,247,230,.55)}.rooms-dup-panel{padding:1rem 1.1rem;border-color:#f0d9a8}.rooms-dup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.rooms-dup-list{display:grid;grid-gap:.65rem;gap:.65rem}.rooms-dup-group{border:1px solid #f0e0c0;border-radius:.75rem;padding:.75rem .85rem;background:#fffdf8}.rooms-dup-group h3{margin:0 0 .35rem;font-size:.95rem}.rooms-dup-group ul{margin:.5rem 0 0;padding:0;list-style:none}.rooms-dup-group li{display:flex;justify-content:space-between;align-items:center;gap:.65rem;padding:.45rem 0;border-top:1px solid #f5ebe0;font-size:.86rem}.rooms-dup-tag{-webkit-margin-end:.35rem;margin-inline-end:.35rem;padding:.1rem .45rem;background:#e8f7ef;color:#0f5a40;font-size:.72rem}.rooms-dup-badge,.rooms-dup-tag{display:inline-block;border-radius:999px;font-weight:800}.rooms-dup-badge{-webkit-margin-start:.35rem;margin-inline-start:.35rem;padding:.08rem .4rem;background:#fff3cd;color:#9a6700;font-size:.68rem;vertical-align:middle}.rooms-dup-actions{gap:.45rem;flex-wrap:wrap}.rooms-dup-actions,.rooms-merge-btn{display:inline-flex;align-items:center}.rooms-merge-btn{gap:.25rem;border:1px solid #b8ddd6;background:#eefaf7;color:#0f5c52;border-radius:.55rem;padding:.28rem .55rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.rooms-merge-btn:hover:not(:disabled){background:#dff3ef}.rooms-merge-btn:disabled{opacity:.45;cursor:not-allowed}.rooms-merge-btn--group{margin:.35rem 0 .55rem;padding:.4rem .75rem}.rooms-merge-btn--inline{-webkit-margin-end:.35rem;margin-inline-end:.35rem}.rooms-merge-icon{font-size:.9rem;line-height:1}.btn-ghost.is-on{border-color:var(--teal);color:var(--teal);background:#eef8f7}tr.row-overlap td{box-shadow:inset 0 0 0 9999px rgba(255,247,230,.2)}.link-ok{color:#1f6b4a}.link-danger{color:var(--danger)}.req{color:#b42318;font-weight:800}.check{display:flex;align-items:flex-start;gap:.45rem;font-weight:600;font-size:.86rem;color:var(--ink)}.check input{margin-top:.2rem}.duration-picker{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.duration-picker button{border:1px solid #c8d6e4;background:#fff;border-radius:999px;padding:.35rem .85rem;font-weight:700;cursor:pointer;color:var(--ink)}.duration-picker button.is-on{background:var(--teal);border-color:var(--teal);color:#fff}.banner-ok{background:#e8f5f2;color:var(--ok);border:1px solid #b4d7c4;border-radius:8px;padding:.55rem .75rem;font-weight:700}.alert-warn{background:#fff7e6;color:#9a6700;border:1px solid #f0d39a;border-radius:8px;padding:.65rem .85rem;font-weight:600;margin-bottom:.65rem}.conflict-tip{position:fixed;z-index:4000;transform:translateX(-50%);max-width:min(360px,90vw);background:#0b2744;color:#fff;border-radius:8px;padding:.55rem .7rem;font-size:.72rem;box-shadow:var(--shadow-lg);pointer-events:none}.conflict-tip ul{margin:.35rem 0 0;-webkit-padding-start:1.1rem;padding-inline-start:1.1rem}.conflict-tip li{margin:.15rem 0}.room-number-btn{border:0;background:transparent;color:var(--teal);font-weight:800;cursor:pointer;padding:0;font:inherit}.room-number-btn:hover{text-decoration:underline}.rooms-page .row-actions{gap:.55rem}.students-page .sch-table.students-table .stu-name{font-weight:600;font-size:inherit;max-width:14rem}.students-page .sch-table.students-table .row-actions{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}.students-page .students-mini-modal{max-width:420px;width:min(420px,94vw)}.students-page .students-mini-modal .modal-head h2{font-size:1.05rem}.students-page .students-mini-modal .filters{display:grid;grid-gap:.65rem;gap:.65rem;margin-bottom:.85rem}.students-page .m-data-card__foot{display:flex;gap:.85rem;margin-top:.55rem;padding-top:.45rem;border-top:1px solid #e8eef5}.scope-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem;background:#fff;border:1px solid #c8d6e4;border-radius:8px;padding:.3rem}.scope-tabs button{flex:1 1 100px;border:0;background:transparent;padding:.55rem .75rem;border-radius:6px;font-weight:800;cursor:pointer;color:var(--muted)}.scope-tabs button.is-on{background:var(--ink);color:#fff}.faculty-filters .check.inline{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;padding:0 .35rem}.faculty-scope-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem .7rem;margin-bottom:.75rem}.faculty-scope-bar .field{display:flex;flex-direction:column;gap:.2rem;min-width:9.5rem;margin:0;font-size:.78rem;font-weight:600;color:var(--muted)}.faculty-scope-bar .field input,.faculty-scope-bar .field select{min-height:38px;border:1px solid #c8d6e4;border-radius:8px;padding:.35rem .55rem;font-weight:600;color:var(--ink);background:#fff}.faculty-scope-bar .faculty-search-field{min-width:12rem;flex:1 1 12rem}.faculty-scope-bar .faculty-unassigned-check{align-self:center;margin-top:1.1rem}.crs-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.crs-chips button{border:1px solid #c8d6e4;background:#fff;border-radius:999px;padding:.35rem .75rem;font-weight:700;cursor:pointer;font-size:.78rem;color:var(--ink)}.crs-chips button.is-on{background:#e8f1fa;border-color:#7aa0c4;color:#143a5c}.fac-detail{width:min(820px,96vw);max-height:min(92vh,900px)}.fac-detail--actions{width:min(440px,94vw);max-height:none}.fac-detail__body{padding-top:.35rem;padding-bottom:1.1rem}.fac-detail__cta{gap:.65rem}.fac-detail__btn,.fac-detail__cta{display:flex;flex-direction:column}.fac-detail__btn{align-items:flex-start;gap:.18rem;width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid transparent;cursor:pointer;text-align:right;transition:transform .12s ease,box-shadow .15s ease,filter .12s ease}.fac-detail__btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.fac-detail__btn-label{font-size:.92rem;font-weight:800;line-height:1.35}.fac-detail__btn-hint{font-size:.72rem;font-weight:600;opacity:.82}.fac-detail__btn--primary{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;box-shadow:0 10px 22px rgba(13,148,136,.22)}.fac-detail__btn--accent{background:linear-gradient(135deg,#0b2744,#123a5c);color:#fff;border-color:rgba(196,163,90,.45);box-shadow:0 10px 22px rgba(11,39,68,.2)}.fac-detail__btn--ghost{background:#fff;color:#0b2744;border-color:#d5dee8;box-shadow:0 6px 16px rgba(11,39,68,.06)}.fac-detail__btn--ghost .fac-detail__btn-hint{opacity:.65}.fac-row-actions{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.55rem}.fac-row-actions,.fac-row-actions .link{white-space:nowrap}.fac-merge{width:min(560px,96vw)}.fac-merge__body{display:flex;flex-direction:column;gap:1rem}.fac-merge__intro{margin:0;line-height:1.5}.fac-merge__section{display:flex;flex-direction:column;gap:.5rem}.fac-merge__label{margin:0;font-size:.82rem;font-weight:800;color:var(--ink)}.fac-merge__picked{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;padding:.65rem .75rem;border-radius:10px;background:#e8f5f0;border:1px solid #9fd4c0}.fac-merge__list{gap:.35rem;max-height:min(220px,38vh);overflow:auto;border:1px solid #d8e2ec;border-radius:10px;padding:.35rem;background:#fafcfd}.fac-merge__item,.fac-merge__list{display:flex;flex-direction:column}.fac-merge__item{align-items:flex-start;gap:.1rem;width:100%;text-align:right;border:1px solid transparent;background:#fff;border-radius:8px;padding:.55rem .65rem;cursor:pointer;font:inherit;color:var(--ink)}.fac-merge__item:hover{border-color:#b8d4e8;background:#f4f9fc}.fac-merge__item.is-on{border-color:var(--teal);background:#e8f5f0;box-shadow:inset 0 0 0 1px var(--teal)}.fac-merge__summary{padding:.65rem .75rem;border-radius:10px;background:#fff8e6;border:1px solid #e8d08a;font-size:.88rem;line-height:1.55}.fac-merge__summary p{margin:0}.fac-merge__foot{display:flex;gap:.5rem;justify-content:flex-end}.fac-detail__head{display:flex;align-items:center;gap:.75rem}.fac-avatar{width:48px;height:48px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem;flex:0 0 auto}.fac-detail__actions{display:flex;flex-wrap:wrap;gap:.45rem}.fac-detail__actions .btn-danger,.fac-detail__actions .btn-ghost,.fac-detail__actions .btn-primary{width:auto;min-height:40px}.fac-course-block{border:1px solid #e2e8ee;border-radius:8px;margin-top:.55rem;overflow:hidden}.fac-course-head{display:flex;justify-content:space-between;align-items:center;padding:.4rem .65rem;background:#f7fafc;border-bottom:1px solid #e2e8ee}.fac-course-block table{width:100%;border-collapse:collapse;font-size:.74rem}.fac-course-block td{padding:.28rem .55rem;border-bottom:1px solid #eef2f6}.rpt-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.65rem;gap:.65rem;margin-top:.35rem}.rpt-bar{position:relative;height:18px;min-width:72px;background:#eef2f6;border-radius:999px;overflow:hidden;border:1px solid #d5dee8}.rpt-bar span{display:block;height:100%;border-radius:inherit}.rpt-bar span.is-ok{background:#3d9b74}.rpt-bar span.is-mid{background:#c4a35a}.rpt-bar span.is-bad{background:#c45c4a}.rpt-bar em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:.65rem;font-weight:800;color:var(--ink)}.pill-contract{display:inline-flex;-webkit-margin-start:.35rem;margin-inline-start:.35rem;padding:.05rem .4rem;border-radius:999px;font-size:.62rem;font-weight:800;vertical-align:middle}.pill-contract.is-hourly{background:#e8f1fa;color:#143a5c}.pill-contract.is-special{background:#faf3e4;color:#7a5b1e}.pill-contract.is-part{background:#e7f5ef;color:#164a3b}.danger-text{color:#b42318;font-weight:800}.crs-page .crs-row-actions{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.65rem;white-space:nowrap}.crs-page .crs-row-actions .link{white-space:nowrap}.crs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.55rem;gap:.55rem;margin-bottom:.75rem}.crs-stats span{display:grid;grid-gap:.15rem;gap:.15rem;place-items:center;background:#fff;border:1px solid #c8d6e4;border-radius:8px;padding:.55rem .4rem;font-size:.78rem;font-weight:700;color:var(--muted)}.crs-stats strong{font-size:1.25rem;color:var(--ink)}.pill-warn{-webkit-margin-start:.3rem;margin-inline-start:.3rem;padding:.02rem .35rem;border-radius:999px;font-size:.62rem;background:#fff7e6;color:#9a6700;border:1px solid #f0d39a;vertical-align:middle}.pill-warn,.scope-badge{display:inline-flex;font-weight:800}.scope-badge{padding:.1rem .45rem;border-radius:999px;font-size:.68rem}.scope-university{background:#e8f1fa;color:#143a5c}.scope-college{background:#e7f5ef;color:#164a3b}.scope-program{background:#e8f5f2;color:#1a6b6b}.crs-chips em{font-style:normal;-webkit-margin-start:.25rem;margin-inline-start:.25rem;opacity:.85}.page-wide{max-width:none}.tt-wrap{overflow:auto}.timetable{width:100%;border-collapse:separate;border-spacing:0}.timetable thead th{color:#fff;text-align:center;position:-webkit-sticky;position:sticky;top:0;z-index:2}.modal-backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:default}.modal-sheet{position:relative;z-index:1;width:min(720px,96vw);max-height:min(88vh,820px);overflow:auto;background:#fff;border-radius:1rem;border:1px solid #e2e8f0;padding:1rem 1.1rem 1.15rem;box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.modal-head h2{margin:0;font-size:1.1rem}.modal-head p{margin:.25rem 0 0;color:var(--muted);font-size:.84rem;font-weight:600}.occ-modal.modal-root{align-content:center}.occ-legend{display:flex;flex-wrap:wrap;gap:.45rem;-webkit-margin-start:auto;margin-inline-start:auto;align-items:center}.occ-legend .leg{font-size:.75rem;padding:.2rem .5rem;border-radius:.4rem;border:1px solid var(--line-soft);background:#fff;color:var(--muted);font-weight:600}.occ-legend .leg.now{background:#fff7e6;border-color:#e2c06a}.occ-legend .leg.busy{background:#e7f4f4;border-color:var(--teal);color:var(--teal)}.occ-legend .leg.live{background:var(--teal);color:#fff;border-color:var(--teal)}.occ-legend .leg.temp{background:#eef6fb;border-color:#6a8fb8;color:#1e4f7a}.occ-day-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;margin:-.2rem 0 .45rem;padding:.35rem .4rem;border:1px solid #c8d6e4;border-radius:8px;background:#fff}.occ-day-tabs button{flex:0 0 auto;min-height:40px;border:1px solid rgba(11,39,68,.1);border-radius:.65rem;background:#fff;color:var(--ink);padding:.38rem .85rem;font-weight:800;cursor:pointer}.occ-day-tabs button.is-on{background:linear-gradient(135deg,var(--ink),var(--teal));border-color:rgba(26,107,107,.5);color:#fff}.occ-board{padding:.4rem!important;background:#fff;border:1px solid #c5d0dc;border-radius:8px}.occ-timetable{min-width:920px;border-radius:8px;overflow:hidden;table-layout:fixed}.occ-timetable thead th{background:#0b2744;font-weight:700;font-size:.7rem;padding:.4rem .3rem;border-bottom:1px solid #163a5c}.occ-timetable thead th.tt-today{background:linear-gradient(180deg,#1a6b6b,#248a8a);box-shadow:inset 0 -3px 0 rgba(196,163,90,.85)}.occ-timetable thead th.occ-hour-head.is-clickable{cursor:pointer}.occ-timetable thead th.occ-hour-head.is-clickable:hover{filter:brightness(1.12)}.occ-timetable td{padding:.35rem;height:280px;min-width:132px;vertical-align:top;background:linear-gradient(180deg,#ffffff,#f8fbfd);border-bottom:1px solid rgba(11,39,68,.06);border-left:1px solid rgba(11,39,68,.05)}.occ-timetable td.tt-now-cell{box-shadow:inset 0 0 0 2px rgba(196,163,90,.75);background:linear-gradient(180deg,#fff9ec,#fff3d6)!important}.occ-page .occ-timetable td{height:auto;min-height:520px}.occ-page .tt-stack{min-height:480px}.occ-page .tt-stack,.tt-stack{display:grid;grid-gap:.28rem;gap:.28rem}.tt-stack{min-height:252px}.tt-chip{display:grid;grid-gap:.05rem;gap:.05rem;padding:.2rem .3rem;border-radius:.35rem;background:#dff0f0;border:1px solid #b7d8d8;color:var(--ink);line-height:1.25;overflow:hidden}.tt-chip-room{font-size:.72rem;font-weight:800}.tt-chip-course,.tt-chip-doc,.tt-chip-room{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-chip-course,.tt-chip-doc{font-size:.68rem}.tt-chip-doc{color:#0b4f4f;font-weight:700}.tt-chip-course{color:var(--muted)}.occ-page .tt-chip.tt-empty-chip{background:linear-gradient(165deg,#fbeceb,#f3d4d0);border-color:#c45c4a;color:#8a3530}.occ-page .tt-chip.tt-empty-chip .tt-chip-doc{color:#9a3d32;font-weight:800}.occ-page .tt-more{display:block;width:100%;text-align:center;font-size:.72rem;font-weight:800;color:#1a6b6b;background:rgba(26,107,107,.08);border:0;border-radius:999px;padding:.12rem .4rem;cursor:pointer;font-family:inherit}.occ-page .tt-more.tt-more-empty{cursor:default;color:#8a9aaa;background:rgba(11,39,68,.05)}.occ-page .tt-chip.tone-teal{background:linear-gradient(165deg,#e4f6f4,#cfeae6);border-color:#7ebdb6}.occ-page .tt-chip.tone-sky{background:linear-gradient(165deg,#e8f1fb,#d4e4f5);border-color:#8aafd4}.occ-page .tt-chip.tone-gold{background:linear-gradient(165deg,#faf3e0,#f0e2bd);border-color:#d4b56a}.occ-page .tt-chip.tone-mint{background:linear-gradient(165deg,#eaf8ef,#d4eedc);border-color:#7cbc91}.occ-page .tt-chip.tone-coral{background:linear-gradient(165deg,#fceee9,#f5d9d0);border-color:#d4a090}.occ-page .tt-chip.tone-ink{background:linear-gradient(165deg,#e9eef4,#d5dde8);border-color:#8a9bb0}.occ-free-kicker{margin:0 0 .15rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:var(--sand-deep)}.occ-free-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:.5rem;gap:.5rem;max-height:min(52vh,420px);overflow:auto;padding:.15rem}.occ-free-tile{aspect-ratio:1;min-height:84px;display:grid;place-content:center;grid-gap:.2rem;gap:.2rem;text-align:center;border-radius:.8rem;border:1.5px solid #9ad0c9;background:linear-gradient(165deg,#e7f6f4,#d3efe9);color:#0f5c52;padding:.35rem .3rem;cursor:pointer;font-family:inherit}.occ-free-tile strong{font-size:.82rem;font-weight:800;line-height:1.2}.occ-free-tile em{font-style:normal;font-size:.62rem;font-weight:700;opacity:.72}.occ-duration-picker{display:flex;flex-wrap:wrap;gap:.45rem;margin:.35rem 0 .75rem}.occ-duration-picker button{min-width:82px;border:1px solid #b8c7d3;background:#fff;color:#17324d;border-radius:.5rem;padding:.48rem .7rem;font-weight:800;cursor:pointer}.occ-duration-picker button.is-on{border-color:#1a6b6b;background:#e7f6f4;color:#0f5c52}.occ-more-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.45rem;gap:.45rem;max-height:min(60vh,480px);overflow:auto}.occ-page .occ-toolbar{align-items:center}.empty,.empty.card{padding:1.25rem;text-align:center;color:var(--muted);font-weight:700;background:#fff;border:1px dashed var(--line-soft);border-radius:var(--radius)}.daily-page .daily-grid.occ-timetable td{height:auto!important;min-height:0!important;padding:.4rem;vertical-align:middle;background:#f4f7fa}.daily-page .daily-grid.occ-timetable th.tt-time{width:4.2rem;padding:.55rem .3rem;font-size:.78rem}.daily-page .daily-grid.occ-timetable thead th{padding:.45rem .3rem;font-size:.78rem}.daily-page .tt-dash{min-height:0;height:2.55rem;color:#b0bec8;background:transparent}.daily-kicker{margin:0 0 .15rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:var(--sand-deep)}.daily-kpi-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.45rem}.daily-kpi{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .55rem;border-radius:7px;border:1px solid #b3c9de;background:#e8f1fa;min-height:34px}.daily-kpi--teal{background:#e7f5ef;border-color:#b4d7c4}.daily-kpi--sand{background:#faf3e4;border-color:#e2cc96}.daily-kpi--ink{background:#e8f1fa;border-color:#b3c9de}.daily-kpi strong{font-size:.84rem;font-weight:800}.daily-kpi span{font-size:.72rem;font-weight:600;opacity:.85}.daily-grid .tt-time{background:#0b2744;color:#fff;font-size:.75rem;font-weight:800}.daily-free-cell{vertical-align:middle!important;background:#fff!important}.daily-cell-stack{display:grid;grid-gap:.28rem;gap:.28rem;align-content:center;min-height:0}.daily-cell-btn{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:.5rem;column-gap:.5rem;grid-row-gap:.06rem;row-gap:.06rem;align-items:center;border:1px solid #9ecfc6;background:linear-gradient(145deg,#eefaf7,#d8f0ea);border-radius:.65rem;padding:.42rem .5rem;cursor:pointer;text-align:right;font-family:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.daily-cell-btn:hover{background:linear-gradient(145deg,#e4f7f2,#c8ebe3);border-color:#1a6b6b;box-shadow:0 4px 12px rgba(26,107,107,.12);transform:translateY(-1px)}.daily-cell-btn strong{grid-row:1/3;grid-column:1;font-size:1.15rem;line-height:1;color:#0f5c52;font-weight:900;min-width:1.5rem}.daily-cell-btn span{grid-column:2;font-size:.72rem;color:#1a6b6b;font-weight:800}.daily-cell-btn small{display:none}.daily-cell-btn em{grid-column:2;font-style:normal;font-size:.62rem;color:#5a7380;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-cell-on{outline:2px solid var(--teal);outline-offset:-2px}.daily-has-temp{background:linear-gradient(160deg,#fff8f0,#fff)!important}.daily-temp-chip{width:100%;text-align:right;cursor:pointer;font-family:inherit;padding:.35rem .45rem;border-radius:.55rem;background:linear-gradient(165deg,#fff6e8,#f5e6c8)!important;border:1px dashed #d4b06a!important}.daily-temp-chip em{font-style:normal;font-size:.62rem;color:#8a7040}.daily-tag{display:inline-flex;border-radius:999px;padding:.1rem .42rem;font-size:.66rem;font-weight:700;border:1px solid transparent}.daily-tag--sand{background:#faf4e6;color:#8f7130;border-color:rgba(196,163,90,.45)}.daily-tag--ink{background:#eaf1f8;color:#143a5c;border-color:rgba(11,39,68,.18)}.daily-book-sheet{width:min(760px,100%);padding:0;overflow:auto;max-height:min(92vh,920px);display:flex;flex-direction:column}.daily-book-sheet:before{content:"";display:block;height:5px;background:linear-gradient(90deg,#1a6b6b,#c4a35a 55%,#0b2744)}.daily-book-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.95rem 1.1rem .7rem}.daily-book-head h2{margin:0;font-size:1.18rem;font-weight:800}.daily-book-head p{margin:.18rem 0 0;color:var(--muted);font-size:.78rem;font-weight:600}.daily-book-close{width:34px;height:34px;border-radius:999px;border:1px solid #e4ebf2;background:#f8fafc;cursor:pointer;font-size:1.2rem}.daily-book-picked{margin:0 1.1rem .7rem;display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:.8rem;background:#f6faf9;border:1px solid #d7ebe8}.daily-book-picked strong{display:block;font-size:.88rem}.daily-book-picked__time{color:#0f5c5c;font-weight:800;white-space:nowrap}.daily-book-picked em{display:block;font-style:normal;font-size:.72rem;color:var(--muted);font-weight:600}.daily-sq-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.daily-sq--teal,.daily-sq-dot.daily-sq--teal{background:#1a6b6b}.daily-sq--violet,.daily-sq-dot.daily-sq--violet{background:#7c5cbf}.daily-sq--rose,.daily-sq-dot.daily-sq--rose{background:#c45c7a}.daily-sq--amber,.daily-sq-dot.daily-sq--amber{background:#c4892a}.daily-sq--gold,.daily-sq-dot.daily-sq--gold{background:#c4a35a}.daily-sq--sky,.daily-sq-dot.daily-sq--sky{background:#4a8bb8}.daily-book-rooms{margin:0 1.1rem .75rem;padding:.7rem;border:1px solid #e6edf4;border-radius:.85rem;background:#fbfcfd}.daily-book-rooms__bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;font-weight:800;font-size:.82rem}.daily-book-rooms__bar select{max-width:180px}.daily-book-rooms__empty{margin:.35rem 0 0;font-size:.82rem;color:var(--muted);font-weight:600;text-align:center;padding:.75rem .5rem}.daily-book-groups{display:grid;grid-gap:.75rem;gap:.75rem;max-height:280px;overflow:auto;padding-left:2px}.daily-book-group__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem;padding:.28rem .45rem;border-radius:.5rem;background:rgba(26,107,107,.08);border:1px solid rgba(26,107,107,.16);color:#0f5c52}.daily-book-group__head strong{font-size:.78rem;font-weight:800}.daily-book-group__head span{font-size:.7rem;font-weight:800;min-width:1.4rem;text-align:center;padding:.1rem .4rem;border-radius:999px;background:rgba(26,107,107,.14)}.daily-book-group__head--practical{background:rgba(124,92,191,.08);border-color:rgba(124,92,191,.18);color:#4a2f8a}.daily-book-group__head--practical span{background:rgba(124,92,191,.14)}.daily-book-squares{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));grid-gap:.45rem;gap:.45rem}.daily-sq{aspect-ratio:16/10;min-height:58px;max-height:72px;display:grid;place-content:center;grid-gap:.12rem;gap:.12rem;text-align:center;border-radius:.65rem;border:1.5px solid #9ad0c9;background:linear-gradient(165deg,#e7f6f4,#d3efe9);color:#0f5c52;padding:.35rem .4rem;cursor:pointer;font-family:inherit}.daily-sq--violet{background:linear-gradient(165deg,#f0eafb,#e0d4f5);border-color:#b39ddb;color:#4a2f8a}.daily-sq--rose{background:linear-gradient(165deg,#fce8ef,#f5d0dc);border-color:#e0a0b4;color:#8a3050}.daily-sq--amber{background:linear-gradient(165deg,#fff4e0,#ffe4b8);border-color:#e0b870;color:#8a5a18}.daily-sq--gold{background:linear-gradient(165deg,#faf3e0,#f0e2bd);border-color:#d4b56a;color:#6a4f18}.daily-sq--sky{background:linear-gradient(165deg,#e8f1fb,#d4e4f5);border-color:#8aafd4;color:#1a3f66}.daily-sq.is-on{box-shadow:0 0 0 2px var(--teal);border-color:var(--teal)}.daily-sq strong{font-size:.78rem;font-weight:800;line-height:1.2}.daily-sq em{font-style:normal;font-size:.6rem;opacity:.75;font-weight:700}.daily-book-form{padding:0 1.1rem 1.1rem;display:grid;grid-gap:.75rem;gap:.75rem}.daily-mode-pills{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.daily-mode-pills button{border:1px solid #c8d6e4;background:#fff;border-radius:.65rem;padding:.7rem .85rem;font-weight:800;cursor:pointer;font-family:inherit}.daily-mode-pills button.is-on{background:#1a6b6b;color:#fff;border-color:#1a6b6b}.daily-mode-pills button.is-on.gold{background:linear-gradient(135deg,#8f7130,#c4a35a);border-color:#8f7130}.daily-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.daily-field{display:flex;flex-direction:column;gap:.3rem;font-weight:700;font-size:.82rem}.daily-field input,.daily-field select{border:1px solid var(--line-soft);border-radius:.55rem;padding:.5rem .65rem;background:#fff;font:inherit}.daily-field--full{grid-column:1/-1}.daily-book-actions,.row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.row-actions{align-items:center}.link{border:0;background:transparent;color:var(--teal);font-weight:700;cursor:pointer;font:inherit;text-decoration:underline}.link.danger{color:var(--danger)}.tt-dash{display:grid;place-items:center;min-height:64px;color:#8a9aaa;font-weight:700}@media (max-width:640px){.daily-book-grid{grid-template-columns:1fr}}.special-halls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.85rem;gap:.85rem;margin-top:.5rem}.special-hall-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem 1.1rem;border:1px solid #dbe3ee;border-radius:.85rem;background:linear-gradient(165deg,#f8fafc,#eef4fb);text-align:start;cursor:pointer;font-family:inherit;transition:border-color .15s ease,transform .15s ease}.special-hall-card:hover{border-color:#64748b;transform:translateY(-1px)}.special-hall-icon{font-size:1.15rem;color:var(--teal);font-weight:800}.special-hall-name{font-size:1.02rem;font-weight:800;color:var(--ink)}.special-hall-meta{font-size:.82rem;color:var(--muted);font-weight:600}.special-hall-cta{margin-top:.35rem;font-size:.78rem;font-weight:800;color:var(--teal)}.special-book-sheet{width:min(560px,96vw)}.live-head h1{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1.4rem}.live-pulse__dot{width:10px;height:10px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 0 rgba(220,38,38,.55);animation:live-pulse 1.4s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.55)}70%{box-shadow:0 0 0 10px rgba(220,38,38,0)}to{box-shadow:0 0 0 0 rgba(220,38,38,0)}}.live-clock{margin:.25rem 0 0;font-weight:800;color:var(--ink)}.live-sub{margin:.2rem 0 0;color:var(--muted);font-size:.82rem;font-weight:600}.live-kpi-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:.65rem 0 .75rem}.live-kpi{position:relative;flex:1 1 140px;min-width:120px;padding:.55rem .7rem;border-radius:.65rem;border:1px solid #c8d6e4;background:#fff}.live-kpi--green{border-color:#86c9a8;background:#eef8f2;color:#166534}.live-kpi--vacant{border-color:#93c5fd;background:#eff6ff;color:#1e40af}.live-kpi--purple{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}.live-kpi--yellow{border-color:#fcd34d;background:#fffbeb;color:#92400e}.live-kpi--red{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.live-kpi--gold{border-color:#e2cc96;background:#faf3e4;color:#8f7130}.live-kpi__value{font-size:1.25rem;font-weight:800;line-height:1.2}.live-kpi__label{font-size:.75rem;font-weight:700;opacity:.9}.live-stat__tip{display:none;position:absolute;z-index:30;inset-inline-start:0;top:calc(100% + 6px);min-width:220px;max-width:280px;padding:.55rem .65rem;border-radius:.55rem;background:#0b2744;color:#fff;font-size:.72rem;box-shadow:var(--shadow-lg)}.live-kpi:focus .live-stat__tip,.live-kpi:hover .live-stat__tip{display:block}.live-stat__tip ul{margin:0;padding:0;list-style:none;display:grid;grid-gap:.35rem;gap:.35rem}.live-stat__tip b{display:block}.live-stat__tip span{opacity:.85}.live-mid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.85rem}.live-panel{background:#fff;border:1px solid #dbe3ee;border-radius:.85rem;padding:.85rem}.live-panel h2{margin:0 0 .55rem;font-size:.95rem}.live-panel--busy{border-color:#86c9a8}.live-panel--free{border-color:#93c5fd}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.5rem;gap:.5rem}.live-card{border:1px solid #cfe8dc;background:#f3faf6;border-radius:.65rem;padding:.55rem .65rem}.live-card__room{font-weight:800;color:#166534}.live-card__course,.live-card__doc,.live-card__meta{font-size:.78rem;color:#3f5a63;font-weight:600}.live-soon{margin:0;padding:0;list-style:none;display:grid;grid-gap:.45rem;gap:.45rem}.live-soon li{display:grid;grid-gap:.1rem;gap:.1rem;padding:.45rem .55rem;border-radius:.5rem;background:#eff6ff;border:1px solid #bfdbfe}.live-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:0 .85rem .75rem;font-size:.78rem;font-weight:700;color:var(--muted)}.live-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;-webkit-margin-end:.3rem;margin-inline-end:.3rem;vertical-align:middle}.dot-occ{background:#16a34a}.dot-no{background:#dc2626}.dot-wait{background:#eab308}.dot-free{background:#60a5fa}.dot-sub{background:#a16207}.live-building{margin:0 .85rem 1rem}.live-building h3{margin:0 0 .45rem;font-size:.95rem;color:var(--ink)}.live-floor{display:flex;gap:.55rem;align-items:flex-start;margin-bottom:.45rem}.live-floor em{flex:0 0 72px;font-style:normal;font-size:.75rem;font-weight:800;color:var(--muted);padding-top:.35rem}.live-chips{display:flex;flex-wrap:wrap;gap:.35rem;flex:1 1}.live-chip{min-width:64px;min-height:40px;padding:.35rem .55rem;border-radius:.5rem;border:1.5px solid #93c5fd;background:#eff6ff;color:#166534;font-weight:800;font-size:.78rem;cursor:pointer;font-family:inherit}.live-chip.is-occupied{border-color:#16a34a;background:#dcfce7;color:#14532d}.live-chip.is-awaiting{border-color:#eab308;background:#fef9c3;color:#854d0e}.live-chip.is-unconfirmed{border-color:#dc2626;background:#fee2e2;color:#991b1b}.live-chip.is-vacant{border-color:#93c5fd;background:#eff6ff;color:#166534}.live-chip-tip{position:fixed;transform:translate(-50%,-110%);z-index:4000;pointer-events:none;padding:.45rem .65rem;border-radius:.5rem;background:#0b2744;color:#fff;font-size:.78rem;max-width:240px}.live-chip-tip em{display:block;font-style:normal;opacity:.75;margin-top:.15rem}.live-qr-sheet{width:min(420px,96vw)}.live-qr-body{display:grid;place-items:center;grid-gap:.75rem;gap:.75rem;padding:.5rem 1rem 1.1rem;text-align:center}.live-qr-code{font-size:.72rem;word-break:break-all;background:#f1f5f9;padding:.35rem .55rem;border-radius:.4rem}.makeup-btn-sub{border-color:#93c5fd!important;color:#1e40af!important}.makeup-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 .75rem}.makeup-tabs button{border:1px solid #c8d6e4;background:#fff;border-radius:999px;padding:.4rem .9rem;font-weight:800;cursor:pointer;font-family:inherit}.makeup-tabs button.is-on{background:linear-gradient(135deg,var(--ink),var(--teal));color:#fff;border-color:transparent}.makeup-tag{display:inline-flex;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:800;border:1px solid transparent}.makeup-tag--mk{background:#e7f5ef;color:#166534;border-color:#b4d7c4}.makeup-tag--sub{background:#eff6ff;color:#1e40af;border-color:#93c5fd}.makeup-sheet{width:min(720px,96vw)}.makeup-kind-pills{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-bottom:.85rem}.makeup-kind-pills button{border:1px solid #c8d6e4;background:#fff;border-radius:.65rem;padding:.7rem;font-weight:800;cursor:pointer;font-family:inherit}.makeup-kind-pills button.is-on{background:#1a6b6b;color:#fff;border-color:#1a6b6b}.makeup-kind-pills button.is-on.is-sub{background:#1e40af;border-color:#1e40af}.reports-page{--rpt-ink:#1a2b3a;--rpt-muted:#6b7f93;--rpt-line:#e4ebf2}.reports-page .page-head h1{font-size:1.35rem;letter-spacing:-.02em}.reports-page .page-head p{font-size:.78rem;color:var(--rpt-muted)}.reports-page .page-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.reports-page .page-actions .btn-ghost,.reports-page .page-actions .btn-primary{min-height:36px;padding:.35rem .75rem;font-size:.78rem}.rpt-tabs{display:flex;flex-wrap:wrap;gap:.28rem;margin-bottom:.55rem}.rpt-tabs button{border:1px solid #d5dee6;background:#fff;padding:.28rem .62rem;border-radius:999px;cursor:pointer;font-weight:650;font-size:.72rem;color:#3f5a63;font-family:inherit}.rpt-tabs button.is-on{background:#e8f1fa;color:#143a5c;border-color:#b3c9de}.rpt-date{display:inline-flex;align-items:center;gap:.3rem;color:var(--rpt-muted)}.rpt-date,.rpt-date input{font-size:.72rem;font-weight:650}.rpt-date input{min-width:min(128px,100%);border:1px solid #c8d6e4;border-radius:6px;padding:.22rem .45rem;min-height:34px;background:#fff;color:var(--rpt-ink)}.rpt-seg{display:inline-flex;gap:.15rem;padding:.15rem;background:#eef3f4;border-radius:.5rem;border:1px solid var(--line-soft);margin-bottom:.4rem}.rpt-seg button{border:0;background:transparent;padding:.28rem .55rem;border-radius:.35rem;cursor:pointer;font-weight:700;font-size:.72rem;color:#3f5a63;font-family:inherit}.rpt-seg button.is-on{background:#fff;color:var(--teal)}.rpt-note{margin:0 0 .45rem;font-size:.7rem;color:#7a8a94;font-weight:600}.rpt-section{margin-top:.25rem}.reports-page .rpt-filters.toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.55rem}.reports-page .rpt-filters select{border:1px solid #c8d6e4;border-radius:6px;padding:.22rem .45rem;min-height:34px;background:#fff;font-size:.72rem;font-weight:650;color:var(--rpt-ink);min-width:120px}.reports-page .stat-row,.reports-page .stat-row.is-stack{gap:.4rem;margin-bottom:.55rem}.reports-page .stat{padding:.35rem .65rem;font-size:.72rem;font-weight:700;border-radius:.55rem;min-height:0}.reports-page .table-wrap.card{border-radius:10px;border-color:var(--rpt-line);box-shadow:0 1px 0 rgba(11,39,68,.03)}.reports-page table.data{font-size:.72rem;line-height:1.35}.reports-page table.data td,.reports-page table.data th{padding:.32rem .45rem;border-bottom-color:var(--rpt-line);vertical-align:middle}.reports-page table.data th{font-size:.68rem;font-weight:750;letter-spacing:.01em;color:#4a6274;background:#f5f8fb;white-space:nowrap}.reports-page table.data td{font-weight:550;color:var(--rpt-ink)}.reports-page table.data tbody tr:nth-child(2n) td{background:#fafcfd}.reports-page table.data tbody tr:hover td{background:#f0f7f6}.reports-page .rpt-course-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid #1a4a66}.reports-page table.rpt-course-table{min-width:1360px;font-size:.72rem;border-collapse:separate;border-spacing:0}.reports-page table.rpt-course-table thead th{background:#0f3a55!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.18);-webkit-border-end:1px solid rgba(255,255,255,.1);border-inline-end:1px solid rgba(255,255,255,.1);font-weight:800;text-shadow:0 1px 0 rgba(0,0,0,.15)}.reports-page table.rpt-course-table thead tr:first-child th{white-space:normal;line-height:1.25;vertical-align:middle;padding:.55rem .4rem}.reports-page table.rpt-course-table thead tr:nth-child(2) th{font-size:.66rem;font-weight:750;background:#1a5a7a!important;color:#fff!important;padding:.4rem .35rem}.reports-page table.rpt-course-table tbody td{-webkit-border-end:1px solid #e6eef4;border-inline-end:1px solid #e6eef4}.reports-page .rpt-comp-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.15rem .45rem;border-radius:999px;background:#c45c26;color:#fff;font-weight:800;font-size:.75rem}.reports-page .rpt-bar{height:14px;min-width:64px;border-radius:999px}.reports-page .rpt-bar em{font-size:.62rem;font-weight:800}.reports-page .danger-text{font-size:.7rem;font-weight:800}@media print{.app-topbar,.no-print,.reports-page .page-actions,.rpt-tabs,.sidebar{display:none!important}}.users-filters{margin-bottom:.75rem}.users-filters input{width:100%;border:1px solid #c8d6e4;border-radius:8px;padding:.55rem .75rem;min-height:42px;font-weight:700;background:#fff}.users-form{margin-bottom:1rem;border-top:3px solid var(--teal)}.users-form .card-title{margin:0 0 .35rem;font-size:1.05rem}.alert-info{background:#e8f1fa;border:1px solid #b3c9de;color:#143a5c;border-radius:8px}.alert-danger,.alert-info{padding:.55rem .75rem;font-size:.82rem;font-weight:700}.alert-danger{background:#fdecea;border:1px solid #e8b8ae;color:#8a3a30;border-radius:8px}.users-form .form-grid,.users-form.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.users-form .field{display:flex;flex-direction:column;gap:.3rem;font-weight:700;font-size:.82rem}.users-form .field input,.users-form .field select{border:1px solid #c8d6e4;border-radius:7px;padding:.4rem .55rem;min-height:42px;font-weight:700;background:#fff}.users-form .field-check{flex-direction:row;align-items:center;gap:.45rem}.users-perms-tools{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.45rem}.users-status-on{color:#166534;font-weight:800}.users-status-off{color:#8a3a30;font-weight:800}.users-page tr.is-muted{opacity:.55}.conflict-resolve-sheet{width:min(720px,96vw);max-height:min(92vh,900px)}.conflict-resolve{display:grid;grid-gap:.85rem;gap:.85rem;font-size:.84rem}.cr-diagnose{display:grid;grid-gap:.45rem;gap:.45rem;padding:.75rem .85rem;border-radius:8px;border:1px solid #e5d3a8;background:linear-gradient(135deg,#fffaf0,#f7f1e4)}.cr-diagnose-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem}.cr-diagnose-k{font-size:.72rem;color:#7a6540;font-weight:600}.cr-diagnose-v{font-size:.9rem;font-weight:800}.cr-diagnose-v--problem{color:#b42318}.cr-diagnose-v--solution{color:#0f6b4c}.cr-diagnose-course{margin:.25rem 0 0;font-size:.86rem;font-weight:700;color:#1a334d}.cr-diagnose-course span{display:inline-block;-webkit-margin-end:.4rem;margin-inline-end:.4rem;font-size:.68rem;font-weight:600;color:#6b7f93}.cr-diagnose-slot{margin:0;font-size:.74rem;color:#5a6f84;line-height:1.45}.cr-solutions{display:grid;grid-gap:.65rem;gap:.65rem}.cr-solutions-title{margin:0;font-size:.9rem;font-weight:800;color:#143a5c}.cr-solutions-lead{margin:.2rem 0 .55rem;font-size:.74rem;color:#5f7388}.cr-sol{border-radius:8px;border:1px solid transparent;overflow:hidden}.cr-sol--room{border-color:#bfd4f2;background:#f3f8ff}.cr-sol--time{border-color:#9fd6bf;background:#f0faf5}.cr-sol--day{border-color:#e2c48a;background:#fff8ea}.cr-sol-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.55rem .7rem .35rem}.cr-sol-head h4{margin:0;font-size:.86rem;font-weight:800}.cr-sol--room .cr-sol-head h4{color:#1d4f91}.cr-sol--time .cr-sol-head h4{color:#0f6b4c}.cr-sol--day .cr-sol-head h4{color:#8a5a12}.cr-sol-head p{margin:.15rem 0 0;font-size:.7rem;color:#5f7388}.cr-sol-badge{flex-shrink:0;padding:.18rem .5rem;border-radius:999px;font-size:.64rem;font-weight:800;color:#fff!important}.cr-sol--room .cr-sol-badge{background:#1d4f91}.cr-sol--time .cr-sol-badge{background:#0f6b4c}.cr-sol--day .cr-sol-badge{background:#a56b16}.cr-details-table-wrap,.cr-sol-table-wrap{overflow-x:auto}.cr-details-table,.cr-sol-table{width:100%;border-collapse:collapse;font-size:.76rem}.cr-details-table th,.cr-sol-table th{text-align:start;padding:.36rem .62rem;font-size:.66rem;font-weight:800;color:#fff!important;background:#0b2744}.cr-details-table td,.cr-sol-table td{padding:.46rem .62rem;border-bottom:1px solid rgba(0,0,0,.05);vertical-align:middle;color:#243b53}.cr-sol--time tbody tr:hover{background:rgba(15,107,76,.08)}.cr-sol--day tbody tr:hover{background:rgba(138,90,18,.08)}.cr-sol--room tbody tr:hover{background:rgba(29,79,145,.08)}.cr-time-strong{color:#0f6b4c;font-size:.84rem}.cr-day-strong{color:#8a5a12;font-size:.84rem}.cr-pick{border:0;border-radius:999px;padding:.24rem .62rem;font-size:.68rem;font-weight:800;cursor:pointer;color:#fff!important;font-family:inherit}.cr-pick--room{background:#1d4f91}.cr-pick--time{background:#0f6b4c}.cr-pick--day{background:#a56b16}.cr-pick:hover{filter:brightness(1.06)}.cr-sol-empty{margin:0;padding:.65rem .85rem .85rem;font-size:.8rem;color:#6b7f93}.cr-details h3{margin:0 0 .45rem;font-size:.82rem;color:#1a334d}.cr-details-table{background:#fff;border:1px solid #e6edf5;border-radius:8px;overflow:hidden}.cr-details-table small{color:#6b7f93}.cr-details-more{margin:.4rem 0 0;font-size:.75rem;color:#6b7f93}.conflict-resolve-footer{display:flex;flex-wrap:wrap;gap:.5rem}.conflict-resolve-footer .btn-primary{flex:1 1;min-height:44px}.conflict-tag{display:inline-flex;padding:.1rem .4rem;border-radius:999px;font-size:.68rem;font-weight:800}.conflict-tag--room{background:#e8f1fa;color:#1d4f91}.conflict-tag--inst{background:#fdecea;color:#b42318}.sch-badge--btn,.sch-chip--btn{cursor:pointer;font:inherit;font-weight:inherit}.sch-chip--btn{border:0}.sch-badge--btn{border:0;font-family:inherit}.modal-sheet.room-week-sheet{width:min(52rem,calc(100vw - 1.5rem));max-height:min(92vh,920px);padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:1.1rem;border:2px solid rgba(196,163,90,.5);border-top:5px solid var(--sand);background:radial-gradient(ellipse 70% 40% at 100% 0,rgba(196,163,90,.16),transparent 55%),linear-gradient(180deg,#fffefb,#f4f7fb);box-shadow:var(--shadow-lg)}.rw-hero{display:flex;align-items:flex-start;gap:.9rem;padding:1.1rem 1.15rem .95rem}.rw-badge{flex-shrink:0;min-width:4.4rem;height:4.4rem;display:grid;place-items:center;border-radius:1.1rem;background:linear-gradient(160deg,#0b2744,#143a5c);color:#fff;font-size:1.35rem;font-weight:800;box-shadow:0 10px 22px rgba(11,39,68,.22)}.rw-hero-copy{min-width:0;flex:1 1}.rw-kicker{margin:0;font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--sand-deep)}.rw-hero-copy h2{margin:.15rem 0 0;font-size:1.28rem;font-weight:800;color:var(--ink);line-height:1.3}.rw-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0;padding:0;list-style:none}.rw-meta li{border-radius:999px;padding:.18rem .58rem;border:1.5px solid rgba(196,163,90,.45);color:var(--ink-2);font-size:.72rem}.rw-close,.rw-meta li{background:#fff;font-weight:700}.rw-close{flex-shrink:0;border:1.5px solid rgba(11,39,68,.14);color:var(--ink);border-radius:.7rem;min-height:40px;padding:.4rem .8rem;cursor:pointer;font-family:inherit}.rw-kpis{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 1.15rem .85rem}.rw-kpis article{display:inline-flex;flex-direction:row;align-items:baseline;gap:.35rem;padding:.28rem .55rem;min-height:34px;border-radius:7px;border:1px solid #c8d6e4;background:#f3f7fb}.rw-kpis span{font-size:.72rem;font-weight:600;opacity:.82}.rw-kpis strong{font-size:.84rem;line-height:1.2}.rw-kpis em{font-style:normal;font-size:.68rem;font-weight:600;opacity:.72}.rw-kpis .is-free{border-color:#b4d7c4;color:#164a3b;background:#e7f5ef}.rw-kpis .is-days{border-color:#e2cc96;color:#7a5b1e;background:#faf3e4}.rw-kpis .is-busy{border-color:#b3c9de;color:#143a5c;background:#e8f1fa}.rw-legend{display:flex;align-items:center;gap:.45rem;margin:0;padding:0 1.15rem .7rem;color:var(--muted);font-size:.75rem;font-weight:700}.rw-legend i{width:.7rem;height:.7rem;border-radius:.2rem;display:inline-block}.rw-legend i.is-free{background:#7dcdc0}.rw-legend i.is-busy{background:var(--ink)}.rw-lectures-clean{padding:0 1.15rem 1.15rem;display:grid;grid-gap:.75rem;gap:.75rem;max-height:52vh;overflow:auto}.rw-day-clean{border:1px solid #dce8e6;border-radius:.85rem;background:#fff;padding:.75rem .85rem}.rw-day-clean>header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.rw-day-clean>header strong{font-size:.95rem;color:var(--ink)}.rw-day-clean>header span{font-size:.75rem;font-weight:700;color:var(--muted)}.rw-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;padding:0 1.15rem 1.15rem;max-height:58vh;overflow:auto}.rw-day{display:grid;grid-gap:.45rem;gap:.45rem;padding:.8rem .85rem .75rem;border-radius:1rem;border:2px solid rgba(196,163,90,.38);background:#fff}.rw-day.is-free{border-color:rgba(26,107,107,.35);background:linear-gradient(180deg,#f4fbf9,#fff)}.rw-day.is-full{border-color:rgba(11,39,68,.28);background:linear-gradient(180deg,#f3f6fa,#fff)}.rw-day header{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.rw-day header strong{font-size:.98rem;color:var(--ink)}.rw-status{border-radius:999px;padding:.12rem .5rem;font-size:.68rem;font-weight:800;background:#eef3f8;color:var(--ink-2)}.rw-day.is-free .rw-status{background:#dff3ef;color:#0f5c52}.rw-day.is-full .rw-status{background:#e8eef5;color:var(--ink)}.rw-day.is-part .rw-status{background:#f7edcc;color:#7a5a12}.rw-bar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:.18rem;gap:.18rem;height:.72rem}.rw-bar i{display:block;height:100%;border-radius:.18rem;background:#9ed9d0}.rw-bar i.is-on{background:var(--ink)}.rw-bar-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:.68rem;font-weight:700}.rw-list{display:grid;grid-gap:.4rem;gap:.4rem;margin:.15rem 0 0;padding:0;list-style:none}.rw-list li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);grid-column-gap:.55rem;column-gap:.55rem;grid-row-gap:.05rem;row-gap:.05rem;padding:.4rem .5rem;border-radius:.7rem;background:#f7fafc;border:1px solid rgba(11,39,68,.06)}.rw-list b{grid-row:1/span 2;align-self:center;color:var(--teal);font-size:.82rem}.rw-list span{min-width:0;color:var(--ink);font-size:.8rem;font-weight:700;line-height:1.35}.rw-list em{min-width:0;font-style:normal;color:var(--muted);font-size:.72rem;font-weight:600}.rw-empty{margin:.1rem 0 0;color:var(--teal);font-size:.78rem;font-weight:700}.room-number-btn:hover{text-decoration:none;background:#dff3ef;border-radius:.4rem;padding:.1rem .35rem}@media (max-width:720px){.rw-hero{flex-wrap:wrap}.rw-close{-webkit-margin-start:auto;margin-inline-start:auto}.rw-days{grid-template-columns:1fr;max-height:50vh}}.activity-filters{display:grid;grid-gap:.65rem;gap:.65rem}.activity-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.activity-date{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted)}.activity-user-row{cursor:pointer}.activity-user-row:focus-visible,.activity-user-row:hover{background:rgba(26,107,107,.08);outline:2px solid rgba(26,107,107,.22);outline-offset:-2px}.activity-detail-sheet{display:flex;flex-direction:column;gap:.75rem;width:min(920px,96vw);max-height:min(88vh,780px)}.activity-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.65rem;border-bottom:1px solid rgba(11,39,68,.1)}.activity-detail-head h2{margin:0;font-size:1.1rem;color:var(--ink)}.activity-detail-head p{margin:.2rem 0 0;color:var(--muted);font-size:.82rem}.activity-timeline{display:grid;grid-gap:.6rem;gap:.6rem;max-height:min(58vh,34rem);overflow:auto;-webkit-padding-end:.15rem;padding-inline-end:.15rem}.activity-timeline-item{display:grid;grid-template-columns:minmax(9rem,13rem) minmax(0,1fr);grid-gap:.75rem;gap:.75rem;padding:.7rem;border:1px solid #dbe3ee;border-radius:8px;background:#fff}.activity-timeline-meta{display:grid;align-content:start;grid-gap:.2rem;gap:.2rem;color:var(--muted);font-size:.78rem}.activity-timeline-meta strong{color:var(--ink);font-size:.84rem}.activity-timeline-body{min-width:0}.activity-timeline-body strong{color:var(--ink)}.activity-timeline-body p{margin:.2rem 0 0;color:#334155;font-size:.86rem}.activity-change-list,.activity-timeline-body ul{margin:.45rem 0 0;-webkit-padding-start:1rem;padding-inline-start:1rem;color:#334155;font-size:.82rem}.activity-diff-to{color:#0f766e;font-style:normal;font-weight:700}@media (max-width:700px){.activity-timeline-item{grid-template-columns:1fr}}.card-title{margin:0 0 .75rem;font-size:1.02rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.fac-portal-home,.fac-portal-page{--fac-navy:#0b2744;--fac-teal-soft:#2a7676;--fac-gold:#c4a35a;--fac-mist:#f4f7fb;max-width:1000px;font-family:Cairo,IBM Plex Sans Arabic,Tahoma,sans-serif;-webkit-font-smoothing:antialiased}.fac-portal-home *,.fac-portal-page *{font-family:inherit}.fac-portal-home .page-head,.fac-portal-page .page-head{margin-bottom:1.15rem;padding:1rem 1.15rem 1.05rem;border-radius:14px;background:linear-gradient(135deg,rgba(196,163,90,.1),transparent 45%),linear-gradient(180deg,#fff,var(--fac-mist));border:1px solid rgba(11,39,68,.1);box-shadow:0 0 0 1px rgba(196,163,90,.22),0 12px 28px rgba(11,39,68,.06)}.fac-portal-home .page-head h1,.fac-portal-page .page-head h1{font-size:clamp(1.05rem,1.8vw,1.28rem);font-weight:500;letter-spacing:0;color:var(--fac-navy);line-height:1.3}.fac-portal-home .page-head p,.fac-portal-page .page-head p{margin-top:.28rem;color:#6b7c8c;font-size:.78rem;font-weight:400;line-height:1.45;max-width:46rem}.fac-portal-home .sch-table,.fac-portal-page .sch-table{margin-top:.45rem;border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(11,39,68,.12);box-shadow:0 0 0 1px rgba(196,163,90,.18),0 14px 32px rgba(11,39,68,.07)}.fac-portal-home .sch-table table,.fac-portal-page .sch-table table{width:100%;border-collapse:collapse;font-size:.78rem;font-weight:600}.fac-portal-home .sch-table td,.fac-portal-home .sch-table th,.fac-portal-page .sch-table td,.fac-portal-page .sch-table th{text-align:right;padding:.48rem .62rem;border:1px solid #dfe7ef;vertical-align:middle}.fac-portal-home .sch-table th,.fac-portal-page .sch-table th{color:#fff;font-weight:800;font-size:.72rem;background:linear-gradient(180deg,#123452,#0b2744);border-color:#163a5c;position:-webkit-sticky;position:sticky;top:0;z-index:1;white-space:nowrap}.fac-portal-home .sch-table tbody tr:nth-child(2n) td,.fac-portal-page .sch-table tbody tr:nth-child(2n) td{background:#f6f9fc}.fac-portal-home .sch-table tbody tr:hover td,.fac-portal-page .sch-table tbody tr:hover td{background:#eef6f5}.fac-portal-home .sch-table .stu-name,.fac-portal-page .sch-table .stu-name{font-weight:500;color:var(--fac-teal-soft)}.fac-portal-home .sch-table .hint-soft,.fac-portal-page .sch-table .hint-soft{text-align:center;padding:1.15rem .85rem;color:#5b6b7c;font-size:.8rem;font-weight:600}.fac-portal-home .card,.fac-portal-page .card{border-radius:14px;background:#fff;border:1px solid rgba(11,39,68,.1);box-shadow:0 0 0 1px rgba(196,163,90,.2),0 14px 34px rgba(11,39,68,.06)}.fac-stat-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin:.1rem 0 .85rem}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .78rem;border-radius:999px;font-size:.76rem;font-weight:700;border:1px solid transparent;box-shadow:0 1px 3px rgba(11,39,68,.05)}.fac-portal-home .pill,.fac-portal-page .pill{gap:.25rem;padding:.28rem .55rem;border-radius:8px;font-size:.68rem;font-weight:400;box-shadow:none}.pill.teal{background:linear-gradient(180deg,#eef8f3,#e3f2eb);border-color:rgba(31,107,74,.2);color:#164a3b}.pill.sand{background:linear-gradient(180deg,#fbf6eb,#f5ead4);border-color:rgba(143,113,48,.28);color:#6f5220}.pill.ink{background:linear-gradient(180deg,#eef3f8,#e4ebf3);border-color:rgba(11,39,68,.16);color:#0b2744}.pill.ok{background:linear-gradient(180deg,#eaf8f0,#dcf3e6);border-color:rgba(20,83,45,.22);color:#14532d}.pill.warn{background:linear-gradient(180deg,#fff7eb,#ffefd6);border-color:rgba(146,64,14,.2);color:#92400e}.fac-eval-line{margin:-.55rem 0 1.15rem;color:#5b6b7c;font-size:.82rem;font-weight:600}.fac-dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.05rem;gap:1.05rem}.fac-dash-card{padding:1.1rem 1.15rem 1.2rem;border-radius:14px;border:1px solid rgba(11,39,68,.1);background:linear-gradient(165deg,rgba(196,163,90,.06),transparent 40%),linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 0 0 1px rgba(196,163,90,.16),0 12px 30px rgba(11,39,68,.06)}.fac-dash-card h2{margin:0 0 .9rem;font-size:.94rem;font-weight:800;color:var(--fac-navy);padding-bottom:.55rem;border-bottom:1px solid rgba(11,39,68,.08)}.fac-bars{display:flex;align-items:flex-end;gap:.5rem;min-height:148px}.fac-bar-col{flex:1 1;display:grid;grid-gap:.25rem;gap:.25rem;justify-items:center;font-size:.72rem;color:var(--muted);font-weight:600}.fac-bar-track{width:100%;height:108px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(11,39,68,.035),rgba(11,39,68,.06));border-radius:10px;overflow:hidden;border:1px solid rgba(11,39,68,.05)}.fac-bar-track span{display:block;width:100%;background:linear-gradient(180deg,var(--teal-bright),var(--teal));border-radius:6px 6px 0 0;min-height:4px}.fac-compare{display:grid;grid-gap:.8rem;gap:.8rem}.fac-compare>div{display:grid;grid-gap:.3rem;gap:.3rem}.fac-compare strong{font-size:.86rem;font-weight:700;color:var(--ink-2)}.fac-cmp-bar{display:block;height:11px;border-radius:999px;max-width:100%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.fac-cmp-bar.teal{background:linear-gradient(90deg,var(--teal),var(--teal-bright))}.fac-cmp-bar.sand{background:linear-gradient(90deg,var(--sand-deep),var(--sand))}.fac-cmp-bar.muted{background:#c9d4e0}.fac-dept-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.fac-dept-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;padding:.55rem .65rem;border-radius:.65rem;background:rgba(11,39,68,.03);border:1px solid rgba(11,39,68,.06)}.fac-dept-list strong{color:var(--ink);font-weight:700}.fac-dept-list span{color:var(--muted);font-weight:700;font-size:.82rem}.fac-seg{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;padding:.28rem;background:rgba(11,39,68,.04);border:1px solid rgba(11,39,68,.07);border-radius:999px}.fac-seg button,.fac-seg-sm button{border:1px solid transparent;background:transparent;border-radius:999px;padding:.45rem .95rem;font-weight:700;font-size:.84rem;cursor:pointer;color:var(--ink-2);transition:background .15s ease,color .15s ease,box-shadow .15s ease}.fac-seg button:hover,.fac-seg-sm button:hover{background:rgba(255,255,255,.85)}.fac-seg button.is-on,.fac-seg-sm button.is-on{background:linear-gradient(135deg,var(--ink-deep),var(--ink-2));color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(11,39,68,.22)}.fac-confirm-card,.fac-track-card{min-height:220px;padding:1.25rem 1.3rem 1.4rem;border-radius:16px;border:1px solid rgba(11,39,68,.1);background:linear-gradient(165deg,rgba(196,163,90,.07),transparent 42%),linear-gradient(180deg,#fff,#f7fafc);box-shadow:0 0 0 1px rgba(196,163,90,.2),0 16px 36px rgba(11,39,68,.07)}.fac-track-card h2{margin:0 0 .35rem;font-size:.98rem;font-weight:500;color:#1a3348;letter-spacing:0;font-family:Cairo,IBM Plex Sans Arabic,Tahoma,sans-serif}.fac-track-card .hint-soft{margin:0 0 .9rem;color:#6b7c8c;font-size:.78rem;line-height:1.55;max-width:52rem;font-weight:400}.fac-confirm-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-gap:.7rem;gap:.7rem}.fac-confirm-list li{display:flex;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem .95rem;border:1px solid rgba(11,39,68,.08);border-radius:.85rem;background:rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(11,39,68,.04)}.fac-confirm-list strong{font-size:.84rem;font-weight:500;color:var(--ink)}.fac-confirm-list span{display:block;color:var(--muted);font-size:.72rem;margin-top:.15rem;font-weight:400}.fac-session-grid{display:flex;flex-wrap:wrap;gap:.42rem;margin:.85rem 0 .55rem}.fac-session-grid button{width:2.35rem;height:2.35rem;border-radius:.7rem;border:1px solid rgba(11,39,68,.12);background:#fff;font-weight:800;font-size:.88rem;color:var(--ink-2);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.fac-session-grid button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(11,39,68,.1)}.fac-session-grid button.is-on{background:linear-gradient(145deg,var(--ink-deep),var(--ink-2));color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(11,39,68,.24)}.fac-session-grid button.is-done{background:linear-gradient(180deg,#e8faf0,#d5f5e3);border-color:rgba(22,101,52,.28);color:#14532d}.fac-session-grid button.is-on.is-done{background:linear-gradient(145deg,#14532d,#166534);color:#fff;border-color:transparent}.fac-legend{font-size:.78rem;color:var(--muted);margin:0 0 .9rem;font-weight:600;line-height:1.55}.fac-session-info{background:linear-gradient(135deg,rgba(11,39,68,.035),rgba(196,163,90,.07));border:1px solid rgba(11,39,68,.08);border-radius:.85rem;padding:.85rem .95rem;margin-bottom:1rem;font-size:.9rem;font-weight:700;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.fac-session-info .hint-soft{margin-top:.35rem;font-weight:600;color:var(--muted);font-size:.82rem;line-height:1.55}.fac-track-form{display:grid;grid-gap:.85rem;gap:.85rem}.fac-portal-home .field,.fac-portal-page .field{gap:.42rem;font-size:.88rem;font-weight:700;color:var(--ink-2)}.fac-portal-home .field input,.fac-portal-home .field select,.fac-portal-home .field textarea,.fac-portal-page .field input,.fac-portal-page .field select,.fac-portal-page .field textarea{border:1px solid rgba(11,39,68,.1);border-radius:.85rem;padding:.72rem .9rem;background:#f5f7f8;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.fac-portal-home .field input:focus,.fac-portal-home .field select:focus,.fac-portal-home .field textarea:focus,.fac-portal-page .field input:focus,.fac-portal-page .field select:focus,.fac-portal-page .field textarea:focus{outline:2px solid rgba(42,118,118,.35);border-color:#2a7676;background:#fff;box-shadow:0 0 0 3px rgba(42,118,118,.12)}.fac-portal-page .field input[readonly]{background:#eef2f5;color:var(--muted)}.fac-portal-home .btn-primary,.fac-portal-page .btn-primary{border-radius:.85rem;background:linear-gradient(105deg,#1a6b6b,#2a8480);color:#fff;box-shadow:0 8px 18px rgba(26,107,107,.28);font-weight:800}.fac-portal-home .btn-primary:hover:not(:disabled),.fac-portal-page .btn-primary:hover:not(:disabled){filter:brightness(1.04)}.fac-portal-home .table-wrap.card,.fac-portal-page .table-wrap.card{border:1px solid rgba(11,39,68,.08);box-shadow:0 10px 28px rgba(11,39,68,.06);overflow:hidden}.fac-portal-page .filters.card{padding:.85rem 1rem;border:1px solid rgba(11,39,68,.08);background:linear-gradient(180deg,#fff,#f7fafc)}@media (max-width:900px){.fac-dash-grid{grid-template-columns:1fr}.fac-portal-home,.fac-portal-page{max-width:none;font-family:Cairo,IBM Plex Sans Arabic,Tahoma,sans-serif;font-weight:400;font-size:.8rem;color:#2a3d4e;line-height:1.4}.fac-portal-home .page-head,.fac-portal-page .page-head{margin-bottom:.55rem;padding:.55rem .7rem;border-radius:10px;box-shadow:none;background:#fafbfc;border:1px solid #e6ecf2}.fac-portal-home .page-head h1,.fac-portal-page .page-head h1{font-size:.92rem!important;font-weight:500!important;letter-spacing:0}.fac-portal-home .page-head p,.fac-portal-page .page-head p{font-size:.68rem!important;font-weight:400!important;margin-top:.15rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fac-confirm-card,.fac-portal-home .card,.fac-portal-page .card,.fac-track-card{padding:.65rem .7rem!important;border-radius:10px!important;box-shadow:none!important;border:1px solid #e6ecf2!important;background:#fff!important}.fac-portal-home .field,.fac-portal-page .field{font-weight:400!important;font-size:.7rem!important;color:#6b7c8c;gap:.2rem}.fac-portal-home .field input,.fac-portal-home .field select,.fac-portal-home .field textarea,.fac-portal-home .m-filter-toggle input,.fac-portal-page .field input,.fac-portal-page .field select,.fac-portal-page .field textarea,.fac-portal-page .m-filter-toggle input{font-size:.84rem!important;font-weight:400!important;min-height:40px;padding:.4rem .6rem!important;border-radius:8px!important;background:#fafbfc!important;border-color:#dde5ee!important;box-shadow:none!important}.fac-portal-home .btn-ghost,.fac-portal-home .btn-primary,.fac-portal-page .btn-ghost,.fac-portal-page .btn-primary{min-height:42px!important;font-weight:500!important;font-size:.82rem!important;border-radius:8px!important;box-shadow:none!important}.fac-portal-home .pill,.fac-portal-page .pill{font-size:.65rem!important;font-weight:400!important;padding:.22rem .45rem!important}.fac-portal-home .m-card-list,.fac-portal-page .m-card-list{gap:.4rem!important}.fac-confirm-card .m-lecture-card,.fac-portal-home .m-data-card,.fac-portal-home .m-lecture-card,.fac-portal-page .m-data-card,.fac-portal-page .m-lecture-card{padding:.55rem .65rem!important;border-radius:8px!important;border:1px solid #e6ecf2!important;box-shadow:none!important;background:#fafbfc!important;margin-bottom:0!important}.fac-confirm-card .m-lecture-card.is-active,.fac-portal-page .m-data-card.is-active,.fac-portal-page .m-lecture-card.is-active{background:#f0f6f6!important;border-color:#b7d4d4!important}.fac-portal-home .m-data-card__head,.fac-portal-page .m-data-card__head{margin-bottom:.3rem;gap:.35rem}.fac-confirm-card .m-lecture-card strong,.fac-portal-home .m-data-card__title,.fac-portal-home .m-lecture-card strong,.fac-portal-page .m-data-card__title,.fac-portal-page .m-lecture-card strong{font-size:.8rem!important;font-weight:500!important;color:#1a3348!important;line-height:1.35!important}.fac-portal-home .m-data-card__meta,.fac-portal-page .m-data-card__meta{font-size:.7rem!important;gap:.2rem!important}.fac-portal-home .m-data-card__row dt,.fac-portal-page .m-data-card__row dt{font-weight:400!important;font-size:.68rem!important;min-width:3.6rem;color:#8a9aac!important}.fac-portal-home .m-data-card__row dd,.fac-portal-page .m-data-card__row dd{font-weight:400!important;font-size:.72rem!important;color:#3d5568!important}.fac-confirm-card .hint-soft,.fac-portal-home .hint-soft,.fac-portal-page .hint-soft{font-size:.68rem!important;font-weight:400!important;color:#8a9aac!important;line-height:1.35!important}.fac-confirm-card .m-empty,.fac-portal-home .m-empty,.fac-portal-page .m-empty{padding:1rem .6rem!important}.fac-confirm-card .m-empty__icon,.fac-portal-home .m-empty__icon,.fac-portal-page .m-empty__icon{font-size:1.15rem!important;margin-bottom:.25rem!important}.fac-confirm-card .m-empty strong,.fac-portal-home .m-empty strong,.fac-portal-page .m-empty strong{font-size:.84rem!important;font-weight:500!important;color:#1a3348!important}.fac-confirm-card .m-empty p,.fac-portal-home .m-empty p,.fac-portal-page .m-empty p{font-size:.7rem!important;font-weight:400!important}.fac-portal-home .sch-badge,.fac-portal-page .sch-badge{font-size:.62rem!important;font-weight:400!important;padding:.12rem .4rem!important}.fac-seg,.fac-seg-sm{gap:.25rem!important;padding:.2rem!important;border-radius:8px!important}.fac-seg button,.fac-seg-sm button{font-size:.72rem!important;font-weight:400!important;padding:.35rem .55rem!important;min-height:34px;box-shadow:none!important}.fac-seg button.is-on,.fac-seg-sm button.is-on{font-weight:500!important;box-shadow:none!important}.fac-session-grid button{width:2.35rem!important;height:2.35rem!important;font-weight:500!important;font-size:.78rem!important;border-radius:8px!important}.fac-dash-card h2{font-size:.82rem!important;font-weight:500!important}.fac-stat-pills{margin-bottom:.55rem}.shell--faculty .m-header__title strong{font-size:.88rem!important;font-weight:500!important}.shell--faculty .m-header__title small{font-size:.62rem!important;font-weight:400!important;opacity:.75}.shell--faculty .m-role-chip{font-size:.62rem!important;font-weight:400!important;padding:.15rem .4rem!important}.shell--faculty .m-header__logout{font-size:.72rem!important;font-weight:400!important;min-height:34px!important;padding:.3rem .55rem!important}.shell--faculty .m-tabbar__label{font-size:.58rem!important;font-weight:400!important}}.shell-nav button{transition:background .15s ease,color .15s ease,transform .12s ease}.shell-nav button:hover{background:rgba(255,255,255,.06);color:#fff}.shell-nav button.is-on{background:linear-gradient(90deg,rgba(196,163,90,.22),rgba(196,163,90,.08));box-shadow:inset 3px 0 0 var(--sand)}.shell-user{padding:.9rem .75rem .75rem;border-top:1px solid rgba(196,163,90,.22);background:linear-gradient(180deg,transparent,rgba(0,0,0,.12));border-radius:.75rem .75rem 0 0}.shell-user .btn-ghost{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;border-radius:.65rem;font-weight:700}.shell-user .btn-ghost:hover{background:rgba(255,255,255,.16)}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:.85rem;gap:.85rem}@media (max-width:900px){.grid-2{grid-template-columns:1fr}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.session-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.35rem;gap:.35rem}.session-dot{border:2px solid rgba(196,163,90,.45);background:#fff;border-radius:.5rem;padding:.35rem 0;min-height:44px;cursor:pointer;font-weight:700;font-size:.85rem}.session-dot.is-on{background:var(--ink,#0b2744);color:#fff;border-color:var(--ink,#0b2744)}.session-dot.is-done{background:#e7f4f4;border-color:var(--teal,#145555);color:var(--teal,#145555)}.session-dot.is-today{background:#fff8e8;border-color:var(--sand,#c4a35a)}.plain-list{list-style:none;margin:0;padding:0}.plain-list li{display:flex;flex-direction:column;gap:.06rem;padding:.32rem .5rem;margin-bottom:4px;border:1px solid #e2e8ee;border-radius:8px;background:#fff}.plain-list li:nth-child(2n){background:#fbf8f0}.plain-list span{color:var(--muted);font-size:.82rem}.student-cohort-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.5rem;gap:.5rem}.student-cohort-card{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;text-align:right;cursor:pointer}.student-cohort-card.is-on{border-color:var(--teal,#145555);background:#f0faf8}.student-cohort-card em{font-style:normal;color:var(--muted);font-size:.82rem}.student-cohort-college{font-size:.72rem;color:var(--muted);font-weight:700}.student-file-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border:1px dashed #b8d4d0;border-radius:10px;background:#f4fbfb}.student-file-bar span{color:var(--teal,#145555);font-weight:800}.student-import-table{max-height:min(420px,55vh);overflow:auto}.student-import-preview .row-actions{flex-wrap:wrap}.hint-soft{color:var(--muted);font-size:.85rem;margin:.5rem 0 0}@media (max-width:900px){html{text-size-adjust:100%}body{background-attachment:scroll;padding-bottom:0}.shell-content{min-height:100dvh;padding-bottom:calc(3.6rem + var(--safe-bottom))}.m-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;gap:.45rem;padding:calc(.55rem + var(--safe-top)) .75rem .55rem;min-height:52px}.m-header strong{font-size:.95rem;letter-spacing:.02em}.m-header .sync-chip{font-size:.68rem;padding:.28rem .5rem;white-space:nowrap}.m-header .btn-ghost{min-height:40px;padding:.35rem .65rem;font-size:.8rem;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff}.m-tabbar{position:fixed;inset-inline:0;bottom:0;display:flex;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line-soft);padding:.3rem .25rem calc(.35rem + var(--safe-bottom));gap:.15rem;z-index:70;box-shadow:0 -6px 20px rgba(11,39,68,.08)}.m-tabbar button{flex:1 1;min-height:48px;min-width:0;border:0;background:transparent;padding:.35rem .15rem;font-size:.68rem;font-weight:800;color:var(--muted);border-radius:.55rem;line-height:1.15;touch-action:manipulation}.m-tabbar button.is-on{color:var(--teal);background:rgba(26,107,107,.1)}.top-search{padding:.55rem .75rem 0}.top-search input{min-height:44px;font-size:16px;border-radius:10px}.shell-main{padding:.65rem .7rem 1.1rem}.page-head h1{font-size:1.15rem;line-height:1.35}.page-head p{font-size:.8rem}.card,.panel{padding:.8rem;border-radius:.9rem}.activity-filters,.daily-book-grid,.filters,.form-grid,.fs-form,.users-form{display:grid!important;grid-template-columns:1fr!important;grid-gap:.65rem;gap:.65rem}.daily-field,.field,.users-form .field{width:100%}.daily-field input,.daily-field select,.field input,.field select,.field textarea,.users-form .field input,.users-form .field select,input,select,textarea{font-size:16px!important;min-height:44px;border-radius:10px}textarea{min-height:96px}.btn-danger,.btn-ghost,.btn-primary,.daily-book-actions>button,.link,.page-actions>button,.row-actions>button{min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.daily-book-actions,.fac-confirm-list .row-actions,.page-actions,.row-actions{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.page-head .row-actions.d-only{display:none!important}.daily-book-actions>button,.page-actions>button,.row-actions:not(.d-only)>button{width:100%}.sch-table,.table-wrap,.table-wrap.card{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}.sch-table table,table.data{min-width:560px}.sch-table td,.sch-table th,table.data td,table.data th{white-space:nowrap}.modal-root,.occ-modal.modal-root{align-items:flex-end;align-content:end;padding:0;background:rgba(15,23,42,.55)}.activity-detail-sheet,.fs-panel,.modal-sheet,.modal-sheet.room-week-sheet,.special-book-sheet{width:100%!important;max-width:100%!important;max-height:min(92dvh,100%);margin:0;border-radius:1.1rem 1.1rem 0 0;padding-bottom:var(--safe-bottom)}.fs-body,.modal-sheet{overflow:auto;-webkit-overflow-scrolling:touch}.fs-foot{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-direction:column;gap:.45rem;padding-bottom:calc(.75rem + var(--safe-bottom))}.fs-foot .btn-danger,.fs-foot .btn-ghost,.fs-foot .btn-primary{width:100%}.m-more{z-index:80}.m-more__panel{width:min(100%,420px);max-height:min(88dvh,640px);border-radius:1rem 1rem 0 0;padding-bottom:var(--safe-bottom)}.m-more__list button{min-height:48px;font-size:.95rem;padding:.75rem .9rem}.app-toast{bottom:calc(4.2rem + var(--safe-bottom));left:.75rem;right:.75rem;transform:none;width:auto;max-width:none}.student-cohort-grid{grid-template-columns:1fr 1fr}.session-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.session-dot{min-height:48px}.fac-confirm-list li{flex-direction:column;align-items:stretch;gap:.65rem}.fac-confirm-list .btn-ghost,.fac-confirm-list .btn-primary,.fac-confirm-list li>button{width:100%}.fac-seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem}.fac-seg button{min-height:44px}.duration-picker button{min-height:40px;padding:.45rem .9rem}.check{align-items:center;gap:.65rem;min-height:44px}.check input{width:1.15rem;height:1.15rem;margin-top:0}.grid-2{grid-template-columns:1fr}.rw-days{max-height:45dvh}}@media (max-width:480px){.student-cohort-grid{grid-template-columns:1fr}.session-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.m-tabbar button{font-size:.62rem}.page-head h1{font-size:1.05rem}.sch-table table,table.data{min-width:520px;font-size:.82rem}}@media (max-width:360px){.shell-main{padding-inline:.55rem}.m-tabbar button{font-size:.58rem;padding-inline:.1rem}}.d-only{display:block}.m-only{display:none!important}@media (max-width:900px){.d-only{display:none!important}.m-only{display:block!important}.m-only-flex{display:flex!important}.m-only-grid{display:grid!important}.m-header{display:flex;align-items:center}.m-header__icon{min-width:40px;min-height:40px;padding:.35rem;border:0;border-radius:.55rem;background:rgba(255,255,255,.12);color:#fff;font-size:1.05rem;line-height:1;touch-action:manipulation}.m-header__icon.is-on{background:rgba(255,255,255,.22)}.top-search.is-collapsed{display:none}.top-search.is-expanded{display:block;position:-webkit-sticky;position:sticky;top:calc(52px + var(--safe-top));z-index:55;background:rgba(255,255,255,.98);padding:.5rem .75rem .65rem;border-bottom:1px solid var(--line-soft);box-shadow:0 4px 12px rgba(11,39,68,.06)}.top-search.is-faculty-hidden{display:none!important}.stat-row,.stat-row.is-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.stat{flex-direction:column;align-items:flex-start;white-space:normal;min-height:72px;padding:.65rem .75rem;font-size:.82rem;border-radius:.85rem}.stat:before{content:none}.m-card-list{display:flex;flex-direction:column;gap:.65rem}.m-data-card{border:1px solid var(--line-soft);border-radius:.95rem;background:#fff;padding:.85rem .9rem;box-shadow:0 2px 8px rgba(11,39,68,.04)}.m-data-card.is-conflict{border-color:#e8a8a0;background:#fff8f7}.m-data-card.is-warn{border-color:#e2cc96;background:#fffcf5}.m-data-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.m-data-card__title{font-size:.95rem;font-weight:800;color:var(--ink);line-height:1.35;margin:0}.m-data-card__menu{flex-shrink:0;min-width:40px;min-height:40px;border:1px solid var(--line-soft);border-radius:.55rem;background:#f7fafc;font-size:1.15rem;line-height:1;color:var(--muted)}.m-data-card__meta{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.82rem;color:var(--ink)}.m-data-card__row{display:flex;gap:.35rem;align-items:baseline}.m-data-card__row dt{flex:0 0 auto;min-width:4.2rem;font-weight:700;color:var(--muted);margin:0}.m-data-card__row dd{margin:0;font-weight:700;min-width:0}.m-data-card__foot{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--line-soft)}.m-fab{position:fixed;inset-inline-end:.85rem;bottom:calc(3.75rem + var(--safe-bottom));z-index:65;min-height:48px;padding:0 1.1rem;border:0;border-radius:999px;background:var(--teal);color:#fff;font-weight:800;font-size:.88rem;box-shadow:0 8px 24px rgba(26,107,107,.35);touch-action:manipulation}.m-confirm,.m-sheet{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}.m-confirm__backdrop,.m-sheet__backdrop{position:absolute;inset:0;border:0;background:rgba(11,39,68,.45);cursor:pointer}.m-sheet__panel{position:relative;width:100%;max-height:min(85dvh,640px);background:#fff;border-radius:1rem 1rem 0 0;padding-bottom:calc(.5rem + var(--safe-bottom));overflow:auto;animation:m-sheet-up .22s ease-out}.m-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--line-soft);position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:1}.m-sheet__body{padding:.35rem .5rem .75rem}.m-sheet__action{display:block;width:100%;min-height:48px;border:0;border-radius:.65rem;background:transparent;text-align:start;padding:.75rem 1rem;font-size:.92rem;font-weight:700;color:var(--ink);touch-action:manipulation}.m-sheet__action.is-danger{color:var(--danger,#b42318)}.m-sheet__action:active{background:#f3f7fb}.m-confirm__panel{position:relative;width:min(420px,calc(100% - 1.5rem));margin-bottom:calc(1rem + var(--safe-bottom));background:#fff;border-radius:1rem;padding:1.1rem 1rem .85rem;animation:m-sheet-up .2s ease-out}.m-confirm__panel h2{margin:0 0 .5rem;font-size:1.05rem}.m-confirm__panel p{margin:0 0 .35rem;font-size:.88rem;color:var(--ink)}.m-confirm__detail{font-weight:700;color:var(--muted);font-size:.82rem!important}.m-confirm__foot{display:flex;gap:.5rem;margin-top:1rem}.m-confirm__foot .btn-danger,.m-confirm__foot .btn-ghost,.m-confirm__foot .btn-primary{flex:1 1;min-height:44px}@keyframes m-sheet-up{0%{transform:translateY(12px);opacity:.6}to{transform:translateY(0);opacity:1}}.m-empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.m-empty__icon{font-size:2rem;opacity:.35;margin-bottom:.5rem}.m-empty strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:.35rem}.m-empty p{margin:0;font-size:.85rem;line-height:1.5}.m-empty__action{margin-top:1rem}.page-head{margin-bottom:.65rem}.page-head .row-actions.d-only{display:none!important}.page-head .row-actions.m-only-flex{display:flex!important;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.m-filter-toggle{display:flex;gap:.45rem;margin-bottom:.65rem}.m-filter-toggle input{flex:1 1;font-size:16px;padding:.45rem .65rem}.m-filter-toggle button,.m-filter-toggle input{min-height:44px;border-radius:.65rem;border:1px solid var(--line-soft)}.m-filter-toggle button{min-width:44px;padding:0 .75rem;background:#fff;font-weight:800;font-size:.82rem;white-space:nowrap}.filters.is-mobile-sheet{display:none!important}.filters.is-mobile-sheet.is-open{display:grid!important;grid-template-columns:1fr!important;grid-gap:.55rem;gap:.55rem;padding:.75rem;margin-bottom:.65rem;border:1px solid var(--line-soft);border-radius:.85rem;background:#f9fbfd}.modal-root .fs-panel{width:100%;max-width:none;max-height:96dvh;margin:0;border-radius:1rem 1rem 0 0;align-self:flex-end}.modal-root{align-items:flex-end;padding:0}.fs-foot{position:-webkit-sticky;position:sticky;bottom:0;background:#fff;padding-bottom:calc(.65rem + var(--safe-bottom));border-top:1px solid var(--line-soft)}.app-toast{bottom:calc(4.2rem + var(--safe-bottom));top:auto;inset-inline:.75rem;max-width:none;text-align:center}.fac-portal-page .table-wrap.students-table.d-only,.faculty-page .table-wrap.sch-table.d-only,.rooms-page .table-wrap.sch-table.d-only,.sch-page .table-wrap.sch-table.d-only,.students-page .table-wrap.students-table.d-only{display:none!important}.crs-chips{overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.crs-chips button{flex-shrink:0}.fac-confirm-card .m-lecture-card{border:1px solid var(--line-soft);border-radius:.85rem;padding:.85rem;background:#fff;margin-bottom:.55rem}.fac-confirm-card .m-lecture-card.is-active{border-color:var(--teal);background:#f0faf8}.m-data-card__check{display:flex;align-items:center;gap:.65rem;margin-bottom:.45rem}.m-data-card__check input{width:1.15rem;height:1.15rem}}@media (min-width:640px) and (max-width:900px){.stat-row,.stat-row.is-stack{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:901px){.m-fab,.m-filter-toggle{display:none}.top-search.is-collapsed{display:block}.m-header__icon{display:none!important}.card.rpt-filters.is-mobile-sheet,.filters.is-mobile-sheet{display:flex!important}.scope-filters.is-mobile-sheet{display:flex!important;flex-wrap:wrap}.card.rpt-filters.is-mobile-sheet{display:grid!important}}@media (max-width:900px){.page,.shell,.shell-content,.shell-main{width:100%;max-width:100%;overflow-x:clip}.page-head:not(.d-only){display:none!important}.card.rpt-filters.is-mobile-sheet:not(.is-open),.filters.is-mobile-sheet:not(.is-open){display:none!important;margin:0!important;padding:0!important;border:0!important}.card.rpt-filters.is-mobile-sheet.is-open,.filters.is-mobile-sheet.is-open{display:grid!important;grid-template-columns:1fr!important;grid-gap:.55rem!important;gap:.55rem!important;padding:.75rem!important;margin-bottom:.65rem!important;border:1px solid var(--line-soft)!important;border-radius:.85rem!important;background:#f9fbfd!important;box-shadow:0 2px 10px rgba(11,39,68,.04)}.row-actions:not(.d-only){width:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.row-actions:not(.d-only)>button{width:auto}.page-actions{display:none!important}.m-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;padding:.25rem .1rem;font-size:.62rem;line-height:1.1}.m-tabbar__icon{font-size:1.05rem;line-height:1;opacity:.72}.m-tabbar button.is-on .m-tabbar__icon{opacity:1}.m-tabbar__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-fab{width:52px;height:52px;padding:0;border-radius:50%;font-size:1.45rem;line-height:1;inset-inline-end:1rem;bottom:calc(4.1rem + var(--safe-bottom))}.m-page-meta{margin:0 0 .55rem;color:var(--muted)}.m-inline-alert,.m-page-meta{font-size:.78rem;font-weight:700}.m-inline-alert{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.55rem;padding:.5rem .65rem;border-radius:.65rem;background:#fff7e6;border:1px solid #e2c06a;color:#7a5a00}.m-inline-alert strong{color:#9a6700}.field input,.field select,.filters input,.filters select,.scope-field input,.scope-field select{min-height:44px;font-size:16px;border-radius:.65rem;border-color:#d5dee8;background:#fff}.scope-field{min-width:0;flex:1 1 100%}.m-card-list,.m-data-card,.stat-row.is-stack{width:100%}.m-filter-toggle{margin-bottom:.55rem}.m-filter-toggle button:first-child{flex:1 1;min-height:44px;border-radius:.65rem;border:1px solid var(--line-soft);background:#fff;font-weight:800;font-size:.86rem;color:var(--ink);box-shadow:0 1px 4px rgba(11,39,68,.04)}.m-filter-toggle .btn-ghost{min-height:44px;padding-inline:.85rem;font-size:.82rem}.m-header{display:flex;align-items:center;gap:.4rem;box-shadow:0 2px 12px rgba(0,0,0,.12)}.m-header__brand{flex:0 0 34px;width:34px;height:34px;border-radius:.55rem;background:linear-gradient(165deg,var(--sand),#8a6d2c);color:#fff;font-size:.95rem;font-weight:900;display:grid;place-items:center}.m-header__title strong{font-size:.9rem}.m-header__title small,.m-header__title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-header__title small{font-size:.64rem;opacity:.78;font-weight:600}.m-sync-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex-shrink:0}.m-sync-dot.is-ok{background:#3d9b74}.m-sync-dot.is-saving{background:#c4a35a}.m-sync-dot.is-error{background:#c45c4a}.m-role-chip{font-size:.68rem;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:.28rem .45rem;white-space:nowrap}.m-header__logout,.m-role-chip{flex-shrink:0;font-weight:800;border-radius:.45rem}.m-header__logout{min-height:34px;padding:.25rem .5rem;border:1px solid rgba(255,180,180,.55);background:rgba(180,40,40,.18);color:#fecaca;font-size:.72rem}.m-more__head{flex-direction:row-reverse;justify-content:space-between}.m-more__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem;gap:.45rem;padding:.15rem .15rem .5rem}.m-more__grid button{min-height:4.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;border:1px solid rgba(196,163,90,.45);background:#fff;border-radius:.75rem;font-size:.78rem;font-weight:800;color:var(--ink);padding:.55rem .35rem;text-align:center;line-height:1.25}.m-more__grid button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}.m-more__icon{font-size:1.15rem;line-height:1}.m-tabbar button.is-on{color:var(--ink);background:transparent;font-weight:900}.m-tabbar button.is-on .m-tabbar__icon{color:var(--ink)}.m-fab{color:transparent}.m-fab:before{content:"+";color:#fff;font-size:1.7rem;font-weight:700}.crs-seg,.fac-seg,.makeup-tabs,.occ-day-tabs,.rpt-seg,.rpt-tabs,.scope-tabs{display:flex!important;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.35rem;padding-bottom:.2rem}.crs-seg button,.fac-seg button,.makeup-tabs button,.occ-day-tabs button,.rpt-seg button,.rpt-tabs button,.scope-tabs button{flex:0 0 auto;white-space:nowrap}}.org-structure-page .org-filters{margin-bottom:.75rem}.org-structure-page .org-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .75rem;padding:.45rem .65rem;border:1px solid #d5e0ea;background:#fff;font-size:.78rem}.org-structure-page .org-crumb__link{border:0;background:transparent;color:#0b2744;font:inherit;font-weight:600;cursor:pointer;padding:0}.org-structure-page .org-crumb__link:hover{text-decoration:underline}.org-structure-page .org-crumb__sep{color:#8a9aab}.org-structure-page .org-crumb__here{color:#5b6f82;font-weight:500}.org-structure-page .org-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;flex-wrap:wrap}.org-structure-page .org-toolbar__title{margin:0;font-size:.95rem;font-weight:700;color:#0b2744}.org-structure-page .org-toolbar__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.org-structure-page .org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:.75rem;gap:.75rem}.org-structure-page .org-grid--levels{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}.org-structure-page .org-card{display:flex;flex-direction:column;border:1px solid #c5d0dc;background:#fff;min-height:6.5rem;overflow:hidden}.org-structure-page .org-card--openable .org-card__main{cursor:pointer}.org-structure-page .org-card--openable .org-card__main:hover{background:#f4f8fc}.org-structure-page .org-card__main{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.85rem .9rem .65rem;border:0;background:#fff;text-align:right;font:inherit;color:inherit;width:100%}.org-structure-page .org-card__main:disabled{cursor:default}.org-structure-page .org-card__badge{display:inline-block;font-size:.62rem;font-weight:600;color:#143a5c;background:#e8f0f7;border:1px solid #c5d6e6;padding:.08rem .4rem}.org-structure-page .org-card__title{font-size:.92rem;font-weight:600;color:#0b2744;line-height:1.35}.org-structure-page .org-card__meta{font-size:.72rem;font-weight:500;color:#6b7c8f}.org-structure-page .org-card__actions{display:flex;gap:.55rem;padding:.4rem .85rem .55rem;border-top:1px solid #e8eef4;background:#fafcfd}@media (max-width:720px){.org-structure-page .org-grid{grid-template-columns:1fr}.org-structure-page .org-card{min-height:5.5rem}}.ott-preview-root{z-index:5000;padding:1rem;background:rgba(11,39,68,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ott-preview-panel{width:min(1100px,100%);max-height:min(94vh,960px);display:flex;flex-direction:column;background:#fff;border-radius:1rem;box-shadow:0 24px 64px rgba(11,39,68,.28);overflow:hidden}.ott-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--line-soft,#e2eaf1);background:linear-gradient(180deg,#f7fafc,#fff)}.ott-preview-title{margin:0;font-size:1.1rem;color:#0b2744}.ott-preview-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.ott-preview-body{flex:1 1;min-height:0;background:#e8eef4;padding:.65rem}.ott-preview-frame{width:100%;height:min(78vh,820px);border:0;border-radius:.5rem;background:#fff;box-shadow:0 1px 0 rgba(11,39,68,.06)}.official-pdf-picker-root{z-index:4900;display:grid;place-items:center;padding:1rem}.official-pdf-picker__backdrop{position:absolute;inset:0;border:0;background:rgba(11,39,68,.56);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.official-pdf-picker{position:relative;width:min(760px,100%);padding:1.15rem;border:1px solid rgba(11,39,68,.12);border-radius:1rem;background:#fff;box-shadow:0 24px 70px rgba(11,39,68,.3)}.official-pdf-picker__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.official-pdf-picker__head h2{margin:0;color:var(--ink,#0b2744);font-size:1.2rem}.official-pdf-picker__head p{margin:.3rem 0 0;color:var(--muted,#60758a);font-size:.82rem}.official-pdf-picker__close{flex:0 0 2.35rem;width:2.35rem;height:2.35rem;border:1px solid #d7e1ea;border-radius:50%;background:#f5f8fb;color:#0b2744;font-size:1.4rem;line-height:1;cursor:pointer}.official-pdf-picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.official-pdf-option{min-height:10rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem .75rem;border:1px solid #cbd8e4;border-radius:.9rem;background:#f9fbfd;color:#0b2744;font-family:inherit;text-align:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.official-pdf-option:hover{transform:translateY(-2px);border-color:#7e9bb6;box-shadow:0 10px 24px rgba(11,39,68,.1)}.official-pdf-option:focus-visible{outline:3px solid rgba(26,107,107,.25);outline-offset:2px}.official-pdf-option__icon{width:3.25rem;height:3.25rem;display:grid;place-items:center;border-radius:.85rem;background:#e7eef6;color:#174c77;font-size:1.2rem;font-weight:900}.official-pdf-option--practical .official-pdf-option__icon{background:#e4f3ef;color:#176b61}.official-pdf-option--combined .official-pdf-option__icon{background:#f4ecd9;color:#80621f}.official-pdf-option strong{font-size:1rem}.official-pdf-option small{color:#60758a;font-size:.76rem;line-height:1.45}@media (max-width:640px){.official-pdf-picker-root{align-items:end;padding:0}.official-pdf-picker{width:100%;border-radius:1rem 1rem 0 0;padding-bottom:calc(1rem + var(--safe-bottom))}.official-pdf-picker__grid{grid-template-columns:1fr}.official-pdf-option{min-height:5.25rem;display:grid;grid-template-columns:3rem 1fr;grid-template-rows:auto auto;grid-column-gap:.75rem;column-gap:.75rem;text-align:start}.official-pdf-option__icon{grid-row:1/3;width:3rem;height:3rem}.official-pdf-option small,.official-pdf-option strong{justify-self:start}}@media (max-width:720px){.ott-preview-root{padding:0;align-items:flex-end}.ott-preview-panel{width:100%;max-height:96dvh;border-radius:1rem 1rem 0 0}.ott-preview-head{flex-direction:column}.ott-preview-actions{width:100%}.ott-preview-actions .btn-ghost,.ott-preview-actions .btn-primary{flex:1 1}.ott-preview-frame{height:min(70dvh,640px)}}