.portal-routed.account-shell{max-width:1440px;padding-inline:4%;min-height:65vh}.portal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;align-items:start}.portal-sidebar{position:sticky;top:115px;border:1px solid #8884;background:var(--paper)}.portal-sidebar .portal-area-menu{display:flex;position:static;inset:auto;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px;max-height:calc(100dvh - 150px);overflow:auto}.portal-area-menu a{display:block;padding:12px 14px;border:0;border-bottom:1px solid #8882;font-size:12px;line-height:1.45}.portal-area-menu a[aria-current="page"]{background:var(--ink);color:var(--paper);border-left:3px solid var(--red)}.portal-area-menu a:hover{background:#8881;color:var(--red)}.portal-menu-button{display:none}.portal-content{min-width:0}.portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:45px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #8884;font-size:12px}.portal-current-title{font-weight:700}.portal-back{text-decoration:underline}.portal-routed .portal-view{margin:0;padding-top:0;border-top:0}.portal-routed .portal-view:not(.is-current),.portal-routed .portal-subview:not(.is-current){display:none!important}.portal-home h2{font-size:clamp(38px,4vw,60px);margin-bottom:18px}.portal-home-lead{font-size:14px;color:#666;max-width:600px}.portal-home-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.portal-home-card{position:relative;padding:24px 42px 24px 24px;border:1px solid #8884;border-top:3px solid var(--red);min-height:142px;background:#88888805;transition:background .15s}.portal-home-card:hover{background:#8881}.portal-home-card strong{display:block;font-size:17px;margin-bottom:10px}.portal-home-card>span:not(.portal-card-arrow){display:block;font-size:12px;line-height:1.65;color:#666}.portal-card-arrow{position:absolute;right:18px;top:22px;color:var(--red);font-size:20px}.portal-access-details{border-top:1px solid #8884;padding:18px 0;font-size:13px}.portal-access-details summary,.portal-private-help summary{cursor:pointer;font-weight:700}.portal-access-details .recognition-banner{margin-bottom:0}.portal-routed .portal-subnav{position:static;inset:auto;display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;margin:20px 0;gap:8px;padding:0;background:transparent;border:0}.portal-subnav a{padding:11px 13px;font-size:12px;line-height:1.4;border:1px solid #8885}.portal-subnav a[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.portal-has-subview .portal-teacher-overview-only{display:none}.portal-private-help{font-size:12px;margin:20px 0;padding:14px 0;border-block:1px solid #8883}.portal-private-help .privacy-banner{margin-top:18px}.portal-routed .portfolio-editor:not(.portal-portfolio-active){display:none}.portal-routed .portfolio-editor{margin:0;padding:0;border:0}.portal-routed .portfolio-editor .portal-subview>h2:first-child{margin-top:0}.portal-routed .teacher-form{margin-top:20px}.portal-routed .dashboard-head{margin-bottom:28px}.portal-routed #dashboard-status:empty{display:none}.portal-content>section:focus,.portal-content h2:focus,.portal-content h3:focus{outline:none}body[data-registration="pending"] .portal-routed #athlete-module .portfolio-editor{display:none!important}html[data-theme="dark"] .portal-home-lead,html[data-theme="dark"] .portal-home-card>span:not(.portal-card-arrow){color:#b9bec6}
@media(max-width:850px){.portal-layout{grid-template-columns:1fr;gap:18px}.portal-sidebar{position:static}.portal-menu-button{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border:0;border-left:4px solid var(--red);font-size:13px;font-weight:700;padding:16px 18px;text-align:left}.portal-menu-button::after{content:'☰';font-size:18px}.portal-menu-button[aria-expanded="true"]::after{content:'×'}.portal-sidebar:not(.is-open) .portal-area-menu{display:none}.portal-sidebar .portal-area-menu{max-height:55dvh}.portal-toolbar{margin-bottom:22px}.portal-routed.account-shell{padding-inline:6%}.portal-home-cards{gap:12px}.portal-home-card{padding:20px 28px 20px 18px;min-height:144px}.portal-home-card strong{font-size:15px}.portal-card-arrow{right:10px;font-size:16px}.portal-routed .dashboard-head h2{font-size:30px}.portal-routed .dashboard-head{gap:12px}.portal-routed .dashboard-head>div{min-width:0}.portal-subnav a{flex:1 1 110px;text-align:center}.portal-access-details .recognition-banner{padding:18px}}
@media(max-width:360px){.portal-home-cards{grid-template-columns:1fr}.portal-home-card{min-height:112px}.portal-routed .dashboard-head h2{font-size:27px}.portal-routed #signout{padding:9px;font-size:11px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.portal-home-card{transition:none}}

.portal-routed .dashboard-head .account-role{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--red);margin:12px 0 8px;line-height:1.5}

.institution-privacy-choice{padding:20px;border:1px solid #8885;border-top:3px solid var(--red);margin:18px 0}.institution-privacy-choice p{font-size:13px;line-height:1.7}.institution-privacy-state{font-size:13px;font-weight:700;line-height:1.7;padding:14px 16px;border-left:3px solid var(--ink);background:#8881}.institution-privacy-state[data-visibility="shared"]{border-left-color:var(--red)}

.institution-share-confirm{padding:20px;border:2px solid var(--red);margin:20px 0}.institution-share-confirm h3{margin:0 0 12px;font-size:26px}.institution-share-confirm p{font-size:13px;line-height:1.7}.institution-confirm-actions{display:flex;flex-wrap:wrap;gap:12px}.institution-confirm-actions .button{white-space:normal}

.ct-link-entry{border:1px solid #8885;padding:20px;margin:20px 0}.ct-link-entry>summary{font-weight:700;cursor:pointer}.ct-link-heading,.ct-link-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ct-link-heading{justify-content:space-between;margin-top:32px}.ct-link-actions{margin:20px 0 8px}.ct-link-confirm{padding:16px;border:2px solid var(--red);margin-top:20px}.ct-link-confirm .small-button{margin:8px 8px 0 0}.ct-link-card h4{font-size:24px;margin:12px 0;overflow-wrap:anywhere}.ct-code-result input{font-family:monospace;letter-spacing:.04em}.ct-link-card .small-button,.ct-link-entry .button,.ct-link-entry .small-button{white-space:normal;max-width:100%}.ct-link-preview:empty,.ct-code-result:empty{display:none}.ct-link-preview:not(:empty){padding:16px;border-left:3px solid var(--red);margin:20px 0}.ct-link-group{margin:28px 0}.ct-link-card p{overflow-wrap:anywhere}

.ct-note-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.ct-note-actions button,.ct-suggestion-review button,.ct-note-confirm button{white-space:normal;max-width:100%}.ct-note-body{white-space:pre-wrap;overflow-wrap:anywhere}.ct-note-card h3{overflow-wrap:anywhere}.ct-note-meta{font-size:13px;color:var(--red)}.ct-note-confirm,.ct-suggestion-review:not(:empty){padding:20px;border:2px solid var(--red);margin:20px 0}.ct-note-confirm button,.ct-suggestion-review button{margin:8px 10px 0 0}.ct-suggestion-review:empty{display:none}
