:root{color:#10231f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f4ec;font-family:ui-sans-serif,Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}h1,h2,p{margin-top:0}p{color:inherit}.auth-shell,.restore-shell,.dashboard-shell{min-height:100svh}.restore-shell{background:radial-gradient(circle at 50% 30%,#2f7c692e,#0000 34%),#f7f4ec;place-items:center;padding:24px;display:grid}.restore-shell p{color:#435149;background:#ffffffc7;border:1px solid #10231f1f;border-radius:999px;padding:14px 22px;font-weight:800;box-shadow:0 18px 60px #10231f14}.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);display:grid}.brand-panel{color:#f5f0df;background:radial-gradient(circle at 20% 20%,#2f7c6947,#0000 32%),linear-gradient(135deg,#10231f 0%,#163f38 52%,#d7b86f 160%);flex-direction:column;justify-content:center;padding:clamp(32px,7vw,96px);display:flex}.brand-panel h1,.dashboard-header h1{max-width:760px;margin:0 0 24px;font-size:clamp(2.4rem,6vw,5rem);line-height:.95}.brand-panel p{max-width:620px}.auth-card{background:#ffffffd1;border:1px solid #10231f1f;border-radius:28px;place-self:center;width:min(420px,100% - 48px);padding:32px;box-shadow:0 24px 90px #10231f24}.auth-card h2{margin-top:0}form,label{gap:10px;display:grid}form{gap:18px}label{color:#435149;font-weight:700}input{color:#10231f;font:inherit;border:1px solid #cdd8d2;border-radius:14px;padding:13px 14px}select{color:#10231f;font:inherit;background:#fff;border:1px solid #cdd8d2;border-radius:14px;padding:13px 14px}button{color:#fffaf0;cursor:pointer;font:inherit;background:#1b6658;border:0;border-radius:999px;padding:13px 20px;font-weight:800}button.secondary-button,.secondary-button{color:#173b34;background:#e9efe9}button:disabled{cursor:wait;opacity:.65}.form-error{color:#8f2f1d;background:#fff0ed;border:1px solid #f4b7aa;border-radius:14px;padding:12px 14px}.field-error{color:#8f2f1d;font-size:.9rem;font-weight:800}.optional-label{color:#68766f;font-size:.86rem;font-weight:800}.dashboard-shell{background:linear-gradient(90deg,#d7b86f33,#0000 42%),#f7f4ec;padding:clamp(20px,4vw,56px)}.dashboard-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.dashboard-card{background:#ffffffc7;border:1px solid #10231f1f;border-radius:28px;max-width:820px;margin-bottom:18px;padding:28px;box-shadow:0 18px 60px #10231f14}.dashboard-card h2{margin:0 0 10px}.dashboard-data-card h2{margin-bottom:20px}.dashboard-context-card{border-color:#1b665838}.dashboard-context-card label{margin-bottom:18px}.context-summary{background:#1b665814;border-radius:18px;padding:16px}.context-summary strong{margin-bottom:6px;font-size:1.15rem;display:block}.context-summary p{color:#435149;margin:0}.dashboard-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.dashboard-facts dt{color:#68766f;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800}.dashboard-facts dd{color:#10231f;margin:4px 0 0;font-weight:800}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:820px;margin-bottom:18px;display:grid}.institution-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px;display:grid}.institution-summary-card{margin-bottom:18px}.compact-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{color:#f5f0df;background:#173b34;border-radius:22px;padding:22px}.summary-card p{color:#d7b86f;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:900}.summary-card strong{font-size:1.35rem}.eyebrow{color:#b38b2f;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}.session-note{color:#68766f;margin-top:18px}.institution-shell{background:#f7f4ec;grid-template-columns:260px minmax(0,1fr);min-height:100svh;display:grid}.institution-sidebar{color:#f5f0df;background:#10231f;padding:32px 24px}.institution-sidebar h1{margin:0 0 28px;font-size:1.25rem;line-height:1.25}.institution-sidebar nav{gap:8px;display:grid}.institution-nav{color:#e8e6d9;border-left:3px solid #0000;border-radius:12px;padding:11px 14px;font-weight:800;text-decoration:none}.institution-nav:hover,.institution-nav.active{color:#fff;background:#1b6658;border-left-color:#d7b86f}.institution-content{min-width:0}.institution-topbar{background:#ffffffe6;border-bottom:1px solid #10231f1f;justify-content:space-between;align-items:center;padding:14px clamp(20px,4vw,48px);display:flex}.institution-page{padding:clamp(20px,4vw,48px)}.read-only-badge{color:#725714;background:#d7b86f33;border:1px solid #b38b2f59;border-radius:999px;margin:0 0 24px;padding:7px 12px;font-size:.78rem;font-weight:900;display:inline-block}.surface-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.surface-header h1{color:#10231f;margin:0 0 12px;font-size:clamp(2rem,5vw,3.8rem);line-height:1}.surface-header p{color:#52615a;max-width:760px;margin:0}.primary-action-link{color:#fffaf0;background:#1b6658;border-radius:999px;flex:none;justify-content:center;padding:12px 18px;font-weight:800;text-decoration:none;display:inline-flex}.fixed-role-label{color:#173b34;background:#edf4f1;border:1px solid #cdd8d2;border-radius:12px;margin:0;padding:12px 14px;font-weight:800}.invitation-success{color:#173b34;background:#edf4f1;border:1px solid #b8d3c9;border-left:5px solid #1b6658;border-radius:14px;padding:16px}.invitation-success h2{margin:0 0 12px;font-size:1rem}.invitation-success dl{gap:10px;margin:0;display:grid}.invitation-success div{gap:4px;display:grid}.invitation-success dt{color:#52615a;font-size:.82rem;font-weight:800}.invitation-success dd{overflow-wrap:anywhere;margin:0}.surface-state,.detail-card{background:#fff;border:1px solid #10231f1f;border-left:5px solid #1b6658;border-radius:20px;max-width:1000px;margin-bottom:20px;padding:24px}.surface-state.error{border-left-color:#a6412d}.surface-state.empty{border-left-color:#8a938e}.surface-state h2,.detail-card h2{margin-top:0}.table-scroll{max-width:100%;overflow-x:auto}table{border-collapse:collapse;background:#fff;border:1px solid #10231f1f;width:100%;min-width:760px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #10231f1a;padding:14px}td small{color:#68766f;margin-top:4px;display:block}td a,.back-link,.action-link{color:#155548;font-weight:800}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:0;display:grid}.detail-grid dt{color:#68766f;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.detail-grid dd{margin:5px 0 0}.safe-note{color:#52615a;margin:-10px 0 18px}.account-connection-panel{border-top:1px solid #10231f1f;gap:16px;margin-top:24px;padding-top:22px;display:grid}.account-connection-panel .safe-note{margin:0}.status-pill{color:#173b34;background:#edf4f1;border:1px solid #b8d3c9;border-radius:999px;padding:7px 12px;font-size:.82rem;font-weight:900;display:inline-flex}.participation-context{max-width:1000px;margin-bottom:22px}.participation-card-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;max-width:1100px;margin:0 0 22px;display:grid}.metric-card{min-height:92px}.metric-card span{color:#68766f;font-size:.82rem;font-weight:900}.metric-card strong{color:#10231f;font-size:1.7rem;line-height:1}.pagination-row{align-items:center;gap:12px;margin-top:16px;display:flex}.account-connection-confirmation h4{margin:0 0 8px}.account-connection-confirmation p{color:#52615a;margin:0}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading-row h2,.section-heading-row h3{margin:0}.success-message,.selector-status{color:#173b34;background:#1b665814;border:1px solid #1b66582e;border-radius:14px;margin:14px 0;padding:12px 14px;font-weight:800}.teacher-selector{border-top:1px solid #10231f1f;gap:16px;margin-top:20px;padding-top:20px;display:grid}.teacher-search-form{grid-template-columns:minmax(220px,420px) auto;align-items:end;gap:12px;max-width:640px;display:grid}.candidate-list{border:0;gap:10px;margin:0;padding:0;display:grid}.candidate-list legend{color:#68766f;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:900}.candidate-list label{background:#1b665812;border:1px solid #10231f1a;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;max-width:640px;padding:12px 14px;display:grid}.candidate-list input{grid-row:span 2}.candidate-list span,.candidate-list small{overflow-wrap:anywhere;min-width:0}.candidate-list small{color:#68766f;font-weight:800}.safe-list{gap:12px;padding:0;list-style:none;display:grid}.safe-list li{background:#1b665812;border-radius:14px;gap:5px;padding:16px;display:grid}.back-link{margin-top:8px;display:inline-block}.action-link{color:#fffaf0;background:#1b6658;border-radius:999px;margin-top:18px;padding:12px 18px;text-decoration:none;display:inline-block}.action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.period-form,.confirmation-panel{background:#fff;border:1px solid #10231f1f;border-left:5px solid #1b6658;border-radius:20px;max-width:720px;padding:24px}.confirmation-panel{border-left-color:#b38b2f;margin-bottom:20px}.period-form input{max-width:420px}.filter-row,.form-grid,.button-row{flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0;display:flex}.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.surface-card{background:#fff;border:1px solid #10231f1f;border-radius:8px;gap:12px;padding:18px;display:grid}.surface-card h2{margin:0;font-size:1.05rem}.link-button{color:#1b6658;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.unframed-section{max-width:760px;margin-top:24px}.review-panel,.modal-panel{border:1px solid #10231f1f;border-radius:8px;margin-top:18px;padding:18px}.review-panel{background:#1b66580f}.modal-panel{background:#fff;max-width:560px;box-shadow:0 18px 45px #10231f24}@media (width<=860px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:36svh}.auth-card{margin:24px 0}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-facts,.dashboard-grid,.institution-summary-grid,.institution-shell{grid-template-columns:1fr}.institution-sidebar{padding:20px}.institution-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.institution-topbar{flex-direction:column;align-items:flex-start;gap:10px}.surface-header{flex-direction:column}.teacher-search-form{grid-template-columns:1fr}}
