:root{color:#17324d;font-synthesis:none;--navy:#082f49;--blue:#2563eb;--green:#14845c;--orange:#c66b15;--muted:#5f7185;--line:#dce5ef;--white:#fff;--ink:#102a43;--cyan:#38bdf8;background:#f4f7fb;font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,#root{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0;overflow-x:clip}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #f0a23a}.skip-link{z-index:1000;color:var(--navy);background:#fff;border-radius:8px;padding:.7rem 1rem;font-weight:800;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.eyebrow{letter-spacing:.12em;color:var(--blue);margin:0 0 .45rem;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.brand-mark{color:#fff;background:linear-gradient(140deg,#1c78dd,#0b3f78);border-radius:16px;place-items:center;width:54px;height:54px;font-size:1.6rem;font-weight:900;display:grid;box-shadow:0 14px 36px #06223f3d}.brand-mark.small{border-radius:12px;width:40px;height:40px;font-size:1.15rem}.login-page{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 12% 12%,#38bdf833 0 1px,#0000 2px) 0 0/30px 30px,radial-gradient(circle at 85% 18%,#1d78c733 0 12rem,#0000 22rem),linear-gradient(145deg,#061a2d,#0b3d68 58%,#092c50);flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,6.5rem);display:flex}.institution-logos{align-items:center;gap:.75rem;margin-bottom:clamp(2.8rem,8vh,5.5rem);display:flex}.institution-logo{color:#f7fbff;background:#ffffff0d;border:1px solid #9bd6ff45;border-radius:14px;grid-template-rows:1fr 1fr;grid-template-columns:30px 1fr;align-items:center;column-gap:.45rem;min-width:92px;min-height:58px;padding:.45rem .65rem;display:grid}.institution-logo>span{color:#0b4e88;background:#e8f6ff;border-radius:50%;grid-row:1/3;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:900;display:grid}.institution-logo strong,.institution-logo small{white-space:nowrap;line-height:1}.institution-logo strong{letter-spacing:.04em;font-size:.63rem}.institution-logo small{color:#b9d9ee;letter-spacing:.08em;font-size:.48rem}.school-logo>span{color:#17324d;background:#f4c95d}.brand-heading{align-items:center;gap:1rem;display:flex}.brand-heading .eyebrow{margin:0}.brand-subtitle{color:#9fc9e8;margin-top:.3rem;font-size:.78rem;display:block}.login-brand .eyebrow{color:#8ed0ff}.login-brand h1{letter-spacing:-.045em;max-width:680px;margin:2.3rem 0 1.15rem;font-size:clamp(2.35rem,4vw,4.25rem);line-height:1.04}.login-brand>p:not(.eyebrow){color:#c9d9e8;max-width:610px;font-size:1.05rem}.integration-badge{color:#d8ebf9;background:#ffffff0b;border:1px solid #99d8ff4f;border-radius:14px;align-items:center;gap:.75rem;width:fit-content;margin-top:2.4rem;padding:.75rem 1rem;display:flex}.integration-badge span:last-child{flex-direction:column;gap:.18rem;display:flex}.integration-badge strong{color:#fff}.integration-badge small{color:#a9c9df}.integration-dot{color:#126a4d;background:#b8f0d7;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.login-panel{background:linear-gradient(160deg,#f8fbff,#f2f6fb);place-items:center;padding:clamp(1.25rem,4vw,4rem);display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(440px,100%);padding:2.25rem;box-shadow:0 28px 75px #1a36521c}.login-card h2{letter-spacing:-.03em;margin:.2rem 0;font-size:1.8rem}.login-card form{flex-direction:column;gap:.55rem;margin-top:1.5rem;display:flex}.login-card label{margin-top:.45rem;font-weight:700}.login-card input{border:1px solid #bdcad7;border-radius:10px;outline:none;padding:.8rem .9rem}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #176bce1f}.primary-button{background:var(--blue);color:#fff;border:0;border-radius:10px;margin-top:.8rem;padding:.85rem;font-weight:800}.primary-button:disabled{opacity:.55}.error-message{color:#a12c2c;background:#fff0f0;border-radius:9px;padding:.7rem .8rem}.demo-box{background:#eef6ff;border:1px solid #cce2f8;border-radius:12px;margin-top:1.4rem;padding:1rem}.demo-box p{color:var(--muted);margin:.25rem 0 .7rem}.demo-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.demo-buttons button{color:#124f8b;background:#fff;border:1px solid #9fc5eb;border-radius:8px;padding:.45rem .75rem;font-weight:700}.app-shell{background:#f5f8fc;grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#062941,#082f49 55%,#0a3859);flex-direction:column;padding:1.55rem 1rem 1.15rem;display:flex;position:relative;overflow:hidden}.sidebar:before{content:"";border:1px solid #a7ddff2b;border-radius:50%;width:15rem;height:15rem;position:absolute;inset:auto -7rem -6rem auto}.sidebar-brand{align-items:center;gap:.75rem;margin-bottom:.9rem;padding:.35rem .45rem;display:flex;position:relative}.sidebar-brand div{flex-direction:column;display:flex}.sidebar-brand small{color:#a6cee9;letter-spacing:.06em;text-transform:uppercase;font-size:.67rem}.sidebar-caption{color:#a6c6dc;margin:0 0 1.8rem;padding:0 .45rem;font-size:.78rem;line-height:1.55;position:relative}.sidebar nav{flex-direction:column;gap:.2rem;display:flex;position:relative}.sidebar nav a,.nav-future{color:#c9ddeb;border-radius:12px;align-items:center;gap:.7rem;padding:.78rem .72rem;font-size:.88rem;font-weight:650;text-decoration:none;transition:background .15s,color .15s,transform .15s;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,#2370bd,#18558c);box-shadow:0 8px 22px #031a2d3d}.nav-icon{background:#ffffff0d;border-radius:8px;place-items:center;width:24px;height:24px;font-size:1rem;display:grid}.nav-future{opacity:.48;border:1px dashed #668199;margin-top:.6rem}.sidebar-seal{color:#a9cae0;background:#ffffff0b;border:1px solid #85c9f030;border-radius:13px;align-items:flex-start;gap:.6rem;margin-top:auto;padding:.9rem;font-size:.7rem;line-height:1.45;display:flex;position:relative}.sidebar-seal>span{color:#136b4c;background:#b9f0d6;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.sidebar-seal div{flex-direction:column;gap:.15rem;display:flex}.sidebar-seal strong{color:#eff9ff;font-size:.69rem}.main-area,.content,.panel,.topbar>*,.user-menu,.account-list div,.system-list p{min-width:0}.page-heading h1,.panel h1,.account-list dd,.system-list strong{overflow-wrap:anywhere}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;border-bottom:1px solid #dfe8f1;justify-content:space-between;align-items:center;min-height:82px;padding:0 2.5rem;display:flex}.topbar>div:first-child,.user-menu>div:nth-child(2){flex-direction:column;display:flex}.topbar small,.user-menu small{color:var(--muted)}.topbar-context small{color:#47708d;letter-spacing:.1em;font-size:.66rem;font-weight:800}.topbar-context strong{color:var(--ink);margin-top:.12rem;font-size:.98rem}.user-menu{align-items:center;gap:.7rem;display:flex}.user-avatar{color:#185f9f;background:linear-gradient(145deg,#dceeff,#f3f8ff);border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.user-menu button{color:#33556f;background:#f9fbfd;border:1px solid #d8e4ef;border-radius:10px;margin-left:.5rem;padding:.52rem .76rem;font-weight:700}.content{max-width:1440px;margin:0 auto;padding:clamp(1.4rem,3vw,2.6rem)}.page-heading{justify-content:space-between;align-items:flex-start;margin-bottom:1.7rem;display:flex}.page-heading h1,.panel h1{color:var(--ink);letter-spacing:-.04em;margin:.1rem 0;font-size:clamp(1.8rem,3vw,2.35rem)}.page-heading p:last-child{color:var(--muted);margin:.25rem 0}.status-pill{color:#155f9f;background:#edf6ff;border:1px solid #cfe5f8;border-radius:999px;padding:.5rem .8rem;font-weight:700}.status-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-bottom:1.2rem;display:grid}.status-grid article{background:#fff;border:1px solid #e0e9f2;border-radius:17px;align-items:center;gap:.95rem;padding:1.2rem;display:flex;box-shadow:0 10px 30px #224d6a0b}.status-grid article div{flex-direction:column;display:flex}.status-grid small{color:var(--muted)}.status-grid article div>span{color:#6b8398;margin-top:.24rem;font-size:.76rem}.card-icon{border-radius:13px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.card-icon.blue{color:var(--blue);background:#e6f1ff}.card-icon.green{color:var(--green);background:#e4f6ee}.card-icon.orange{color:var(--orange);background:#fff1e4}.panel{background:#fff;border:1px solid #e0e9f2;border-radius:18px;margin-top:1.1rem;padding:clamp(1.2rem,2vw,1.65rem);box-shadow:0 12px 35px #224d6a0a}.panel-heading{justify-content:space-between;display:flex}.panel-heading h2{margin:.1rem 0}.panel-heading>span{width:48px;height:48px;color:var(--blue);background:#eaf4ff;border-radius:15px;place-items:center;font-size:1rem;font-weight:900;display:grid}.check-list{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.2rem;display:grid}.check-list p{color:#246449;background:#f5fbf8;border-radius:11px;margin:0;padding:.7rem}.check-list p.pending{color:#8290a0;background:#f5f7fa}.dashboard-workspace{background:linear-gradient(135deg,#f8fbff,#f2f8ff);border:1px solid #dce9f4;border-radius:18px;margin-top:1.2rem;padding:clamp(1.2rem,2vw,1.65rem)}.workspace-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.workspace-heading h2{color:var(--ink);letter-spacing:-.03em;margin:.1rem 0 .4rem;font-size:clamp(1.35rem,2vw,1.7rem)}.workspace-heading p:last-child{max-width:700px;color:var(--muted);margin:0;line-height:1.55}.workspace-role{color:#276494;background:#fff;border:1px solid #cfe3f7;border-radius:999px;flex:none;padding:.42rem .7rem;font-size:.75rem;font-weight:800}.workspace-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:1.1rem;display:grid}.workspace-card{background:#fff;border:1px solid #dfeaf3;border-radius:14px;gap:.75rem;min-width:0;padding:1rem;display:flex;box-shadow:0 8px 20px #21476609}.workspace-card h3{color:var(--ink);margin:.05rem 0 .35rem;font-size:.94rem}.workspace-card p{color:#668095;min-height:3.75em;margin:0;font-size:.78rem;line-height:1.45}.workspace-card a{color:#1b63ac;align-items:center;gap:.3rem;margin-top:.8rem;font-size:.79rem;font-weight:800;text-decoration:none;display:inline-flex}.workspace-card a:hover{text-decoration:underline}.workspace-icon{color:#2067ad;background:#eaf4ff;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.dashboard-focus{margin-top:1.2rem}.role-steps{grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.role-steps li{background:#f7fafc;border-radius:12px;gap:.65rem;padding:.9rem;display:flex}.role-steps span{color:#1b65ab;background:#dceeff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:900;display:grid}.role-steps p{color:#536f84;margin:0;font-size:.8rem;line-height:1.45}.account-list{margin:1.5rem 0 0}.account-list div,.system-list p{border-top:1px solid var(--line);grid-template-columns:180px 1fr;margin:0;padding:1rem 0;display:grid}.account-list dt,.system-list span{color:var(--muted)}.account-list dd{margin:0;font-weight:700}.account-profile{background:linear-gradient(135deg,#f9fcff,#edf6ff);border-color:#d5e7f7;align-items:center;gap:1rem;margin-top:0;display:flex}.account-profile-mark{color:#fff;background:linear-gradient(145deg,#1e70bc,#164c7d);border-radius:18px;place-items:center;width:54px;height:54px;font-size:1.35rem;font-weight:900;display:grid}.account-profile h2{color:var(--ink);margin:.1rem 0}.account-profile p:last-child{color:var(--muted);margin:0}.account-profile>span{color:#176b4b;background:#e7f8ef;border-radius:999px;margin-left:auto;padding:.45rem .7rem;font-size:.76rem;font-weight:800}.system-status-grid{grid-template-columns:repeat(3,1fr);gap:.9rem;display:grid}.system-status-grid article{background:#fff;border:1px solid #dfe9f2;border-radius:15px;flex-direction:column;gap:.35rem;min-height:128px;padding:1rem;display:flex;box-shadow:0 8px 24px #21476609}.system-status-grid article>span{color:#6b8295;font-size:.78rem}.system-status-grid strong{color:#1c6a4c;overflow-wrap:anywhere;font-size:1rem}.system-status-grid small{color:#7590a2;margin-top:auto;font-size:.7rem}.system-list strong{color:var(--green)}.loading-screen{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (width<=800px){.login-page{grid-template-columns:1fr}.login-brand{padding:3rem 2rem}.institution-logos{margin-bottom:3rem}.login-brand h1{font-size:2.3rem}.login-panel{padding:2rem 1rem}.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:1rem .65rem}.sidebar-brand div,.sidebar-caption,.sidebar nav a>span:not(.nav-icon),.sidebar-seal{display:none}.sidebar nav a,.nav-future{justify-content:center}.nav-icon{display:grid}.content{padding:1.2rem}.topbar{padding:0 1rem}.user-menu div:nth-child(2){display:none}.status-grid,.workspace-grid,.role-steps,.check-list,.system-status-grid{grid-template-columns:1fr}.page-heading{display:block}.status-pill{margin-top:.8rem;display:inline-block}}@media (width<=520px){.account-profile{flex-wrap:wrap;align-items:flex-start}.account-profile>span{width:100%;margin-left:0}.workspace-heading{flex-direction:column}.institution-logos{gap:.45rem}.institution-logo{flex:1;grid-template-columns:24px 1fr;min-width:0;padding:.35rem}.institution-logo>span{width:23px;height:23px;font-size:.6rem}.institution-logo strong{font-size:.52rem}.institution-logo small{font-size:.4rem}.login-brand h1{font-size:2.55rem}.account-list div,.system-list p{grid-template-columns:1fr;gap:.35rem}.topbar{gap:.75rem;height:auto;min-height:76px;padding-block:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.source-pill{color:#126943;background:#e7f8ef}.source-banner{border:1px solid #bce1cf;border-left:4px solid var(--green);background:#f0faf5;border-radius:12px;flex-direction:column;gap:.2rem;margin-bottom:1rem;padding:1rem 1.15rem;display:flex}.source-banner span{color:#4e6e60}.reference-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.reference-grid h3{margin:.4rem 0 .8rem}.reference-grid p{background:#f7f9fc;border-radius:9px;grid-template-columns:55px 1fr auto;align-items:center;gap:.6rem;margin:.35rem 0;padding:.75rem;display:grid}.reference-grid p span{color:var(--blue);font-weight:800}.reference-grid p small{color:var(--muted)}.course-context-list{flex-direction:column;gap:.55rem;display:flex}.course-context-list article{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;padding:.9rem 1rem;display:flex}.course-context-list article>div{flex-direction:column;gap:.15rem;display:flex}.course-context-list article>div:last-child{align-items:flex-end}.course-context-list article span,.course-context-list article small{color:var(--muted)}.context-status{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-block!important}.context-status.active{color:#17714e;background:#e5f6ed}.context-status.draft{color:#9a5919;background:#fff0df}.sync-footnote{text-align:right;color:var(--muted);font-size:.75rem}.loading-panel{text-align:center;color:var(--muted);padding:2rem}.teaching-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.teaching-card{background:#fff;border:1px solid #dfe8f1;border-top:4px solid #2c72b8;border-radius:17px;min-width:0;padding:1.25rem;box-shadow:0 12px 35px #224d6a0a}.teaching-card.elective{background:linear-gradient(150deg,#fff,#f4fbf7);border-top-color:#16845d}.teaching-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.teaching-card-head h2{color:var(--ink);margin:.5rem 0 .15rem;font-size:1.2rem}.teaching-card-head p{color:var(--muted);margin:0}.class-kind{color:#1a64a7;background:#e8f2fd;border-radius:999px;padding:.28rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.class-kind.elective{color:#146747;background:#dff5e9}.class-code{color:#355a76;background:#f2f6fa;border-radius:10px;flex:none;padding:.5rem .65rem;font-size:.75rem;font-weight:900}.teaching-meta{border-block:1px solid var(--line);margin:1rem 0}.teaching-meta div{border-bottom:1px dashed #e2e9f0;grid-template-columns:105px minmax(0,1fr);gap:.6rem;padding:.65rem 0;display:grid}.teaching-meta div:last-child{border-bottom:0}.teaching-meta dt{color:var(--muted);font-size:.78rem}.teaching-meta dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.8rem;font-weight:750}.teaching-assessment-summary{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.teaching-assessment-summary span{color:#5a7287;text-align:center;background:#f4f7fb;border-radius:10px;padding:.65rem .45rem;font-size:.72rem}.teaching-assessment-summary strong{color:var(--ink);font-size:1.05rem;display:block}.teaching-actions{justify-content:space-between;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.teaching-actions a{color:#1b63ac;font-size:.8rem;font-weight:800;text-decoration:none}.teaching-actions a:hover{text-decoration:underline}.teaching-actions small{color:#16704d;text-align:right}@media (width<=800px){.reference-grid{grid-template-columns:1fr}.reference-grid p{grid-template-columns:50px 1fr}.reference-grid p small{grid-column:2}.course-context-list article{align-items:flex-start;gap:.75rem}.course-context-list article>div:last-child{min-width:80px}.teaching-grid{grid-template-columns:1fr}}@media (width<=520px){.course-context-list article{flex-direction:column}.course-context-list article>div:last-child{align-items:flex-start;min-width:0}.teaching-actions{flex-direction:column;align-items:flex-start}.teaching-actions small{text-align:left}}.learning-note{border:1px solid #c8d9ef;border-left:4px solid var(--blue);background:linear-gradient(135deg,#f4f9ff,#eef7ff);border-radius:15px;flex-direction:column;gap:.2rem;margin-bottom:1rem;padding:1rem 1.15rem;display:flex}.learning-note span,.learning-overview p,.unit-card p{color:var(--muted)}.course-switcher{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;margin:1rem 0;display:grid}.course-switcher button{text-align:left;border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:14px;flex-direction:column;gap:.25rem;padding:.9rem 1rem;display:flex}.course-switcher button[aria-pressed=true]{background:linear-gradient(135deg,#edf6ff,#f8fbff);border-color:#6aa6e4;box-shadow:0 8px 18px #176bce17}.learning-activity{border:1px solid var(--line);background:#fbfdff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;margin:.55rem 0;padding:.7rem;display:grid}.learning-activity div{gap:.22rem;min-width:0;display:grid}.learning-activity small{color:var(--muted);line-height:1.45}.learning-activity small b{color:var(--ink)}.course-switcher button span{color:var(--muted);font-size:.82rem}.learning-title-row,.unit-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.learning-title-row h2,.unit-header h3{margin:.15rem 0 .4rem}.learning-title-row p{margin:0}.learning-badges{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.author-badge{color:#126943;background:#e7f8ef;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800}.context-status.published{color:#17714e;background:#e5f6ed}.context-status.archived{color:#627181;background:#edf0f4}.course-source-strip{border-top:1px solid var(--line);flex-wrap:wrap;gap:.45rem;margin-top:1rem;padding-top:1rem;display:flex}.course-source-strip span,.course-source-strip small{color:#4d657d;background:#f4f7fb;border-radius:7px;padding:.35rem .55rem}.course-source-strip small{margin-left:auto}.learning-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.outcome-list,.unit-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.outcome-list article{background:#f7f9fc;border-radius:10px;grid-template-columns:auto 1fr;gap:.8rem;padding:.85rem;display:grid}.outcome-list article>span{color:var(--blue);background:#e5f1ff;border-radius:6px;align-self:start;padding:.25rem .45rem;font-size:.72rem;font-weight:800}.outcome-list p,.outcome-list small{color:var(--muted);margin:.25rem 0 0}.objective-list{counter-reset:tp;flex-direction:column;gap:.65rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.objective-list li{background:#f8fbff;border-left:3px solid #8ebcef;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.75rem;display:grid}.objective-list span{color:var(--blue);font-weight:800}.objective-list p{margin:0}.unit-card{border:1px solid var(--line);background:#fcfdff;border-radius:16px;padding:1rem}.unit-number{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800}.unit-header p{margin:0}.unit-context{grid-template-columns:1fr 1fr;gap:.7rem;margin:.9rem 0;display:grid}.unit-context p{background:#fff;border:1px solid #e4eaf1;border-radius:9px;flex-direction:column;gap:.25rem;margin:0;padding:.75rem;display:flex}.unit-context strong{color:var(--navy);font-size:.78rem}.objective-chips{flex-wrap:wrap;gap:.35rem;display:flex}.objective-chips span{color:#945415;background:#fff0df;border-radius:999px;padding:.25rem .5rem;font-size:.72rem;font-weight:800}.unit-resources{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.unit-resources h4{margin:0 0 .55rem}.unit-resources p{background:#fff;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;margin:.35rem 0;padding:.65rem;display:grid}.unit-resources p>span:nth-child(2){flex-direction:column;gap:.15rem;display:flex}.unit-resources small{color:var(--muted)}.unit-resources em{font-style:normal}.resource-icon{width:30px;height:30px;color:var(--blue);background:#eaf3ff;border-radius:8px;place-items:center;font-weight:900;display:grid}.stage-dot{border-radius:50%;width:10px;height:10px}.stage-dot.memahami{background:#287dcc}.stage-dot.mengaplikasi{background:#1f976c}.stage-dot.merefleksi{background:#d17924}.unit-resources .empty-resource{color:var(--muted);font-style:italic;display:block}@media (width<=900px){.learning-columns,.unit-context,.unit-resources{grid-template-columns:1fr}.course-source-strip small{margin-left:0}}@media (width<=560px){.learning-title-row,.unit-header{flex-direction:column}.learning-badges{justify-content:flex-start}.unit-resources p{grid-template-columns:auto 1fr}.unit-resources em{grid-column:2;justify-self:start}}.assessment-privacy{border:1px solid #cce5d8;border-left:4px solid var(--green);background:linear-gradient(135deg,#f2fbf6,#f8fdfb);border-radius:15px;flex-direction:column;gap:.2rem;padding:1rem 1.15rem;display:flex}.assessment-privacy span,.assessment-overview p,.assessment-card p{color:var(--muted)}.assessment-overview{justify-content:space-between;gap:1rem;display:flex}.assessment-overview h2{margin:.1rem 0 .35rem}.assessment-overview p{margin:0}.assessment-overview .course-source-strip{border:0;place-content:flex-start flex-end;margin:0;padding:0}.assessment-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.assessment-columns>*{min-width:0}.assessment-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.assessment-card{border:1px solid var(--line);background:#fbfdff;border-radius:15px;padding:1rem;box-shadow:0 6px 18px #21476607}.assessment-card-head{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.assessment-card-head>div{flex-direction:column;gap:.2rem;display:flex}.assessment-card-head small,.security-caption{color:var(--muted)}.assessment-card>p{margin:.7rem 0}.queue-note{color:#97540f;background:#fff3e5;border-radius:8px;padding:.6rem .7rem;font-size:.82rem;font-weight:750}.evidence-strip,.project-meta{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.evidence-strip span,.evidence-strip small,.project-meta span{color:#4f657a;background:#eef4fa;border-radius:7px;padding:.35rem .5rem;font-size:.75rem}.quiz-metrics{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.9rem 0;display:grid}.quiz-metrics span{text-align:center;background:#fff;border-radius:9px;flex-direction:column;padding:.65rem;display:flex}.quiz-metrics strong{color:var(--blue);font-size:1.2rem}.rubric{margin-top:1rem}.rubric-row{background:#f6faff;border-left:3px solid #78aee4;justify-content:space-between;gap:1rem;margin-top:.55rem;padding:.7rem;display:flex}.rubric-row small{color:var(--muted);text-align:right}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-top:1rem;display:grid}.portfolio-grid article{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.portfolio-grid article>div{justify-content:space-between;align-items:center;display:flex}.portfolio-grid article>div>span:first-child{color:var(--blue);text-transform:uppercase;font-size:.72rem;font-weight:800}.portfolio-grid p,.portfolio-grid small{color:var(--muted);margin:0}.privacy-empty{color:var(--muted);background:#f4f7fa;border-radius:10px;margin-top:1rem;padding:1rem}.context-status.closed{color:#596a7b;background:#edf0f4}.context-status.shared{color:#185f9f;background:#e9f2ff}@media (width<=900px){.assessment-columns{grid-template-columns:1fr}}@media (width<=620px){.assessment-overview,.assessment-card-head,.rubric-row{flex-direction:column}.assessment-overview .course-source-strip{justify-content:flex-start}.rubric-row small{text-align:left}}@media (width<=420px){.quiz-metrics{grid-template-columns:1fr}}.progress-privacy{background:linear-gradient(135deg,#f8f6ff,#fbfaff);border:1px solid #d8d1f0;border-left:4px solid #6c55bb;border-radius:15px;flex-direction:column;gap:.2rem;padding:1rem 1.15rem;display:flex}.progress-privacy span,.aggregate-note,.mastery-list p,.intervention-list p,.tka-disclaimer span{color:var(--muted)}.progress-course-heading{justify-content:space-between;align-items:flex-start;display:flex}.progress-course-heading h2{margin:.1rem 0 0}.cohort-metrics{grid-template-columns:repeat(5,1fr);gap:.7rem;margin-top:1rem;display:grid}.cohort-metrics div{background:#f5f8fc;border-radius:10px;flex-direction:column;padding:.85rem;display:flex}.cohort-metrics strong{color:var(--blue);font-size:1.35rem}.cohort-metrics small{color:var(--muted)}.cohort-metrics .support{background:#fff3eb}.cohort-metrics .support strong{color:#b25d20}.cohort-metrics .enrichment{background:#edf9f3}.cohort-metrics .enrichment strong{color:var(--green)}.aggregate-note{margin:.8rem 0 0;font-size:.8rem}.progress-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.progress-columns>*{min-width:0}.mastery-list,.intervention-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.mastery-list article{border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr) 190px;gap:1rem;padding:.85rem;display:grid}.mastery-list p{margin:.25rem 0;font-size:.85rem}.mastery-list small{color:var(--muted)}.score-line{grid-template-columns:1fr auto;align-content:center;gap:.35rem;display:grid}.score-line>div{background:#e5ebf1;border-radius:99px;grid-column:1;height:7px;overflow:hidden}.score-line>div span{background:linear-gradient(90deg,#3d83cf,#52a27d);height:100%;display:block}.score-line>strong{grid-area:1/2}.mastery-band{border-radius:99px;grid-column:1/3;justify-self:end;padding:.2rem .45rem;font-weight:750}.mastery-band.needs_support{color:#a75218;background:#fff0e6}.mastery-band.developing{color:#846500;background:#fff8dd}.mastery-band.proficient{color:#16704d;background:#e8f6ef}.mastery-band.advanced{color:#175f9f;background:#e9f2ff}.intervention-list article{border:1px solid var(--line);border-left:4px solid;border-radius:11px;padding:1rem}.intervention-list article.remedial{border-left-color:#d77735}.intervention-list article.enrichment{border-left-color:#3a9670}.intervention-list article>div:first-child{justify-content:space-between;align-items:center;display:flex}.intervention-list article>div:first-child>span:first-child{color:var(--blue);text-transform:uppercase;font-size:.72rem;font-weight:850}.intervention-list strong{margin:.45rem 0 .2rem;display:block}.intervention-list>article>small{color:var(--muted)}.intervention-list p{margin:.65rem 0;font-size:.85rem}.intervention-meta{flex-wrap:wrap;gap:.4rem;display:flex}.intervention-meta span{color:#536b80;background:#f1f5f9;border-radius:7px;padding:.3rem .5rem;font-size:.75rem}.tka-disclaimer{background:#fff8e8;border-radius:9px;flex-direction:column;gap:.2rem;margin-top:1rem;padding:.8rem;display:flex}.tka-card{border:1px solid var(--line);border-radius:12px;margin-top:1rem;padding:1rem}.tka-title{justify-content:space-between;align-items:flex-start;display:flex}.tka-title span{color:var(--blue);text-transform:uppercase;font-size:.72rem;font-weight:800}.tka-title h3{margin:.25rem 0}.tka-score{background:#eef5ff;border-radius:12px;flex-direction:column;align-items:center;min-width:72px;padding:.6rem;display:flex}.tka-score strong{color:var(--blue);font-size:1.5rem}.tka-score small{color:var(--muted)}.dimension-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem;display:grid}.dimension-grid>div{background:#f7f9fc;border-radius:9px;grid-template-columns:1fr auto;gap:.35rem;padding:.7rem;display:grid}.dimension-grid>div>div{background:#e1e8ef;border-radius:99px;grid-column:1/3;height:6px;overflow:hidden}.dimension-grid i{background:#6e74c9;height:100%;display:block}.practice-sets{border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem}.practice-sets h4{margin:0 0 .5rem}.practice-sets>div{border-top:1px solid #eef2f6;justify-content:space-between;gap:.8rem;padding:.6rem 0;display:flex}.practice-sets>div span{flex-direction:column;display:flex}.practice-sets small{color:var(--muted)}@media (width<=900px){.progress-columns{grid-template-columns:1fr}.cohort-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.progress-course-heading,.tka-title{flex-direction:column;gap:.7rem}.mastery-list article{grid-template-columns:1fr}.mastery-band{grid-column:1;justify-self:start}.dimension-grid{grid-template-columns:1fr}.intervention-list article>div:first-child,.practice-sets>div{flex-direction:column;align-items:flex-start}}.attendance-source{border-left-color:#16845d}.attendance-scope{color:#1b609c;background:#eaf4ff;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;font-weight:800;display:flex}.attendance-scope small{color:#5b7891;font-weight:650}.card-icon.red{color:#b43b32;background:#ffe9e7}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.attendance-summary-grid>article{background:#fff;border:1px solid #dfe8f1;border-radius:16px;padding:1.1rem;box-shadow:0 10px 30px #224d6a0a}.attendance-summary-grid>article>div{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.attendance-summary-grid>article>div span{color:var(--muted)}.attendance-summary-grid>article>div strong{color:var(--green)}.attendance-summary-grid dl{grid-template-columns:repeat(5,1fr);gap:.35rem;margin:1rem 0 0;display:grid}.attendance-summary-grid dl div{text-align:center;background:#f5f8fb;border-radius:9px;padding:.55rem .3rem}.attendance-summary-grid dt{color:var(--muted);font-size:.66rem}.attendance-summary-grid dd{color:var(--ink);margin:.2rem 0 0;font-weight:850}.attendance-filter{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.attendance-filter button{color:#45667f;background:#fff;border:1px solid #cfe0ee;border-radius:999px;padding:.5rem .75rem;font-size:.75rem;font-weight:750}.attendance-filter button.active{color:#185ca0;background:#e8f2ff;border-color:#2563eb}.attendance-table-wrap{margin-top:1rem;overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;font-size:.8rem}.attendance-table th{color:#587086;text-align:left;white-space:nowrap;border-bottom:2px solid #dbe6ef;padding:.7rem}.attendance-table td{color:#405c72;border-bottom:1px solid #e5ecf2;padding:.8rem .7rem}.attendance-table td strong{color:var(--ink)}.attendance-status{border-radius:999px;justify-content:center;min-width:82px;padding:.3rem .55rem;font-size:.68rem;font-weight:850;display:inline-flex}.attendance-status.present{color:#146b49;background:#def5e9}.attendance-status.late,.attendance-status.pending{color:#97601e;background:#fff1de}.attendance-status.sick,.attendance-status.excused{color:#2a5f9b;background:#e9f1ff}.attendance-status.absent{color:#a43c34;background:#ffe7e5}.privacy-empty{color:#60788c;background:#f7fafc;border:1px dashed #cbd9e5;border-radius:12px;margin-top:1rem;padding:1rem}.attendance-insight-grid{grid-template-columns:1.15fr .85fr;gap:1rem;display:grid}.attendance-statistics article{background:#f6f9fc;border-radius:11px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;margin-top:.7rem;padding:.75rem;display:grid}.attendance-statistics article>div,.attendance-statistics article>span{flex-direction:column;display:flex}.attendance-statistics article small{color:var(--muted);font-size:.68rem}.attendance-statistics article>span{text-align:right;min-width:90px}.calendar-days{grid-template-columns:repeat(7,minmax(48px,1fr));gap:.35rem;margin-top:.8rem;display:grid}.calendar-days article{color:#176d4d;background:#e8f6ef;border-radius:9px;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .2rem;display:flex}.calendar-days article.closed{color:#8895a1;background:#f1f3f5}.calendar-days article span{font-size:1.05rem;font-weight:900}.calendar-days article small{text-align:center;font-size:.55rem}@media (width<=800px){.attendance-summary-grid,.attendance-insight-grid{grid-template-columns:1fr}.attendance-scope{flex-direction:column;align-items:flex-start}}@media (width<=520px){.attendance-summary-grid dl{grid-template-columns:repeat(3,1fr)}.attendance-statistics article{grid-template-columns:1fr 1fr}.attendance-statistics article>div{grid-column:1/-1}.attendance-statistics article>span{text-align:left}}.elective-offerings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.elective-offerings button{color:var(--ink);text-align:left;background:#fff;border:1px solid #dce6ef;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem;display:flex}.elective-offerings button[aria-pressed=true]{background:#effaf4;border-color:#16845d;box-shadow:0 0 0 2px #16845d22}.elective-offerings button span,.elective-offerings button small{color:var(--muted)}.elective-roster-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem;display:grid}.elective-roster-list label{cursor:pointer;background:#fafcfe;border:1px solid #e0e8ef;border-radius:11px;align-items:center;gap:.7rem;padding:.8rem;display:flex}.elective-roster-list input{accent-color:#16845d;width:18px;height:18px}.elective-roster-list label>span{flex-direction:column;display:flex}.elective-roster-list small{color:var(--muted)}.elective-effective-date{background:#f2f7fb;border:1px solid #dce6ef;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;padding:.9rem 1rem;display:flex}.elective-effective-date label{flex-direction:column;gap:.2rem;display:flex}.elective-effective-date small{max-width:680px}.elective-effective-date input{min-width:175px;color:var(--ink);font:inherit;background:#fff;border:1px solid #b9cad9;border-radius:9px;padding:.7rem .8rem}.elective-save{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.elective-save>div{flex-direction:column;display:flex}.elective-save small{color:var(--muted)}.elective-save .primary-button{min-width:180px;margin:0}.save-success{color:#176b4b;background:#e6f7ee;border-radius:9px;padding:.7rem}.elective-history{margin-top:1rem}.elective-history-list{gap:.55rem;display:grid}.elective-history-list article{background:#fbfcfd;border:1px solid #e2e9ef;border-radius:11px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex}.elective-history-list article>div{flex-direction:column;gap:.15rem;display:flex}.elective-history-list article>div:last-child{align-items:flex-end}.elective-history-list small,.elective-history-list span{color:var(--muted)}.membership-status{border-radius:999px;padding:.2rem .5rem;font-size:.76rem;font-style:normal;font-weight:750}.membership-status.aktif{color:#176b4b;background:#e1f5ea}.membership-status.selesai{color:#64717d;background:#e9eef2}.membership-status.terjadwal{color:#855c00;background:#fff2c9}@media (width<=800px){.elective-offerings,.elective-roster-list{grid-template-columns:1fr}}@media (width<=520px){.elective-save,.elective-effective-date,.elective-history-list article{flex-direction:column;align-items:stretch}.elective-effective-date input{width:100%}.elective-history-list article>div:last-child{align-items:flex-start}}
