:root { --navy:#10233f; --navy-2:#17395f; --orange:#f36c2f; --cream:#f7f4ee; --ink:#172235; --muted:#617083; --line:#dce2e8; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--cream); font-family:Inter,Segoe UI,Arial,sans-serif; }
a { color:inherit; }
.app-shell { min-height:100vh; display:grid; grid-template-rows:auto auto 1fr auto; }
.topbar { min-height:92px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 20px; padding:12px clamp(16px,5vw,72px); color:var(--navy); background:white; border-bottom:4px solid var(--orange); }
.brand { display:flex; align-items:center; gap:10px; color:#15234b; text-decoration:none; }
.brand-mark { width:64px; height:64px; flex:0 0 64px; object-fit:contain; }
.brand strong,.brand small { display:block; }.brand .brand-wordmark { display:flex; font-family:Arial,'Segoe UI',sans-serif; font-size:clamp(1.2rem,3vw,1.6rem); font-weight:900; letter-spacing:-.055em; white-space:nowrap; }.brand-for { color:#f05223; }.brand small { margin-top:3px; color:var(--muted); font-size:.75rem; }
.account-link { padding:9px 15px; border:1px solid #60738e; border-radius:999px; text-decoration:none; }
.workspace-nav { display:flex; gap:4px; padding:0 clamp(20px,5vw,72px); overflow:auto; background:white; border-bottom:1px solid var(--line); }
.workspace-nav a { flex:0 0 auto; padding:15px 13px 12px; border-bottom:3px solid transparent; color:#46566a; text-decoration:none; font-size:.92rem; font-weight:700; }
.workspace-nav a.active { color:var(--navy); border-color:var(--orange); }
.content { width:min(1180px,100%); margin:0 auto; padding:clamp(42px,7vw,88px) clamp(20px,5vw,72px); }
.hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:clamp(410px,43vw,485px); overflow:hidden; padding:clamp(34px,5vw,62px); border-radius:20px; background-color:var(--navy); background-image:url('teams-stadium-hero.png'); background-position:right center; background-size:auto 100%; background-repeat:no-repeat; box-shadow:0 20px 55px rgba(16,35,63,.18); }
.registration-hero { width:100vw; margin-left:calc(50% - 50vw); padding-left:clamp(20px,3vw,58px); padding-right:clamp(24px,5vw,96px); border-radius:0; }
.hero:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 27%,rgba(16,35,63,.96) 34%,rgba(16,35,63,.72) 43%,rgba(16,35,63,.18) 53%,transparent 63%); }
.hero-copy { width:min(39%,470px); color:white; }.hero-copy h1 { color:white; font-size:clamp(2.05rem,3.25vw,3.3rem); text-shadow:0 3px 18px rgba(0,0,0,.25); }.hero-copy .lede { margin-bottom:9px; color:#edf2f8; }.hero-note { max-width:440px; margin-bottom:0; color:#becbdd; font-size:.82rem; line-height:1.55; }.hero-secondary { color:white; border:1px solid rgba(255,255,255,.7); background:rgba(16,35,63,.34); backdrop-filter:blur(5px); }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { text-transform:capitalize; } h1 { max-width:780px; margin-bottom:22px; color:var(--navy); font-family:Georgia,serif; font-size:clamp(2.6rem,6vw,5.6rem); line-height:.98; letter-spacing:-.045em; } h2 { color:var(--navy); font-size:clamp(1.5rem,3vw,2.25rem); } h3 { color:var(--navy); }
.eyebrow { margin-bottom:14px; color:var(--orange); font-size:.78rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.lede { max-width:730px; color:var(--muted); font-size:1.16rem; line-height:1.7; }
.hero-card,.signin-grid article,.card-grid article,.empty-state { background:white; border:1px solid var(--line); border-radius:18px; box-shadow:0 14px 38px rgba(16,35,63,.07); }
.hero-card { padding:32px; border-top:5px solid var(--orange); }.hero-card p,.card-grid p,.empty-state p,.signin-grid p { color:var(--muted); line-height:1.65; }
.status { display:inline-block; margin-bottom:18px; padding:6px 10px; color:#9c421c; background:#fff0e8; border-radius:999px; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }.button { display:inline-block; border:0; border-radius:8px; padding:12px 18px; font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }.button.primary { color:white; background:var(--orange); }.button.secondary { color:var(--navy); background:white; border:1px solid #a9b5c3; }.button:disabled { opacity:.48; cursor:not-allowed; }
.section { padding-top:100px; }.foundation-section { width:100vw; margin-left:calc(50% - 50vw); padding:84px clamp(24px,5vw,96px) 96px; }.section>h2 { max-width:720px; }.card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:30px; }.card-grid article { padding:25px; }.card-grid article>span { color:var(--orange); font-weight:900; }
.narrow { max-width:860px; margin:0 auto; }.signin-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:34px; }.signin-grid article { padding:28px; }.signin-grid small { display:block; margin-top:12px; color:#8b4a2d; }
.signin-welcome { position:relative; min-height:360px; display:flex; align-items:center; isolation:isolate; }.signin-welcome-art { position:absolute; inset:0 0 0 auto; width:68%; height:100%; object-fit:cover; object-position:65% center; z-index:-1; border-radius:18px; -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 50%); mask-image:linear-gradient(to right,transparent 0%,#000 50%); }.signin-welcome-copy { width:62%; padding:24px 0; }.signin-heading { text-transform:none; font-size:clamp(2.1rem,5.4vw,3.83em); line-height:1.04; }.signin-heading span { white-space:nowrap; }.signin-welcome-copy>p:last-child { max-width:390px; margin-bottom:0; color:var(--muted); line-height:1.65; }.signin-grid article { display:flex; flex-direction:column; }.signin-actions { margin-top:auto; }.signin-actions form { margin:0; }.signin-actions .button { width:100%; min-height:48px; }.signin-grid .signin-status { min-height:3.3em; line-height:1.5; }
@media(max-width:620px){.signin-welcome { display:flex; flex-direction:column; align-items:stretch; min-height:0; }.signin-welcome-copy { width:100%; padding:0; }.signin-welcome-art { position:relative; inset:auto; order:1; z-index:0; width:100%; height:230px; margin-top:14px; object-position:70% center; -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 25%); mask-image:linear-gradient(to right,transparent 0%,#000 25%); }}
.area-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }.area-heading h1 { font-size:clamp(2.6rem,5vw,4.8rem); }.empty-state { max-width:820px; margin-top:28px; padding:32px; }
footer { display:flex; justify-content:space-between; gap:20px; padding:25px clamp(20px,5vw,72px); color:#bfcada; background:var(--navy); font-size:.82rem; }
#blazor-error-ui { display:none; position:fixed; inset:auto 0 0 0; padding:12px 20px; color:#4b250e; background:#fff3cd; z-index:1000; }#blazor-error-ui .dismiss { float:right; cursor:pointer; }
.team-monogram { display:grid; place-items:center; width:62px; height:62px; border-radius:50%; flex:0 0 62px; background:var(--navy); color:white; border:3px solid var(--orange); font-size:1.05rem; font-weight:900; letter-spacing:.04em; }
.team-brand-name { font-size:clamp(1.05rem,3vw,1.45rem); }
.team-content { width:min(1280px,100%); padding-top:36px; padding-bottom:56px; }
.team-logo { width:62px; height:62px; object-fit:contain; flex:0 0 62px; }
.team-platform-mark { color:var(--muted); font-size:.76rem; }.team-platform-mark strong { color:var(--navy); }.team-platform-mark strong span { color:var(--orange); }
.team-portal-intro { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px; align-items:start; }
.team-portal-intro .team-portal-hero { min-height:360px; padding:40px; }
.team-portal-hero h1 { font-size:clamp(2.5rem,4vw,4rem); }.team-portal-hero .team-hero-lede { font-size:1.2rem; }
.team-signin-panel { padding:26px; border:1px solid var(--line); border-top:4px solid var(--orange); border-radius:16px; background:white; box-shadow:0 12px 35px #10233f0d; }
.team-signin-panel h2 { font-size:1.55rem; text-transform:none; margin-bottom:14px; }.team-signin-panel p { font-size:.9rem; color:var(--muted); line-height:1.6; }.team-signin-panel .eyebrow { font-size:.68rem; color:var(--orange); }
.team-signin-panel form { margin:0; }.team-signin-panel .button { width:100%; text-align:center; }.team-signin-panel small { display:block; margin-top:12px; color:var(--muted); }
.team-edit-link { display:block; margin-top:18px; color:var(--navy); font-weight:700; font-size:.87rem; }.team-signin-panel form.team-staff-signin { display:block; margin-top:18px; }
.team-announcements { padding-top:46px; scroll-margin-top:24px; }.team-board-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }.team-board-heading h2 { text-transform:none; font-size:clamp(1.6rem,3vw,2.15rem); margin-bottom:0; }.team-board-heading .eyebrow { margin-bottom:10px; }
.team-announcement-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; align-items:start; }
.team-announcement-card { border:1px solid var(--line); border-radius:16px; background:white; padding:28px; box-shadow:0 10px 30px #10233f08; min-width:0; }
.team-card-kind { color:var(--orange); text-transform:uppercase; font-size:.68rem; letter-spacing:.12em; font-weight:850; margin-bottom:16px; }.team-announcement-card h3 { font-size:1.2rem; line-height:1.4; text-transform:none; overflow-wrap:anywhere; }.team-card-body { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--muted); line-height:1.7; margin-bottom:0; }
.team-notice { padding:24px; background:white; border:1px solid var(--line); border-radius:12px; color:var(--muted); }.team-notice h3 { text-transform:none; }
.team-editor h1 { font-size:clamp(2rem,4vw,3.25rem); text-transform:none; }.team-editor>p { max-width:760px; line-height:1.65; }.team-editor-grid { display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; margin-top:28px; }.team-editor-list { display:flex; flex-direction:column; gap:12px; }
.team-card-select { text-align:left; border:1px solid var(--line); border-radius:10px; background:white; padding:16px; cursor:pointer; overflow-wrap:anywhere; }.team-card-select span { display:block; margin-top:8px; color:var(--muted); font-size:.8rem; }.team-card-select:focus-visible { outline:3px solid var(--orange); }
.team-editor fieldset { padding:26px; background:white; border:1px solid var(--line); border-radius:14px; min-width:0; }.team-editor legend { padding-inline:8px; color:var(--navy); font-weight:800; }.team-editor label { display:block; font-weight:700; font-size:.88rem; margin:14px 0 8px; }.team-editor input:not([type=checkbox]),.team-editor textarea,.team-editor select { display:block; width:100%; padding:11px; border:1px solid #a9b5c3; border-radius:7px; font:inherit; }.team-editor textarea { resize:vertical; }.team-editor .team-publish-check { display:flex; gap:10px; align-items:center; margin-top:24px; }.team-editor-hint { color:var(--muted); font-size:.82rem; line-height:1.5; }.validation-message,.validation-summary-errors { color:#a52a20; }
@media(max-width:850px){.team-portal-intro { grid-template-columns:minmax(0,1fr) 240px; gap:16px; }.team-portal-intro .team-portal-hero { padding:28px; }.team-signin-panel { padding:20px; }}
@media(max-width:680px){.team-portal-intro,.team-editor-grid { grid-template-columns:1fr; }.team-portal-intro .team-portal-hero { min-height:330px; }.team-signin-panel { width:100%; }.team-board-heading { align-items:flex-start; flex-direction:column; }.team-platform-mark { display:none; }.team-logo { width:48px; height:48px; flex-basis:48px; }}
.team-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:480px; border-radius:22px; overflow:hidden; padding:clamp(28px,5vw,62px); background:var(--navy) url('/teams-stadium-hero.png') right center/auto 100% no-repeat; box-shadow:0 18px 45px #10233f20; }
.team-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#10233f 0%,#10233ff0 36%,#10233f80 65%,#10233f30 100%); }
.team-hero-copy { max-width:590px; color:white; }
.team-hero h1 { color:white; text-transform:none; font-size:clamp(2.6rem,5.2vw,4.6rem); line-height:1.05; }
/* Navigation focuses the heading for screen readers without outlining the hero text. */
.registration-hero h1:focus, .team-hero h1:focus { outline:none; }
.team-hero-copy>p { max-width:420px; line-height:1.65; color:#e4ebf3; }
.team-hero-copy .team-hero-lede { font-size:1.4rem; color:white; font-weight:650; line-height:1.45; }
.team-hero-copy .eyebrow { color:#ffad83; }
.team-start { padding-top:58px; }
.team-start>div:first-child { max-width:620px; }
.team-start p,.team-help p { color:var(--muted); line-height:1.65; }
.team-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:28px; }
.team-steps article { padding:28px; border:1px solid var(--line); border-radius:16px; background:white; }
.team-steps article>span { display:inline-block; color:var(--orange); font-size:.85rem; font-weight:900; margin-bottom:22px; }
.team-steps h3 { font-size:1.25rem; text-transform:none; }
.team-steps p { margin-bottom:0; }
.team-help { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:28px 32px; margin-top:32px; border-radius:16px; background:#e9eef4; }
.team-help h2 { font-size:1.35rem; margin-bottom:10px; text-transform:none; }
.team-help p { max-width:640px; margin-bottom:0; }
.team-help .button { flex-shrink:0; }
@media(max-width:700px){.team-hero { min-height:510px; align-items:flex-end; background-position:65% center; }.team-hero::before { background:linear-gradient(0deg,#10233f 0%,#10233fe6 55%,#10233f30 100%); }.team-steps { grid-template-columns:1fr; }.team-help { align-items:flex-start; flex-direction:column; }.team-topbar .account-link { font-size:.8rem; }.team-monogram { width:48px; height:48px; flex-basis:48px; font-size:.85rem; }}
.membership-preview-note { max-width:870px; margin:0 auto 25px; padding:12px 18px; border:1px solid #d5dee8; border-radius:9px; background:#edf2f6; font-size:.82rem; color:#46566a; text-align:center; }
@media(max-width:850px){.card-grid { grid-template-columns:1fr 1fr; }.hero { min-height:540px; align-items:flex-end; padding:34px; background-position:62% center; }.hero:before { background:linear-gradient(0deg,var(--navy) 0%,rgba(16,35,63,.97) 35%,rgba(16,35,63,.48) 57%,rgba(16,35,63,.04) 78%); }.hero-copy { width:100%; max-width:660px; }.workspace-nav { padding-inline:12px; }}
@media(max-width:620px){.brand small { display:none; }.card-grid,.signin-grid { grid-template-columns:1fr; }.hero { min-height:540px; padding:28px 24px; background-position:65% center; }.hero-copy h1 { font-size:clamp(2.15rem,10vw,3.2rem); }.area-heading,footer { flex-direction:column; }.content { padding-top:38px; }}
