.role-aware-nav{border-bottom:1px solid var(--shell-line)}.role-aware-nav-inner{align-items:center;gap:1rem;width:min(100% - 2rem,1120px);min-width:0;margin-inline:auto;padding-block:.8rem;display:flex}.role-aware-nav-label{color:var(--shell-muted);letter-spacing:.12em;text-transform:uppercase;flex:none;margin:0;font-size:.72rem;font-weight:800}.role-aware-nav ul{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-gutter:stable;touch-action:pan-x;gap:.5rem;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.role-aware-nav a,.role-aware-nav-current{border:1px solid var(--shell-line);min-height:44px;color:var(--shell-ink);white-space:nowrap;background:#fffdf8b3;border-radius:.7rem;align-items:center;padding:.55rem .85rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.role-aware-nav a:focus-visible,.role-aware-nav-current:focus-visible{z-index:1;position:relative}.role-aware-nav a:hover,.role-aware-nav a:focus-visible,.role-aware-nav-current{border-color:var(--shell-accent);color:var(--shell-accent-dark);background:#f8eee2}@media (width<=700px){.role-aware-nav-inner{flex-direction:column;align-items:flex-start;gap:.55rem;width:min(100% - 2rem,1120px)}.role-aware-nav ul{width:100%}}.authenticated-shell{--shell-ink:#23313d;--shell-muted:#65717b;--shell-line:#d9d8d2;--shell-accent:#9b5936;--shell-accent-dark:#75432b;--shell-paper:#fffdf8;min-height:100dvh;color:var(--shell-ink);background:radial-gradient(circle at top left, #f8eee2 0, transparent 36rem), var(--shell-paper)}.app-shell-header,.app-shell-content,.app-shell-footer{width:min(100% - 2rem,1120px);min-width:0;margin-inline:auto}.app-shell-header{border-bottom:1px solid var(--shell-line);justify-content:space-between;align-items:center;gap:1rem;padding-block:1.5rem;display:flex}.app-shell-brand,.app-shell-session,.app-shell-context-summary{min-width:0}.app-shell-brand-mark,.app-shell-brand-caption,.app-shell-context-label,.app-shell-context-summary strong,.app-shell-context-summary span,.app-shell-error,.app-shell-footer,.shell-eyebrow{margin:0}.app-shell-brand-mark,.app-shell-context-label,.shell-eyebrow{color:var(--shell-accent-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.app-shell-brand-caption{color:var(--shell-muted);margin-top:.3rem;font-size:.82rem}.app-shell-session{justify-content:flex-end;align-items:center;gap:.85rem;display:flex}.app-shell-context-summary{text-align:right;gap:.15rem;display:grid}.app-shell-context-summary strong{overflow-wrap:anywhere;font-size:.86rem}.app-shell-context-summary>span:last-child{overflow-wrap:anywhere;color:var(--shell-muted);font-size:.78rem}.app-shell-sign-out{border:1px solid var(--shell-ink);min-height:44px;color:var(--shell-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.65rem .95rem}.app-shell-sign-out:hover:not(:disabled),.app-shell-sign-out:focus-visible{color:#fff;background:var(--shell-ink)}.app-shell-sign-out:disabled{cursor:wait;opacity:.65}.app-shell-error{color:#813d34;background:#fff0ed;border:1px solid #b8574a;border-radius:.6rem;width:min(100% - 2rem,1120px);margin:1rem auto 0;padding:.75rem 1rem}.app-shell-content{overflow-wrap:anywhere;min-height:24rem}.shell-route-state{align-content:center;max-width:42rem;min-height:24rem;margin-inline:auto;padding-block:4rem;display:grid}.shell-route-state h1{margin:.65rem 0 0;font-size:clamp(2rem,6vw,3.5rem);line-height:1}.shell-route-state p:last-child{max-width:34rem;color:var(--shell-muted);margin:1rem 0 0;line-height:1.6}.app-shell-footer{border-top:1px solid var(--shell-line);color:var(--shell-muted);justify-content:space-between;gap:1rem;padding-block:1.25rem 2rem;font-size:.8rem;display:flex}@media (width<=700px){.app-shell-header{flex-direction:column;align-items:flex-start;padding-block:1.25rem}.app-shell-session{flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%}.app-shell-context-summary{text-align:left}.app-shell-sign-out{width:100%}.shell-route-state{min-height:20rem;padding-block:3rem}.app-shell-footer{flex-direction:column;align-items:flex-start}}.dashboard-shell{--dashboard-ink:#23313d;--dashboard-muted:#65717b;--dashboard-line:#d9d8d2;--dashboard-accent:#9b5936;--dashboard-accent-dark:#75432b;--dashboard-paper:#fffdf8;--dashboard-soft:#f5f0e7;min-height:100dvh;color:var(--dashboard-ink);background:radial-gradient(circle at top left, #f8eee2 0, transparent 36rem), var(--dashboard-paper)}.dashboard-header,.dashboard-navigation,.dashboard-main,.dashboard-footer{width:min(100% - 2rem,1120px);min-width:0;margin-inline:auto}.dashboard-header{border-bottom:1px solid var(--dashboard-line);justify-content:space-between;align-items:center;gap:1rem;padding-block:1.5rem;display:flex}.dashboard-brand-mark,.dashboard-brand-caption,.dashboard-greeting,.dashboard-eyebrow,.dashboard-card-label,.dashboard-status-badge,.dashboard-module-status{margin:0}.dashboard-brand-mark,.dashboard-eyebrow,.dashboard-card-label,.dashboard-status-badge,.dashboard-module-status,.dashboard-context-selector label,.dashboard-context-details dt{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.dashboard-brand-mark{color:var(--dashboard-accent-dark)}.dashboard-brand,.dashboard-session-actions{min-width:0}.dashboard-brand-caption,.dashboard-session-email,.dashboard-navigation li span:last-child,.dashboard-footer,.dashboard-greeting,.dashboard-card-label{color:var(--dashboard-muted)}.dashboard-brand-caption{margin-top:.3rem;font-size:.82rem}.dashboard-session-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.85rem;display:flex}.dashboard-session-email{overflow-wrap:anywhere;font-size:.86rem}.dashboard-sign-out{border:1px solid var(--dashboard-ink);min-height:44px;color:var(--dashboard-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.65rem .95rem}.dashboard-sign-out:hover:not(:disabled){color:#fff;background:var(--dashboard-ink)}.dashboard-sign-out:disabled{cursor:wait;opacity:.65}.dashboard-navigation{border-bottom:1px solid var(--dashboard-line);padding-block:1rem}.dashboard-navigation ul{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-navigation li{border:1px solid var(--dashboard-line);background:#fffdf8b3;border-radius:.7rem;align-items:baseline;gap:.55rem;min-width:0;padding:.7rem .85rem;display:flex}.dashboard-navigation li span{overflow-wrap:anywhere;min-width:0}.dashboard-navigation li span:first-child{font-weight:700}.dashboard-navigation li span:last-child{font-size:.78rem}.dashboard-error{color:#813d34;background:#fff0ed;border:1px solid #b8574a;border-radius:.6rem;width:min(100% - 2rem,1120px);margin:1rem auto 0;padding:.75rem 1rem}.dashboard-main{gap:2rem;padding-block:clamp(2.5rem,8vw,5.5rem);display:grid}.dashboard-hero{max-width:48rem}.dashboard-eyebrow{color:var(--dashboard-accent)}.dashboard-greeting{overflow-wrap:anywhere;margin-top:.9rem;font-size:1rem}.dashboard-hero h1{letter-spacing:-.05em;max-width:44rem;margin:.4rem 0 1rem;font-size:clamp(2.2rem,7vw,4.8rem);line-height:.98}.dashboard-hero-copy{max-width:38rem;color:var(--dashboard-muted);margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.6}.dashboard-access-status,.dashboard-module-card{border:1px solid var(--dashboard-line);background:#fffdf8d6;border-radius:1rem}.dashboard-access-status{max-width:54rem;padding:clamp(1.2rem,4vw,2rem);box-shadow:0 1.5rem 3rem #4a362612}.dashboard-section-heading h2{margin:.35rem 0 0;font-size:clamp(1.4rem,3vw,2rem)}.dashboard-access-status>p:not(.dashboard-eyebrow),.dashboard-module-card p{line-height:1.55}.dashboard-context-details{border-top:1px solid var(--dashboard-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.2rem;margin:1.5rem 0 0;padding-top:1.2rem;display:grid}.dashboard-context-details div{min-width:0}.dashboard-context-details dt{color:var(--dashboard-muted)}.dashboard-context-details dd{overflow-wrap:anywhere;margin:.35rem 0 0;font-weight:700}.dashboard-context-selector{gap:.55rem;margin-top:1.5rem;display:grid}.dashboard-context-selector label{color:var(--dashboard-muted)}.dashboard-context-selector select{width:100%;min-width:0;min-height:44px;color:var(--dashboard-ink);background:#fff;border:1px solid #b8b9b3;border-radius:.65rem;padding:.75rem .8rem}.dashboard-context-selector p,.dashboard-authorization-note{color:var(--dashboard-muted);margin:0;font-size:.9rem}.dashboard-retry{border:1px solid var(--dashboard-ink);color:#fff;background:var(--dashboard-ink);cursor:pointer;border-radius:.65rem;min-height:44px;margin-top:.75rem;padding:.7rem .9rem;font-weight:700}.dashboard-retry:hover,.dashboard-retry:focus-visible{background:#40515d}.dashboard-status-badge,.dashboard-module-status{color:#6c3c26;background:#f4dfcf;border-radius:.35rem;margin-top:1.25rem;padding:.45rem .6rem;display:inline-block}.dashboard-presentation-note{color:var(--dashboard-muted)}.dashboard-modules{gap:1rem;display:grid}.dashboard-empty-modules{border:1px dashed var(--dashboard-line);color:var(--dashboard-muted);background:#fffdf88c;border-radius:.9rem;margin:0;padding:1.25rem;line-height:1.55}.dashboard-module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.dashboard-module-card{justify-content:space-between;align-items:flex-start;gap:1rem;min-height:12rem;padding:1.25rem;display:flex}.dashboard-module-card>div{min-width:0}.dashboard-module-card h3{margin:.45rem 0 0;font-size:1.3rem}.dashboard-module-card p{color:var(--dashboard-muted);margin-bottom:0}.dashboard-module-status{overflow-wrap:anywhere;letter-spacing:.06em;text-align:center;flex:none;max-width:10rem;margin-top:0;font-size:.65rem}.dashboard-footer{border-top:1px solid var(--dashboard-line);justify-content:space-between;gap:1rem;padding-block:1.25rem 2rem;font-size:.8rem;display:flex}.dashboard-footer span{overflow-wrap:anywhere;min-width:0}@media (width<=700px){.dashboard-header,.dashboard-session-actions,.dashboard-footer,.dashboard-navigation ul{flex-direction:column;align-items:stretch}.dashboard-session-actions{justify-content:flex-start}.dashboard-sign-out{width:100%}.dashboard-navigation li{justify-content:space-between}.dashboard-module-card{flex-direction:column}.dashboard-module-status{max-width:none}.dashboard-context-details{grid-template-columns:1fr}}@media (width<=390px){.dashboard-header,.dashboard-navigation,.dashboard-main,.dashboard-footer{width:min(100% - 1.25rem,1120px)}.dashboard-hero h1{font-size:2.2rem}}@media (height<=560px) and (orientation:landscape){.dashboard-header{padding-block:1rem}.dashboard-main{padding-block:2rem 3rem}}.auth-screen{background:radial-gradient(circle at 15% 10%,#e8d0b780,#0000 28rem),#f4f1eb;place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.auth-card{background:#ffffffb8;border:1px solid #d9d8d2;border-radius:1.5rem;width:min(100%,31rem);min-width:0;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 1.5rem 4rem #23313d1a}.auth-kicker{color:#9b5936;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.auth-card h1{margin-top:.8rem;font-size:clamp(2.3rem,8vw,4rem);line-height:1}.auth-description{color:#65717b;margin:1rem 0 0;line-height:1.6}.auth-form{gap:1.15rem;margin-top:2rem;display:grid}.auth-field{gap:.5rem;display:grid}.auth-field label{color:#23313d;font-size:.85rem;font-weight:700}.auth-field input{color:#23313d;background:#fff;border:1px solid #c4c8c8;border-radius:.7rem;width:100%;min-height:44px;padding:.8rem .9rem}.auth-field input:focus{outline-offset:1px;border-color:#9b5936;outline:3px solid #bb7b4533}.auth-error{color:#8c3227;background:#fff0ed;border-radius:.7rem;margin:0;padding:.75rem .85rem;line-height:1.45}.auth-submit,.session-button{cursor:pointer;border:0;border-radius:.7rem;font-weight:800}.auth-submit{color:#fff;background:#9b5936;min-height:44px;padding:.85rem 1rem}.auth-submit:hover:not(:disabled),.auth-submit:focus-visible{background:#7e452b}.auth-submit:disabled,.session-button:disabled{cursor:wait;opacity:.65}.auth-loading{color:#65717b;background:#f4f1eb;place-items:center;min-height:100dvh;display:grid}@media (height<=560px) and (orientation:landscape){.auth-screen{align-items:start;padding-block:1rem}}#root{min-height:100dvh}.dashboard-context-loading{color:#65717b;background:#f4f1eb;place-items:center;min-height:100dvh;display:grid}.app-shell{--ink:#23313d;--muted:#65717b;--line:#d9d8d2;--accent:#9b5936;min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 78% 0,#e8d0b76b,#0000 32rem),#f4f1eb;flex-direction:column;display:flex}.site-header,.site-main,.site-footer{width:min(100% - 3rem,1120px);min-width:0;margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem 0;display:flex}.session-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.8rem;min-width:0;display:flex}.session-email{min-width:0;max-width:18rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.session-button{color:#fff;background:#23313d;padding:.65rem .85rem}.session-button:hover:not(:disabled),.session-button:focus-visible{background:#40515d}.session-error{color:#8c3227;background:#fff0ed;border-radius:.7rem;width:min(100% - 3rem,1120px);min-width:0;margin:0 auto;padding:.75rem .85rem}.brand-mark,.eyebrow,.card-label{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800;line-height:1.4}.brand-caption{color:var(--muted);margin:.35rem 0 0;font-size:.82rem}.status-badge{color:#285640;letter-spacing:.08em;white-space:nowrap;background:#edf4ef;border:1px solid #c9d4cd;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem .85rem;font-size:.72rem;font-weight:800;display:inline-flex}.status-dot{background:#3d8c61;border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #3d8c6124}.site-main{flex:1;padding:3.5rem 0 5rem}.hero-section{max-width:760px;padding:2rem 0 4.5rem}h1,h2,p{overflow-wrap:anywhere}h1,h2{color:var(--ink);letter-spacing:-.04em;margin:0}h1{max-width:720px;margin-top:1rem;font-size:clamp(2.65rem,7vw,5.5rem);line-height:.99}h2{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.08}.hero-copy{max-width:560px;color:var(--muted);margin:1.75rem 0 0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.value-line{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:2rem 0 0;font-size:.78rem;font-weight:800}.status-section,.institution-section{border-top:1px solid var(--line);padding:2.4rem 0}.section-heading,.institution-heading{gap:.7rem;display:grid}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.75rem;display:grid}.info-card{border:1px solid var(--line);background:#ffffff6b;border-radius:1.25rem;align-content:space-between;gap:1rem;min-height:190px;padding:1.4rem;display:grid}.info-card strong{color:var(--ink);font-size:1.65rem;line-height:1.1}.info-card p{color:var(--muted);margin:0;line-height:1.55}.institution-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:3rem;display:grid}.institution-list{border-top:1px solid var(--line);gap:0;margin:0;display:grid}.institution-list div{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.7fr) minmax(0,1.3fr);gap:1rem;padding:1rem 0;display:grid}.institution-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.institution-list dd{margin:0;line-height:1.5}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding:1.5rem 0 2rem;font-size:.8rem;display:flex}@media (width<=700px){.site-header,.site-main,.site-footer{width:min(100% - 2rem,1120px)}.site-header{flex-direction:column;align-items:flex-start;padding:1.4rem 0}.session-actions{flex-direction:column;align-items:flex-start}.session-email{max-width:100%}.session-error{width:min(100% - 2rem,1120px)}.site-main{padding:2rem 0 3rem}.hero-section{padding:1.5rem 0 3.25rem}.status-grid,.institution-section{grid-template-columns:1fr}.institution-section{gap:2rem}}@media (width<=430px){.institution-list div{grid-template-columns:1fr;gap:.35rem}.site-footer{flex-direction:column;align-items:flex-start}}:root{color:#23313d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f1eb;min-width:320px;min-height:100dvh}body{min-width:320px;min-height:100dvh;margin:0}button,a,input,select,textarea{font:inherit}main,section,article,form,fieldset,dl,table{min-width:0}input,select,textarea,table{max-width:100%}:focus-visible{outline-offset:4px;outline:3px solid #bb7b45}img,svg,canvas{max-width:100%}code,pre{overflow-wrap:anywhere;word-break:break-word}[role=dialog]:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline:2px solid canvastext}}
