:root{--ink:#17283c;--muted:#647386;--line:#e8edf1;--accent:#087f80}
body{background:#f5f7f9;color:var(--ink)}
button,a,input,select,textarea{letter-spacing:0}
#content{min-height:65vh}
.page-heading{gap:16px;align-items:center;margin-bottom:28px}
.page-heading h1{font-size:28px;line-height:1.2}
.admin-context{background:transparent;border:0;padding:0 0 20px;color:var(--muted);font-size:12px}
.admin-context svg{width:16px;height:16px}
.button{border-radius:8px;min-height:46px;padding:11px 17px;font-weight:600;gap:9px;box-shadow:none}
.button svg,.cash-link svg,.profile-action svg{width:22px;height:22px;flex-shrink:0}
.button.secondary{background:#fff;border:1px solid #dbe3e9;color:var(--ink)}
.button:hover,.workspace-tool:hover{filter:brightness(.98);border-color:#95b7bb}
a:focus-visible,button:focus-visible{outline:3px solid #159caa;outline-offset:4px}
.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:960px}
.workspace-tool{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;min-height:100px}
.workspace-tool>svg:first-child{width:26px;height:26px;color:#087e8a;flex-shrink:0}
.workspace-tool:nth-child(2)>svg:first-child{color:#c18514}
.workspace-tool:nth-child(3)>svg:first-child{color:#c25a67}
.workspace-tool:nth-child(4)>svg:first-child{color:#33856a}
.workspace-tool>svg:last-child{width:18px;height:18px;margin-left:auto;color:#81909c;flex-shrink:0}
.workspace-tool span{display:grid;gap:7px;min-width:0}
.workspace-tool small{color:var(--muted);font-size:13px;line-height:1.4}
.cash-link,.profile-action{min-height:64px;gap:16px}
.cash-links{gap:14px}
.cash-link{padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}
.student-row{padding:20px 16px;margin:8px 0;background:#fff;border:1px solid var(--line);border-radius:8px;gap:15px}
.student-initial{width:42px;height:42px;font-size:18px;background:#e7f2f3;color:#176b75}
.student-row-copy{min-width:0;line-height:1.5}
.student-row-copy strong{font-weight:600}
.student-row-copy small{color:var(--muted)}
.search-field{margin:24px 0}
.form-field input,.form-field select,.form-field textarea{border-radius:8px;border-color:#dbe3e9;min-height:46px}
.editor-section{margin-bottom:28px}
.home-layout{gap:28px}
.activity{overflow:hidden}
.team-photo{max-height:280px;object-fit:cover;object-position:center 48%}
.activity-copy{padding:22px 0}
.student-access{min-height:70px;border-radius:8px;background:#e9f4f3;border-color:#d4e7e5}
.student-access svg{width:25px;height:25px}
.main-nav svg{width:23px;height:23px}
.athlete-header h1{font-size:28px;line-height:1.25}
.athlete-section{padding-top:24px;margin-top:24px}
@media(max-width:600px){.workspace-grid{grid-template-columns:1fr;gap:12px}.workspace-tool{padding:20px;min-height:86px}.page-heading h1,.athlete-header h1{font-size:25px}.page-heading{flex-wrap:wrap}.home-layout{gap:24px}.team-photo{max-height:220px}.student-row{padding:16px 12px}.quiet-label{font-size:11px}.admin-context{padding-bottom:15px}.workspace-tool strong{font-size:16px}}

/* Shared sports identity: quiet surfaces, compact accents and photo-led activity. */
:root{--ink:#10224b;--muted:#58667c;--blue:#0759eb;--accent:#0759eb;--line:#e9edf4;font-family:"Segoe UI",Arial,sans-serif}
body{background:#edf1f6}
.app-shell{max-width:1200px;background:#fff}
.app-header{padding:24px 40px 18px}
.brand img{width:60px;height:60px}
.brand strong{font-size:20px;color:#10224b}
.brand b{color:inherit}
.brand small{color:#7e8ba2;font-size:12px}
.avatar{background:#eaf0f8;color:#10224b}
.phase-banner{background:transparent;padding:0 40px 4px;min-height:0;color:#58667c;font-size:13px}
main{padding:26px 40px 110px}
main[data-section]{--accent:var(--blue);--accent-soft:var(--soft-blue);--accent-line:var(--line)}
main[data-section]:not([data-section=home]) .page-heading{border:0;padding:0;margin-bottom:24px}
.page-heading h1,.home-welcome h1{font-size:32px;line-height:1.2;font-weight:750;color:#10224b}
.back-link{font-size:13px;color:#6d7b91;margin-bottom:12px}
.back-link svg{width:17px;height:17px}
.view-tabs{display:flex;border-bottom:1px solid var(--line);gap:12px;margin:0 0 28px}
.view-tabs a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;color:#65738d;font-size:15px;font-weight:600;position:relative;padding:10px 8px}
.view-tabs a[aria-current=page]{color:#0759eb}
.view-tabs a[aria-current=page]:after{content:"";position:absolute;height:3px;bottom:-1px;left:0;right:0;background:#0759eb;border-radius:3px}
.section-tabs{max-width:660px}
.home-welcome{display:flex;justify-content:space-between;align-items:center;margin:4px 0 24px}
.home-welcome h1 span{color:#0759eb}
.home-welcome .icon-button{background:transparent;color:#7888a2}
.sport-home{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px 36px}
.home-team-photo{display:block;width:100%;height:350px;object-fit:cover;object-position:center 46%;grid-column:1;grid-row:1 / span 3;border-radius:8px}
.home-next{grid-column:2}
.home-next h2,.home-week h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;margin-bottom:16px}
.home-next h2 svg,.home-week h2 svg{width:22px;height:22px;color:#24467f}
.next-activity-content{display:flex;align-items:center;gap:12px;background:#f3f6fa;border-radius:8px;padding:16px;min-height:88px}
.next-activity-content>svg{width:23px;height:23px;color:#8e9bb2;flex-shrink:0}
.next-activity-content>div{flex:1;min-width:0;font-size:13px;color:#60708b;line-height:1.5}
.next-activity-content strong{display:block;color:#172d52;font-size:14px}
.next-activity-content small{display:block;font-size:12px;margin-top:4px}
.compact-link{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:600;color:#0759eb;min-height:44px;flex-shrink:0}
.compact-link svg{width:16px;height:16px}
.home-students{grid-column:2;display:flex;gap:18px;align-items:center;padding:16px 20px;background:#eaf3ff;border-radius:8px;min-height:98px}
.home-students img{width:90px;height:80px;object-fit:contain;flex-shrink:0}
.home-students span{flex:1;min-width:0}
.home-students strong{display:block;font-size:24px;font-weight:750;color:#112b59}
.home-students small{display:block;font-size:13px;color:#6d809d;margin-top:5px}
.home-students>svg{color:#0759eb;width:22px;height:22px}
.home-week{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:26px}
.home-week .section-heading h2{margin:0}
.home-week .text-link{display:flex;align-items:center;gap:3px;color:#0759eb}
.home-week .text-link svg{width:15px;height:15px}
.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.week-day{background:#f4f6f9;border-radius:8px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;min-height:82px;font-size:12px;color:#738098}
.week-day strong{font-size:17px;color:#314566;font-weight:600}
.week-day i{height:5px;width:5px;background:#c6cdd9;border-radius:50%;margin-top:2px}
.week-day.current{background:#eaf2ff;color:#0759eb}
.week-day.current strong{color:#0759eb}
.week-day i.has-activity{background:#0aa876}
.week-activities{margin-top:18px}
.main-nav{max-width:1200px;border-color:#e9edf4;box-shadow:0 -6px 24px #16335c04;padding-top:7px}
.main-nav a{font-size:12px;color:#697895;min-height:62px}
.main-nav a[aria-current=page]{color:#0759eb}
.main-nav a[aria-current=page]:after{background:#0759eb;height:3px;width:34px}
.main-nav svg{width:23px;height:23px;stroke-width:2}
.button{background:#0759eb;border-color:#0759eb;font-size:14px;border-radius:8px;min-height:46px}
main[data-section]:not([data-section=home]) .button{background:#0759eb;color:#fff;border-color:#0759eb}
main[data-section]:not([data-section=home]) .button.secondary{background:#fff;color:#25436c;border-color:#dce4ee}
main[data-section]:not([data-section=home]) .button.expense{background:#b82c41;border-color:#b82c41}
.segmented{background:#f2f5f9;border-radius:8px;padding:4px}
main[data-section]:not([data-section=home]) .segmented button[aria-selected=true]{background:white;color:#0759eb;box-shadow:0 1px 5px #1f3a5d0d}
.search-field{border-color:#e1e7ef;background:#f8fafc;border-radius:8px;max-width:none}
.collections-access{background:#fff6f6;border:1px solid #f8e5e6;border-radius:8px;margin-bottom:22px;padding:14px 16px}
.collections-access .collections-icon{background:#ffeded;color:#ed626b;width:34px;height:34px}
.collections-access strong{font-size:14px}
.student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
main[data-section]:not([data-section=home]) .student-grid .student-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px;padding:22px 18px;margin:0;background:#fff;border:1px solid #e7edf5;border-radius:8px;min-height:124px}
.student-portrait{height:64px;width:64px;object-fit:cover;border-radius:50%;background:#e9eff6}
.student-grid .student-row-copy strong{font-size:15px;color:#14294e;display:block;line-height:1.35;overflow-wrap:anywhere}
.student-grid .student-row-copy small{font-size:11px;margin-top:7px;display:block}
.student-grid .quiet-label{grid-column:2;justify-self:start;margin-top:0;font-size:13px;background:#f2f6fa;color:#516078;font-weight:500}
.student-grid .list-pagination,.student-grid .empty-state{grid-column:1 / -1}
.workspace-grid{gap:18px;max-width:none}
.workspace-tool{min-height:104px;box-shadow:none;padding:22px;border-color:#e8edf5}
.tool-symbol{display:grid!important;place-items:center;width:44px;height:44px;flex-shrink:0;background:#eef4ff;border-radius:8px;color:#0759eb;position:relative}
.tool-symbol:after{content:"";width:7px;height:7px;background:#ffcf43;position:absolute;bottom:4px;right:4px;border-radius:2px}
.tool-symbol svg{width:26px;height:26px;stroke-width:1.8}
.workspace-tool.green .tool-symbol{background:#ebfaf3;color:#099766}
.workspace-tool.gold .tool-symbol{background:#fff8e6;color:#d39808}
.workspace-tool.coral .tool-symbol{background:#fff0f2;color:#e85e6d}
.workspace-tool strong{font-size:16px;color:#14294e}
.workspace-tool small{font-size:12px;margin-top:2px}
.sport-section-photo{display:block;width:100%;height:220px;object-fit:cover;object-position:center 44%;border-radius:8px;margin-bottom:26px}
.sport-workspace{grid-template-columns:1fr 1fr}
.sport-workspace .workspace-tool{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 0;min-height:92px}
.cash-workspace{margin-top:0;--cash-ink:#10224b}
.cash-entry-actions{margin:8px 0 30px;gap:12px}
.entry-action{min-height:48px;border-radius:8px;font-size:13px;font-weight:600}
.entry-income{background:#eaf9f1;color:#09845c;border:1px solid #d6f0e2}
.entry-expense{background:#fff0f1;color:#a92f40;border:1px solid #f9dce1}
.cash-summary-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);gap:48px}
.cash-season{display:flex;flex-direction:column;gap:16px}
.cash-season img{width:100%;height:220px;object-fit:cover;object-position:center 40%;border-radius:8px}
.cash-season>span{font-size:13px;color:#6c7b94}
.cash-season a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;color:#214476}
.cash-season a svg{width:18px;height:18px;color:#0759eb}
.statement-group h2{color:#17335d;font-size:17px}
.statement-line{color:#64738d}
.statement-line strong{color:#253b60}
.statement-line.accumulated{background:#edf4ff;color:#123974}
.statement-line.accumulated strong{color:#0759eb}
.consultation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.consultation-tile{position:relative;border:1px solid #e8edf4;border-radius:8px;padding:22px 20px 24px;display:flex;flex-direction:column;gap:14px;min-height:170px;overflow:hidden}
.consultation-tile:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;background:#1184f8;border-radius:3px}
.consultation-tile.coral:before{background:#ff6972}.consultation-tile.green:before{background:#0ab584}.consultation-tile.gold:before{background:#f4bb21}
.consultation-tile .tool-symbol{background:transparent;width:34px;height:34px;border-radius:0}
.consultation-tile .tool-symbol svg{width:30px;height:30px;stroke-width:1.8}
.consultation-tile.coral .tool-symbol{color:#f05f6c}.consultation-tile.green .tool-symbol{color:#07a676}.consultation-tile.gold .tool-symbol{color:#c6970d}
.consultation-tile strong{font-size:17px;line-height:1.3;font-weight:700;color:#14294e;padding-right:16px}
.consultation-tile small{font-size:13px;color:#58667c;margin-top:auto}
.consultation-tile>svg{position:absolute;right:15px;top:26px;width:17px;height:17px;color:#8291ab}
.consultation-footer{margin-top:30px;max-width:720px}
.consultation-footer>.finance-destination{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:86px}
.finance-destination>svg:first-child{color:#0759eb;width:26px;height:26px}
.finance-destination strong{color:#17325a;font-size:16px}
.finance-destination small{font-size:12px}
.finance-settings{margin-top:12px;border-top:0}
.finance-settings summary{font-size:14px;color:#536581}
.athlete-header{gap:20px;align-items:center}
.athlete-avatar{width:84px;height:84px;object-fit:cover;border-radius:50%;border:0;background:#eff3f8}
.athlete-header h1{font-size:28px;color:#112852}
.athlete-tags span{border-radius:4px;color:#69819b;background:#f2f6fa;font-weight:500}
.student-account{border:0;background:#fff0f2;border-radius:8px;padding:28px}
.student-account strong{color:#eb4e64}
.student-account>div>span{color:#ac6c7a;font-size:12px}
.student-account.settled{background:#eaf8f1}
.family-summary{background:#eaf3ff;color:#0759eb}
.last-payment{background:#edf9f3}
.student-month.unpaid{background:#fff2f4}
.profile-action>svg:first-child{color:#0759eb}
.calendar-day{border-radius:6px!important}
.calendar-day.today{background:#0759eb!important;color:white!important}
.training-date{background:#edf4ff!important;color:#0759eb!important}
.report-section{border-color:var(--line)}
.profile-form{max-width:800px}
dialog{border:1px solid #e5ebf3;border-radius:8px}
dialog::backdrop{background:#152b4c55;backdrop-filter:blur(3px)}
#profile-dialog .academy-poster{max-height:120px;object-fit:contain}
#profile-dialog .button{width:100%;margin-top:10px}
@media(max-width:900px){.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consultation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-summary-layout{grid-template-columns:1fr}.cash-season{display:none}.sport-home{grid-template-columns:1fr 1fr;gap:24px}.home-team-photo{height:280px}.next-activity-content{flex-wrap:wrap}.compact-link{margin-left:auto}.home-students img{width:65px;height:68px}.home-students{padding:16px;gap:12px}}
@media(max-width:640px){
 .app-header{padding:20px 22px 12px}.brand img{width:52px;height:52px}.brand strong{font-size:17px}.brand small{font-size:10px}.avatar{height:40px;width:40px}
 .phase-banner{padding:0 22px 4px}
 main{padding:22px 22px 100px}
 .page-heading h1,.home-welcome h1{font-size:29px}
 .home-welcome{margin:0 0 20px}
 .sport-home{display:flex;flex-direction:column;gap:24px}
 .home-team-photo{width:calc(100% + 44px);max-width:none;height:206px;object-position:center 46%;margin-left:-22px;border-radius:0}
 .home-next h2,.home-week h2{font-size:17px}
 .next-activity-content{padding:13px;gap:10px;min-height:80px;flex-wrap:nowrap}
 .next-activity-content>svg{width:21px;height:21px}
 .next-activity-content>div{font-size:11px}
 .compact-link{font-size:11px}
 .home-students{min-height:96px;padding:14px 18px;gap:16px}
 .home-students img{width:76px;height:70px}
 .home-students strong{font-size:23px}.home-students small{font-size:12px}
 .home-week{border:0;padding:0}.home-week .text-link{font-size:11px}
 .week-strip{gap:6px}.week-day{min-height:74px;font-size:10px;gap:6px}.week-day strong{font-size:15px}
 .main-nav a{width:33.33%;min-height:58px;font-size:11px}.main-nav svg{width:23px;height:23px}
 .view-tabs{margin-bottom:24px;gap:5px}.view-tabs a{font-size:13px;min-height:46px}
 .student-grid{gap:12px}
 main[data-section]:not([data-section=home]) .student-grid .student-row{display:flex;align-items:flex-start;flex-direction:column;padding:16px;gap:11px;min-height:184px}
 .student-portrait{width:62px;height:62px}
 .student-grid .student-row-copy strong{font-size:14px}
 .student-grid .quiet-label{margin-top:auto;font-size:13px}
 .student-grid .student-row-copy small{font-size:13px}
 .workspace-grid{grid-template-columns:1fr;gap:12px}
 .workspace-tool{padding:18px;min-height:88px;gap:16px}
 .workspace-tool strong{font-size:15px}
 .workspace-tool small{font-size:13px}
 .tool-symbol{width:40px;height:40px}.tool-symbol svg{width:25px;height:25px}
 .sport-section-photo{width:calc(100% + 44px);max-width:none;margin-left:-22px;height:170px;border-radius:0;margin-bottom:14px}
 .sport-workspace{gap:0}.sport-workspace .workspace-tool{min-height:86px;padding:16px 0}
 .consultation-grid{gap:14px}.consultation-tile{min-height:157px;padding:20px 16px;gap:11px}
 .consultation-tile strong{font-size:16px}.consultation-tile small{font-size:13px}
 .consultation-tile .tool-symbol svg{width:28px;height:28px}.consultation-tile>svg{right:12px;top:25px}
 .cash-entry-actions{margin:8px 0 28px}.entry-action{font-size:12px;min-height:48px;padding:12px}
 .statement-line{font-size:13px}.statement-line strong{font-size:14px}
 .statement-line.accumulated{padding:18px}.statement-line.accumulated strong{font-size:23px}
 .athlete-header{gap:14px;align-items:flex-start;padding-top:6px}.athlete-avatar{width:64px;height:64px}
 .athlete-header h1{font-size:23px;margin-top:6px}.athlete-status{font-size:11px}
 .student-account{padding:22px}.student-account strong{font-size:32px}
 .page-heading .button{font-size:12px;padding:10px 13px}
 .segmented button{font-size:12px;padding:10px 13px}
}
.form-field>label{display:grid;gap:10px;min-width:0}.form-field>label select{width:100%}
@media(prefers-reduced-motion:no-preference){.button,.workspace-tool,.consultation-tile,.home-students{transition:background-color .16s,border-color .16s}.workspace-tool:hover,.consultation-tile:hover{border-color:#bad0ef;background:#fbfdff}}
.journey-progress{display:flex;gap:16px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #e4eaf0}
.journey-progress>span{display:flex;align-items:center;gap:8px;font-size:13px;color:#67778c;flex:1}
.journey-progress b{display:grid;place-items:center;width:28px;height:28px;flex:none;background:#edf1f6;border-radius:50%}
.journey-progress [aria-current="step"]{color:#0759d9;font-weight:700}
.journey-progress [aria-current="step"] b{background:#0759d9;color:white}
.profile-form section[hidden],.editor-actions button[hidden]{display:none}
.audit-event{padding:24px 0;border-bottom:1px solid #e4eaf0}
.enrollment-event{padding:16px 0 16px 16px;margin:16px 0;border-left:3px solid #80cbb3}
.enrollment-event h3{font-size:16px;margin:0 0 8px}
.enrollment-event p{margin:6px 0;color:#58667c;overflow-wrap:anywhere}
.enrollment-event .enrollment-note{color:#163450;white-space:pre-wrap}
.audit-event h2{font-size:18px;margin:0 0 8px}
.audit-event>p{color:#58667c;font-size:13px;margin:0 0 16px}
.audit-detail summary{cursor:pointer;color:#0759d9;font-weight:600;padding:10px 0}
.audit-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:12px}
.audit-comparison section{min-width:0;border-top:3px solid #dce7f6;padding-top:12px}
.audit-comparison section:last-child{border-color:#80cbb3}
.audit-comparison h3{font-size:15px;margin:0 0 12px}
.audit-values{margin:0}.audit-values>div{padding:8px 0}
.audit-values dt{font-size:13px;color:#58667c;margin-bottom:4px}
.audit-values dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.audit-values ul{padding-left:20px;margin:4px 0}
@media(max-width:600px){.audit-comparison{grid-template-columns:minmax(0,1fr);gap:20px}}
@media(max-width:480px){.journey-progress{gap:8px}.journey-progress>span{font-size:12px;align-items:flex-start;flex-direction:column}}
.load-error{max-width:560px;padding:24px 0;display:grid;gap:18px}
.load-error>svg{width:28px;height:28px;color:#596b80}
.load-error h1,.load-error h2{font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.load-error p{color:#526279;overflow-wrap:anywhere}
.load-error .editor-actions{flex-wrap:wrap}
textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #157bb4;outline-offset:4px}
.phase-banner{flex-wrap:wrap;overflow-wrap:anywhere}
.statement-category{min-height:44px}.statement-category>span{display:flex;align-items:center;gap:8px}.statement-category svg{width:15px;height:15px;color:#536c91}.statement-category:hover{background:#f3f7fd}
