:root{--bg:#080a0c;--panel:#101419;--panel2:#151a20;--line:#28303a;--text:#f4f6f8;--muted:#8f99a5;--gold:#d5a11e;--gold2:#f0c44e;--green:#55d18b;--amber:#ffbd4a;--danger:#ff6767;--radius:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#17150c 0,transparent 30%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:rgba(8,10,12,.96);padding:22px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 6px 20px}.brand img{width:48px;height:48px;object-fit:cover;border-radius:8px}.brand strong{display:block;letter-spacing:3px}.brand span{display:block;color:var(--gold);font-size:10px;letter-spacing:3px;margin-top:2px}.org-pill{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:18px}.dot{width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px var(--gold)}.org-pill small,.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:800}.org-pill b{display:block;font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}.sidebar nav{display:grid;gap:5px}.nav{width:100%;border:0;background:transparent;color:#aeb6c0;padding:11px 12px;border-radius:9px;text-align:left;display:flex;gap:11px;align-items:center;cursor:pointer}.nav:hover,.nav.active{background:linear-gradient(90deg,rgba(213,161,30,.14),transparent);color:#fff}.nav.active{border-left:2px solid var(--gold)}.nav span{color:var(--gold);width:18px;text-align:center}.side-bottom{margin-top:auto;display:grid;gap:10px}.main{min-width:0;padding:0 32px 50px}.main header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:28px}.main h1{font-size:28px;margin:4px 0 0}.header-actions{display:flex;align-items:center;gap:12px}.status{font-size:12px;padding:8px 11px;border:1px solid var(--line);border-radius:999px}.status.open{color:var(--green)}.status.closed{color:var(--danger)}.btn,.ghost{border-radius:8px;padding:11px 15px;font-weight:800;cursor:pointer}.btn{border:1px solid var(--gold);background:linear-gradient(135deg,var(--gold2),var(--gold));color:#0a0a0a}.ghost{border:1px solid #49515b;background:transparent;color:#d9dee4}.small{padding:8px 11px;font-size:12px}.wide{width:100%;margin-top:12px}.page-sub{color:var(--muted);margin:-8px 0 22px;max-width:850px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 20px}.metrics.compact{grid-template-columns:repeat(3,1fr)}.metric{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),#0d1014);padding:18px;border-radius:var(--radius);display:flex;gap:14px;align-items:center}.metric-icon{width:42px;height:42px;border:1px solid #66501b;border-radius:10px;display:grid;place-items:center;color:var(--gold);font-size:20px}.metric small,.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:26px;margin:2px 0}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{border:1px solid var(--line);background:rgba(16,20,25,.86);border-radius:var(--radius);padding:20px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px}.panel h2{margin:3px 0 0;font-size:20px}.link{border:0;background:transparent;color:var(--gold);cursor:pointer}.capacity{display:grid;grid-template-columns:180px 1fr 45px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #202730}.capacity:first-of-type{border-top:0}.capacity span,.activity span,.program-card p,small{color:var(--muted);font-size:11px;display:block;margin-top:3px}.bar{height:6px;background:#222933;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}.activity{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #202730}.avatar{width:36px;height:36px;border-radius:50%;display:grid!important;place-items:center;background:#26210f;color:var(--gold)!important;font-weight:800}.badge{display:inline-block!important;width:max-content;padding:5px 8px;border-radius:999px;background:#242a31;color:#c7ced6!important;font-size:10px!important}.badge.good{background:rgba(85,209,139,.1);color:var(--green)!important}.badge.warn{background:rgba(255,189,74,.1);color:var(--amber)!important}.callout{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#13171b,#181406)}.callout p{max-width:760px;color:var(--muted)}.form-panel{max-width:1000px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.modal label,.mini-form label,.public-card label{font-size:12px;color:#d5dbe2;font-weight:700}.form-grid input,.form-grid select,.modal input,.modal select,.mini-form input,.mini-form select,.mini-form textarea,.public-card input,.public-card select,.public-card textarea,.search{width:100%;margin-top:7px;background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:11px}.form-grid small{font-weight:400}.switch-label{display:flex!important;align-items:center;gap:10px}.switch-label input{width:auto;margin:0}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.toolbar{display:flex;justify-content:flex-end;gap:12px;margin-bottom:16px}.search{max-width:420px;margin:0;margin-right:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.program-card{border:1px solid var(--line);background:linear-gradient(160deg,var(--panel2),#0b0e11);border-radius:var(--radius);padding:18px}.program-card h3{font-size:19px;margin:18px 0 6px}.program-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.program-price{font-size:28px;color:var(--gold);font-weight:900;margin:20px 0}.program-price small{display:inline}.program-card .bar{margin:14px 0 5px}.team-icon{font-size:38px;color:var(--gold)}dl{margin:18px 0 0}dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:8px 0}dt{color:var(--muted)}dd{margin:0}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px}th{color:var(--gold);font-size:10px;letter-spacing:1px;text-transform:uppercase}td small{margin-top:4px}.icon-btn{border:1px solid var(--line);background:transparent;color:#fff;border-radius:7px;width:30px;height:30px;cursor:pointer}.notice{border:1px solid #55461b;background:rgba(213,161,30,.08);border-radius:12px;padding:15px;color:#cbd1d8;font-size:12px}.builder-grid{grid-template-columns:1fr 1fr;gap:18px}.field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:9px}.field-row>div{min-width:0}.field-row b{display:block;line-height:1.25;overflow-wrap:anywhere}.field-row small{display:block;margin-top:5px;line-height:1.45;overflow-wrap:anywhere}.field-row>.badge,.field-row>.icon-btn{justify-self:end;align-self:center}.drag{color:var(--muted)}.mini-form{display:grid;gap:12px;margin-top:20px}.mini-form textarea{height:70px}.public-wrap{display:grid;place-items:start center}.public-card{width:min(680px,100%);border:1px solid #4d421d;background:linear-gradient(160deg,#15181c,#0b0d10);border-radius:20px;padding:28px}.public-brand{display:flex;align-items:center;gap:15px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.public-brand img{width:70px;height:70px;object-fit:cover;border-radius:10px}.public-brand h2{margin:4px 0}.public-card form{display:grid;gap:14px}.public-card textarea{min-height:90px}.waiver{display:grid!important;grid-template-columns:18px 1fr;gap:8px;align-items:start;color:var(--muted)!important;font-weight:400!important}.waiver input{width:auto;margin:2px 0 0}.fine{text-align:center;color:var(--muted);font-size:10px}.success{text-align:center;padding:40px 0}.success strong{font-size:24px;color:var(--green)}.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.74);display:grid;place-items:center;z-index:50;padding:20px}.modal{width:min(520px,100%);background:#11151a;border:1px solid #3b434d;border-radius:16px;padding:20px}.modal-body{display:grid;gap:13px}.toast{position:fixed;bottom:20px;right:20px;background:#173322;border:1px solid #285d3b;color:#8df0ae;padding:12px 16px;border-radius:9px;z-index:60}.mobile-menu{display:none;background:transparent;border:0;color:#fff;font-size:23px;margin-right:8px}@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.grid.two,.builder-grid{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:.2s}.sidebar.show{left:0;box-shadow:20px 0 50px #000}.main{padding:0 16px 40px}.main header{height:auto;min-height:90px;padding:14px 0}.header-actions .status{display:none}.header-actions .btn{display:none}.mobile-menu{display:inline-block}.metrics,.metrics.compact,.cards,.form-grid{grid-template-columns:1fr}.capacity{grid-template-columns:1fr}.capacity strong{display:none}.toolbar{flex-wrap:wrap}.search{max-width:none;width:100%}.callout{align-items:flex-start;gap:16px;flex-direction:column}.main h1{font-size:22px}.public-card{padding:18px}}

/* v2 multi-role + white-label additions */
.role-box{margin:0 0 14px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.role-box small{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:800}.role-box select{width:100%;margin-top:7px;border:1px solid #39424c;background:#0b0e12;color:#fff;border-radius:8px;padding:9px}.org-brand{display:flex;align-items:center;gap:12px}.org-brand img,.org-monogram{flex:0 0 auto;width:58px;height:58px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid rgba(255,255,255,.16);padding:6px}.org-monogram{display:grid;place-items:center;background:linear-gradient(145deg,var(--gold2),var(--gold));color:#090909;font-size:18px;font-weight:950;padding:0}.org-brand-copy{min-width:0}.org-brand-copy strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-brand-copy span{display:block;color:var(--gold);font-size:9px;letter-spacing:.5px;margin-top:4px}.sidebar-mark{padding:10px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent)}.sidebar-mark img,.sidebar-mark .org-monogram{width:42px;height:42px}.sidebar-mark .org-brand-copy strong{font-size:12px}.sidebar-mark .org-brand-copy span{font-size:8px}.org-brand.large{gap:18px}.org-brand.large img,.org-brand.large .org-monogram{width:94px;height:94px;border-radius:18px}.org-brand.large .org-brand-copy strong{font-size:24px}.org-brand.large .org-brand-copy span{font-size:11px}.org-brand.compact{margin:16px 0}.org-brand.compact img,.org-brand.compact .org-monogram{width:46px;height:46px}.public-mark{justify-content:center;text-align:left;padding-bottom:22px;border-bottom:1px solid var(--line)}.public-mark img,.public-mark .org-monogram{width:86px;height:86px}.public-mark .org-brand-copy strong{font-size:21px}.user-chip{display:flex;gap:9px;align-items:center;border:1px solid var(--line);background:var(--panel);padding:7px 10px;border-radius:12px}.user-chip>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(213,161,30,.14);color:var(--gold);font-weight:900}.user-chip b{display:block;font-size:11px}.user-chip small{margin:2px 0 0;font-size:9px}.brand-preview{min-height:170px;display:grid;place-items:center;margin:18px 0;background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(0,0,0,.12));border:1px dashed #48515c;border-radius:14px;padding:24px}.brand-controls{margin-top:16px}.brand-controls .full{grid-column:1/-1}.brand-controls input[type=color]{height:48px;padding:5px}.family-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #544719;border-radius:18px;padding:24px;margin-bottom:18px;background:linear-gradient(120deg,rgba(213,161,30,.09),rgba(255,255,255,.02))}.family-hero>div:last-child{text-align:right}.family-hero h2{font-size:28px;margin:4px 0}.family-hero p,.muted{color:var(--muted)}.message-card p{color:#c9d0d8;line-height:1.6}.modal textarea{width:100%;min-height:120px;margin-top:7px;background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:11px}.public-title{text-align:center;padding:18px 0 8px}.public-title h2{font-size:28px;margin:4px 0}.public-title p{color:var(--muted)}
@media(max-width:760px){.user-chip{display:none}.family-hero{align-items:flex-start;flex-direction:column}.family-hero>div:last-child{text-align:left}.org-brand.large img,.org-brand.large .org-monogram{width:72px;height:72px}.org-brand.large .org-brand-copy strong{font-size:18px}.brand-controls .full{grid-column:auto}.public-mark{align-items:center;flex-direction:column;text-align:center}}


/* v3 interactive profile, reassignment and messaging workflows */
.clickable-row{cursor:pointer;transition:background .15s ease}.clickable-row:hover{background:rgba(213,161,30,.08)}
.clickable-card{cursor:pointer;transition:transform .15s ease,border-color .15s ease}.clickable-card:hover{transform:translateY(-2px);border-color:var(--gold)}
.card-action{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.5px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;border:1px solid var(--line);background:#0b0e12;border-radius:12px;padding:14px}
.detail-grid>div{padding:5px 0}.detail-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:9px}.detail-grid b{display:block;margin-top:4px;font-size:12px;line-height:1.4}.detail-span{grid-column:1/-1}.modal-divider{height:1px;background:var(--line);margin:8px 0}.coach-message-tools{align-items:center}.coach-message-tools select.search{max-width:360px;margin-left:auto;margin-right:0}.btn:disabled{opacity:.45;cursor:not-allowed}
.modal{width:min(720px,100%);max-height:88vh;overflow:auto}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.detail-span{grid-column:auto}.coach-message-tools{align-items:stretch}.coach-message-tools select.search{max-width:none;margin:0}.coach-message-tools .btn,.coach-message-tools .ghost{width:100%}}

/* v4 operational snapshots */
.snapshot-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #50451f;background:linear-gradient(120deg,rgba(213,161,30,.09),rgba(255,255,255,.02));border-radius:14px;padding:16px}.snapshot-hero h3{font-size:24px;margin:7px 0 4px}.snapshot-hero p{margin:0;color:var(--muted);font-size:12px}.snapshot-hero>strong{font-size:34px;color:var(--gold)}.snapshot-metrics{margin:14px 0}.snapshot-metrics .metric{min-height:92px}.snapshot-section{display:grid;gap:8px}.snapshot-link{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);background:#0b0e12;color:#fff;border-radius:10px;padding:11px 12px;cursor:pointer;transition:.15s ease;margin-top:7px}.snapshot-link:hover{border-color:var(--gold);background:rgba(213,161,30,.07)}.snapshot-link b{display:block}.snapshot-link small{margin-top:3px}.snapshot-link>span:last-child{color:var(--gold);font-size:11px;font-weight:900;white-space:nowrap}.snapshot-columns{align-items:start}.snapshot-event{border-bottom:1px solid var(--line);padding:10px 2px}.snapshot-event b{display:block;font-size:12px}.snapshot-event small{margin-top:4px}.delete-program{margin-top:12px}.program-card .card-action+.delete-program{width:auto}
@media(max-width:760px){.snapshot-hero{align-items:flex-start}.snapshot-hero>strong{font-size:26px}.snapshot-columns{grid-template-columns:1fr}}

/* v4 operations center + attendance */
.ops-row,.attendance-row,.assignment-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:10px 0}.ops-row:first-of-type,.attendance-row:first-of-type,.assignment-row:first-of-type{border-top:0}.ops-person{flex:1;text-align:left;border:0;background:transparent;color:#fff;cursor:pointer;padding:0}.ops-person:hover b{color:var(--gold)}.ops-person b{display:block}.ops-person small{margin-top:4px}.assignment-row>div{flex:1}.assignment-row select{min-width:240px;background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:10px}.attendance-list{display:grid}.attendance-actions{display:flex;gap:7px}.attendance-btn{border:1px solid var(--line);background:#0b0e12;color:#cfd5dc;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:11px}.attendance-btn.active,.attendance-btn:hover{border-color:var(--gold);color:#111;background:var(--gold);font-weight:900}.panel select{background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:10px;margin-top:7px;width:100%}
@media(max-width:760px){.ops-row,.attendance-row,.assignment-row{align-items:stretch;flex-direction:column}.ops-row .ghost,.assignment-row .btn{width:100%}.assignment-row select{min-width:0;width:100%}.attendance-actions{width:100%}.attendance-btn{flex:1}}

/* v5 multi-sport organization controls */
.sport-filter{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 12px;padding:10px 0}
.sport-chip{appearance:none;border:1px solid var(--line);background:#0d1217;color:var(--muted);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;transition:.18s ease}
.sport-chip:hover{border-color:var(--gold);color:#fff;transform:translateY(-1px)}
.sport-chip.active{background:var(--gold);border-color:var(--gold);color:#090b0d;box-shadow:0 0 0 1px color-mix(in srgb,var(--gold),transparent 55%)}
.sport-badge{border-color:color-mix(in srgb,var(--gold),transparent 45%)!important;color:var(--gold2)!important;background:color-mix(in srgb,var(--gold),transparent 90%)!important}
.program-division{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin:10px 0 -2px}
.toolbar-summary{color:var(--muted);font-size:.9rem}.toolbar-summary b{color:#fff;font-size:1.05rem}
.sports-manager{margin-top:18px}
.sport-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.sport-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#0b0f13;padding:14px;cursor:pointer;transition:.18s ease;min-height:76px}
.sport-toggle:hover{border-color:color-mix(in srgb,var(--gold),transparent 40%)}
.sport-toggle.enabled{border-color:color-mix(in srgb,var(--gold),transparent 50%);background:linear-gradient(135deg,color-mix(in srgb,var(--gold),transparent 92%),#0b0f13 55%)}
.sport-toggle input{width:19px;height:19px;accent-color:var(--gold);flex:0 0 auto}
.sport-toggle-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.sport-toggle-main b{color:#fff}.sport-toggle-main small{color:var(--muted)}
.sport-state{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sport-toggle.enabled .sport-state{color:var(--gold2)}
.custom-sport-add{display:flex;align-items:end;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.custom-sport-add label{flex:1;margin:0}
@media(max-width:1000px){.sport-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sport-toggle-grid{grid-template-columns:1fr}.custom-sport-add{flex-direction:column;align-items:stretch}.sport-filter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.sport-chip{white-space:nowrap}}

/* v5.3 multi-coach / staff assignments */
.staff-assignment-list{display:grid;gap:9px;margin:10px 0 16px}.staff-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;background:#0b0e12;padding:11px}.staff-team-check{display:flex!important;align-items:center;gap:10px;cursor:pointer}.staff-team-check input{width:18px!important;height:18px;margin:0!important;accent-color:var(--gold)}.staff-team-check span{min-width:0}.staff-team-check b{display:block}.staff-team-check small{margin-top:3px}.staff-assignment-row select{margin:0!important;width:100%}.staff-list-inline{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:650px){.staff-assignment-row{grid-template-columns:1fr}}

/* v5.4 staff credentials and document attachments */
.credential-list{display:grid;gap:10px;margin:12px 0 16px}.credential-row{border:1px solid var(--line);background:#0b0e12;border-radius:12px;padding:12px}.credential-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.remove-check{display:flex!important;align-items:center;gap:6px!important;color:var(--muted);font-size:10px!important;text-transform:none!important;letter-spacing:0!important}.remove-check input{width:15px!important;height:15px;margin:0!important;accent-color:var(--gold)}.staff-doc{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#0b0e12;border-radius:10px;padding:11px;margin:8px 0}.staff-doc b{display:block}.staff-doc small{margin-top:3px}.staff-doc-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.staff-doc-actions a{text-decoration:none}.upload-box{border:1px dashed #46505a;border-radius:12px;padding:14px;margin:12px 0;background:rgba(255,255,255,.018)}.upload-box small{display:block;margin-top:10px}.badge.bad{color:#ff8b8b;border-color:#6e3030;background:#251416}@media(max-width:650px){.staff-doc{align-items:stretch;flex-direction:column}.staff-doc-actions{width:100%}.staff-doc-actions .ghost{flex:1;text-align:center}.credential-row-head{align-items:flex-start}}

/* v5.5 staff filters + operational calendars */
.staff-filter-panel,.calendar-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto auto;gap:12px;align-items:end;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),#0b0e11);border-radius:var(--radius);padding:15px;margin-bottom:16px}.staff-filter-panel label,.calendar-toolbar label{font-size:11px;color:#d5dbe2;font-weight:800}.staff-filter-panel select,.calendar-toolbar select,.calendar-toolbar input{width:100%;margin-top:7px;background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:10px}.staff-filter-count{min-width:90px;padding:7px 10px}.staff-filter-count strong{display:block;font-size:25px;color:var(--gold);margin-top:3px}.calendar-context{min-width:180px;padding:7px 10px}.calendar-context b{display:block;margin-top:5px}.calendar{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#0b0e12;margin-bottom:18px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#11161b;border-bottom:1px solid var(--line)}.calendar-weekdays span{padding:10px;text-align:center;font-size:10px;color:var(--gold);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day.empty{background:rgba(255,255,255,.012)}.calendar-date{font-size:11px;color:var(--muted);font-weight:800;margin-bottom:6px}.calendar-events{display:grid;gap:5px}.calendar-event{display:block;width:100%;border:1px solid color-mix(in srgb,var(--gold),transparent 65%);background:color-mix(in srgb,var(--gold),transparent 91%);color:#e9edf1;text-align:left;border-radius:6px;padding:6px;font-size:9px;line-height:1.3;cursor:pointer;white-space:normal}.calendar-event:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold),transparent 84%)}.calendar-event b{color:var(--gold2);margin-right:3px}.schedule-list{margin-top:0}.danger-action{margin-right:auto;border-color:#713b3b;color:#ff9c9c}
@media(max-width:1000px){.staff-filter-panel,.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-day{min-height:95px}.calendar-event{font-size:8px}}
@media(max-width:700px){.staff-filter-panel,.calendar-toolbar{grid-template-columns:1fr}.staff-filter-panel .btn,.calendar-toolbar .btn{width:100%}.calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:720px}.calendar-day{min-height:100px}.calendar-context{padding:0}.schedule-list{margin-top:14px}}

/* v5.6 season + coach multi-team controls */
.coach-team-switch{margin-top:-6px}.coach-team-switch select{border-color:color-mix(in srgb,var(--gold) 40%,#28313a)}
.season-status{display:flex;gap:8px;align-items:center}.cards [data-season]{min-height:250px}
@media(max-width:720px){.coach-team-switch{margin-top:8px}.header-actions{gap:6px}}

/* v5.7 facilities, recurrence and conflict detection */
.facility-cards .program-card{min-height:230px}.recurrence-controls{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0b0e12}.conflict-box{margin:14px 0;border:1px solid #7d5120;background:#261b0d;border-radius:10px;padding:12px;color:#ffd28a}.conflict-box>b{display:block;color:#ffc75a;margin-bottom:8px}.conflict-box>div{border-top:1px solid rgba(255,199,90,.18);padding:8px 0}.conflict-box>div:first-of-type{border-top:0}.conflict-box strong{display:block;color:#fff;font-size:12px}.conflict-box span{display:block;color:#e4c99c;font-size:10px;margin-top:3px}.conflict-clear{margin:14px 0;border:1px solid #24533f;background:#0c241b;border-radius:10px;padding:10px 12px;color:#7ce3af;font-size:11px;font-weight:800}.calendar-event.game{border-color:#4a76ad;background:rgba(49,96,151,.18)}.calendar-event.meeting{border-color:#7a5a9e;background:rgba(106,72,144,.16)}.calendar-event.tryout{border-color:#a86c31;background:rgba(165,101,34,.16)}
@media(max-width:700px){.facility-cards{grid-template-columns:1fr}.recurrence-controls{grid-template-columns:1fr}}

/* v5.8 flexible recurring schedules */
.repeat-days-wrap{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.repeat-days-label{display:block;color:#d5dbe2;font-size:11px;font-weight:800;margin-bottom:8px}
.repeat-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.repeat-day{position:relative;cursor:pointer;margin:0!important}
.repeat-day input{position:absolute;opacity:0;pointer-events:none}
.repeat-day span{display:flex;align-items:center;justify-content:center;border:1px solid #343c45;background:#0a0d10;color:var(--muted);border-radius:8px;padding:9px 5px;font-size:10px;font-weight:900;transition:.15s ease}
.repeat-day input:checked+span{background:var(--gold);border-color:var(--gold);color:#090b0d}
.repeat-day:hover span{border-color:var(--gold);color:#fff}
.repeat-days-wrap small{display:block;margin-top:8px;color:var(--muted)}
@media(max-width:600px){.repeat-day-grid{grid-template-columns:repeat(4,1fr)}}

/* v6.0 households + program-specific registration */
.wide-registration{max-width:980px!important}.registration-section{border:1px solid var(--line);background:#0b0f13;border-radius:14px;padding:18px;margin:16px 0}.registration-section h3{margin:5px 0 14px}.participant-registration-card{border:1px solid #303943;border-radius:13px;background:#090c0f;padding:16px;margin:12px 0}.participant-registration-card>.panel-head{margin-bottom:10px}.eligibility-box:empty{display:none}.good-note{border-color:#24533f!important;background:#0c241b!important;color:#8ee5b8!important}.warn-note{border-color:#7d5120!important;background:#261b0d!important;color:#ffd28a!important}.document-checklist{margin:14px 0;padding:13px;border:1px dashed #46505a;border-radius:10px;background:rgba(255,255,255,.018)}.document-checklist .switch-label{margin:8px 0!important}.document-checklist input{width:17px!important;height:17px!important;accent-color:var(--gold)}.builder-grid>div{display:grid;gap:16px}.toolbar>label{min-width:280px}.toolbar>label select{margin-top:7px}.household-contact-list{display:grid;gap:8px}
@media(max-width:700px){.wide-registration{max-width:100%!important}.registration-section,.participant-registration-card{padding:13px}.toolbar>label{min-width:0;width:100%}.toolbar>label select{width:100%}.wide-registration .form-grid{grid-template-columns:1fr}}
.required-doc-builder{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.document-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.document-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:12px;background:#0b0e12;cursor:pointer;transition:.15s}.document-option:hover,.document-option.selected{border-color:var(--gold);background:rgba(213,161,30,.07)}.document-option input{width:17px!important;height:17px!important;margin:2px 0 0!important;accent-color:var(--gold)}.document-option b{display:block;font-size:12px}.document-option small{margin-top:3px}.custom-document-builder{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:16px}.custom-document-builder label{font-size:12px;font-weight:700}.custom-document-builder input{width:100%;margin-top:7px;background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:11px}.custom-doc-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.custom-doc-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #66501b;background:rgba(213,161,30,.08);border-radius:999px;padding:7px 9px 7px 12px;font-size:11px}.custom-doc-chip button{border:0;background:transparent;color:#d7dde4;cursor:pointer;font-size:16px;line-height:1;padding:0 2px}@media(max-width:760px){.document-option-grid{grid-template-columns:1fr}.custom-document-builder{grid-template-columns:1fr}.custom-document-builder .ghost{width:100%}}

/* v7.0 authentication + cloud sync */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 75% 10%,rgba(213,161,30,.12),transparent 30%),#07090b}
.auth-card{width:min(520px,100%);background:linear-gradient(180deg,#12161a,#0c0f12);border:1px solid #2a3037;border-radius:20px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.auth-card h1{margin:.25rem 0 .7rem;font-size:clamp(2rem,6vw,3rem)}
.auth-card p{color:var(--muted);line-height:1.55}
.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:28px}.auth-brand img{width:58px;height:58px;object-fit:contain}.auth-brand strong{display:block;font-size:1.15rem;letter-spacing:.18em}.auth-brand span{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.25em;margin-top:3px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 18px;background:#080a0c;border:1px solid var(--line);padding:5px;border-radius:12px}.auth-tab{border:0;background:transparent;color:var(--muted);padding:11px;border-radius:8px;font-weight:800;cursor:pointer}.auth-tab.active{background:#191d22;color:#fff;box-shadow:inset 0 0 0 1px rgba(213,161,30,.35)}
.auth-card form{display:grid;gap:14px}.auth-error{min-height:24px;margin-top:12px;color:#ff8585;font-weight:700}.onboarding-card{width:min(650px,100%)}
.signed-role{display:flex;flex-direction:column;gap:4px;padding:9px 1px}.signed-role b{font-size:.9rem}.signed-role span{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.sync-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;background:#0d1115;color:#aeb7c1}.sync-pill.syncing{color:var(--gold)}.sync-pill.saved{color:#67dc9a}.sync-pill.error{color:#ff9898;border-color:#693333}
#accessBody .table-wrap{margin-top:14px}
@media(max-width:720px){.auth-shell{padding:14px}.auth-card{padding:22px}.sync-pill{display:none}}
.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 12px;color:var(--muted);font-size:10px;letter-spacing:1.5px;font-weight:800}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.public-account-actions{display:grid;gap:8px}.coach-application-card{width:min(760px,100%)}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 18px}.choice-grid .switch-label{border:1px solid var(--line);border-radius:9px;padding:9px;background:#0b0e12;font-weight:600}.review-actions{display:flex;justify-content:flex-start;margin-top:8px}.coach-application-card textarea{width:100%;min-height:90px;margin-top:7px;background:#0b0e12;border:1px solid #333b45;color:#fff;border-radius:8px;padding:11px}@media(max-width:700px){.choice-grid{grid-template-columns:1fr 1fr}}

/* v7.6 organization chooser */
.org-chooser-shell{min-height:100vh;padding:48px 20px;background:radial-gradient(circle at 70% 10%,rgba(213,161,30,.12),transparent 34%),#080a0c;display:flex;justify-content:center;align-items:flex-start}
.org-chooser{width:min(1100px,100%)}.org-chooser-head{text-align:center;max-width:760px;margin:0 auto 34px}.org-chooser-head h1{font-size:clamp(2rem,5vw,4rem);margin:.25rem 0}.org-chooser-head p{color:var(--muted)}
.org-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:20px 0}.org-choice-card{background:linear-gradient(145deg,var(--org-bg),#0d1115);border:1px solid var(--org-accent);border-radius:18px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.28);position:relative;overflow:hidden}.org-choice-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--org-accent)}.org-choice-card.archived{opacity:.72}
.org-choice-brand{display:flex;align-items:center;gap:16px;min-height:82px}.org-choice-brand img,.org-choice-monogram{width:68px;height:68px;border-radius:14px;object-fit:contain;background:#fff;padding:5px}.org-choice-monogram{display:grid;place-items:center;background:var(--org-accent);color:#080a0c;font-weight:900;font-size:1.2rem}.org-choice-brand h2{margin:0 0 5px;font-size:1.35rem}.org-choice-brand p{margin:0;color:#aab6c4}.org-choice-actions{display:flex;gap:10px;margin-top:18px}.org-choice-actions .btn{flex:1}.archived-orgs{margin:30px 0}.archived-orgs summary{cursor:pointer;font-weight:800;color:#b7c0cc}
@media(max-width:640px){.org-chooser-shell{padding:28px 14px}.org-choice-actions{flex-direction:column}}

/* v7.7 registration requirements */
.requirement-participant{margin-bottom:20px}
.requirement-card{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px;border:1px solid #2a323a;border-radius:14px;margin-top:12px;background:rgba(255,255,255,.025)}
.requirement-card.complete{border-color:rgba(70,190,120,.45);background:rgba(70,190,120,.05)}
.requirement-status{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#252d35;font-weight:900}
.requirement-card.complete .requirement-status{background:#1d6e48}
.requirement-main p{margin:.5rem 0;color:var(--muted)}
.requirement-main .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.requirement-main input[type=file]{margin-top:8px}
@media(max-width:640px){.requirement-card{grid-template-columns:1fr}.requirement-status{display:none}}

/* v7.7.1 document library clarity */
.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.empty-state{text-align:center;padding:34px 18px;border:1px dashed #394552;border-radius:14px;margin-top:18px}
.empty-state h3{margin:0 0 6px}.empty-state p{color:var(--muted);margin:0 0 18px}
@media(max-width:640px){.panel-head .button-row{width:100%}.panel-head .button-row button{flex:1}}

/* v7.7.2 grouped admin sidebar */
.sidebar nav{display:flex;flex-direction:column;gap:3px}
.nav-group{margin:2px 0}
.nav-group-toggle{width:100%;display:grid;grid-template-columns:24px 1fr 18px;align-items:center;gap:9px;border:0;background:transparent;color:#c3ccd7;padding:10px 12px;border-radius:9px;text-align:left;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease}
.nav-group-toggle:hover{background:rgba(255,255,255,.055);color:#fff}
.nav-group-toggle i{font-style:normal;text-align:center;font-size:15px;transition:transform .2s ease;color:#7f8b99}
.nav-group.open .nav-group-toggle{color:#fff;background:rgba(255,255,255,.035)}
.nav-group.open .nav-group-toggle i{transform:rotate(180deg)}
.nav-group-icon{display:grid;place-items:center;color:var(--gold);font-size:16px}
.nav-group-items{display:none;margin:2px 0 7px 17px;padding-left:8px;border-left:1px solid rgba(255,255,255,.09)}
.nav-group.open .nav-group-items{display:flex;flex-direction:column;gap:2px}
.sidebar .nav.subnav{padding:8px 9px;font-size:.89rem;min-height:36px}
.sidebar .nav.subnav span{font-size:.9rem;opacity:.75}
.sidebar .nav.subnav.active{background:color-mix(in srgb,var(--gold) 13%,transparent);border-color:color-mix(in srgb,var(--gold) 38%,transparent)}
@media(max-width:900px){.nav-group-items{margin-left:13px}}

/* v7.7.3 organization-first portal branding */
.sidebar-primary{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 8px 18px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.sidebar-primary img,.sidebar-primary .org-monogram{width:94px;height:94px;border-radius:18px;padding:7px;box-shadow:0 8px 28px rgba(0,0,0,.32)}
.sidebar-primary .org-brand-copy{width:100%;margin-top:10px}
.sidebar-primary .org-brand-copy strong{font-size:18px;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip}
.sidebar-primary .org-brand-copy span{font-size:9px;margin-top:5px;color:var(--gold);letter-spacing:.7px}
.jarnborg-footer-brand{display:flex;align-items:center;gap:9px;padding:12px 8px 2px;border-top:1px solid var(--line);margin-top:3px;opacity:.82}
.jarnborg-footer-brand img{width:34px;height:34px;border-radius:7px;object-fit:cover}
.jarnborg-footer-brand strong{display:block;font-size:10px;letter-spacing:2.2px;color:#e6e9ed}
.jarnborg-footer-brand span{display:block;font-size:7px;letter-spacing:2px;color:var(--gold);margin-top:1px}
.jarnborg-footer-brand small{display:block;font-size:7px;color:#7f8994;margin-top:3px}

/* v7.7.4 post-document workflow */
.document-next-modal{max-width:520px}
.success-confirmation{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid rgba(54,211,153,.28);background:rgba(54,211,153,.07);border-radius:12px}
.success-check{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:rgba(54,211,153,.16);color:#54d399;font-size:24px;font-weight:900}
.success-confirmation b{font-size:16px}.success-confirmation p{margin:5px 0 0;color:var(--muted)}
.document-next-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 18px}
@media(max-width:560px){.document-next-actions{grid-template-columns:1fr}}

/* v7.7.5 visible modal save errors */
.modal-save-error{display:none;margin-top:14px;padding:11px 12px;border:1px solid rgba(255,92,92,.45);background:rgba(155,34,34,.16);color:#ff9b9b;border-radius:9px;font-weight:700}
.modal-save-error.show{display:block}

/* v7.7.6 Program Forms ↔ Documents & Waivers integration */
.org-library-grid .document-option{position:relative}
.org-library-option.inherited{border-style:dashed;background:rgba(255,255,255,.025)}
.org-library-option .badge{margin-left:auto;white-space:nowrap}
.org-library-option input:disabled{opacity:.75}
.required-doc-builder+.required-doc-builder{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}

/* v7.7.7 registration-time waiver enforcement */
.registration-requirements{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015)}
.registration-requirement-card{padding:14px;margin-top:10px;border:1px solid #33404c;border-radius:10px;background:#0c1014}
.registration-requirement-card.required{border-left:3px solid var(--gold)}
.requirement-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.requirement-card-head b{display:block;font-size:14px}.requirement-card-head small{display:block;color:var(--muted);margin-top:4px}
.requirement-actions{margin:12px 0}.requirement-ack-area{padding-top:10px;border-top:1px solid var(--line)}
.requirement-ack-field{display:block}.requirement-ack-field input{width:100%;margin-top:6px}
.requirement-ack-area input:disabled{opacity:.45;cursor:not-allowed}

/* v7.8 participant document center + age-based team placement */
.participant-doc-toolbar{gap:10px;flex-wrap:wrap}.participant-doc-toolbar select{min-width:170px}
.participant-folder{margin-bottom:16px}.participant-folder .panel-head p{margin:5px 0 0;color:var(--muted)}
.participant-folder-docs{display:flex;flex-direction:column;gap:8px}.participant-doc-row{align-items:center}
.doc-actions{display:flex;gap:7px;flex-wrap:wrap}.team-placement-box{margin:8px 0 12px}

/* v7.9 registration completion & review */
.review-summary{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:10px;margin:0 0 16px}
.review-stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--text);cursor:pointer;text-align:left}
.review-stat b{display:block;font-size:22px;color:var(--gold)}.review-stat span{font-size:11px;color:var(--muted)}
.review-stat.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent)}
.review-card{margin-bottom:12px}.review-card .panel-head p{margin:4px 0 0;color:var(--muted)}
.review-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.review-checks>div{padding:10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.015)}
.review-checks small{display:block;color:var(--muted);margin-bottom:4px}.review-checks b{display:block}
.review-doc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.review-doc-row.missing{opacity:.8}.review-doc-row small{display:block;color:var(--muted);margin-top:3px}
.registration-upload-list{display:flex;flex-direction:column;gap:10px}.registration-upload-row{display:grid;grid-template-columns:1fr minmax(220px,42%);gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:9px}
.registration-upload-row small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:900px){.review-summary{grid-template-columns:repeat(2,1fr)}.review-checks{grid-template-columns:repeat(2,1fr)}.registration-upload-row{grid-template-columns:1fr}}

/* v7.9.1 document reminder email */
.reminder-meta{margin:10px 0 2px;font-size:11px;color:var(--muted)}
.review-reminder{border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}

/* v7.10 registration management */
.registration-management-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 4px}
.danger-action{border-color:rgba(220,75,75,.55)!important;color:#ff9b9b!important}
.registration-timeline{display:flex;flex-direction:column;gap:0;margin-top:8px}
.registration-timeline-row{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding:8px 0 14px}
.registration-timeline-row:not(:last-child)::before{content:"";position:absolute;left:6px;top:19px;bottom:-2px;width:1px;background:var(--line)}
.timeline-dot{width:13px;height:13px;border-radius:50%;background:var(--gold);margin-top:3px;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent)}
.registration-timeline-row b{display:block}.registration-timeline-row small{display:block;color:var(--muted);margin-top:3px}
.registration-timeline-row p{margin:5px 0 0;color:#c9d0d7;font-size:12px}

/* v7.10.1 data normalization */
.normalization-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.normalization-row:last-child{border-bottom:0}.normalization-row small{display:block;color:var(--muted);margin-top:3px;max-width:540px}

/* v7.10.2 repair workflow */
.repair-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.repair-or{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--muted);font-size:11px;letter-spacing:.12em}.repair-or::before,.repair-or::after{content:"";height:1px;background:var(--line);flex:1}

/* v7.10.8 scrollable sidebar */
.sidebar{
  overflow:hidden;
}
.sidebar nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:5px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(213,161,30,.42) transparent;
}
.sidebar nav::-webkit-scrollbar{width:7px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar nav::-webkit-scrollbar-thumb{
  background:rgba(213,161,30,.36);
  border-radius:999px;
}
.sidebar nav::-webkit-scrollbar-thumb:hover{background:rgba(213,161,30,.58)}
.sidebar .side-bottom{
  flex:0 0 auto;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  background:rgba(8,10,12,.98);
}
@media(max-width:760px){
  .sidebar{
    height:100dvh;
    overflow:hidden;
  }
  .sidebar nav{
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* v7.10.9 branded dialogs */
.brand-dialog-back{z-index:10050}
.brand-dialog{width:min(520px,calc(100vw - 32px));padding:0!important;overflow:hidden}
.brand-dialog-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 9%,transparent),transparent)}
.brand-dialog-head b{display:block;font-size:13px}.brand-dialog-head small{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.brand-dialog-body{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px 18px 10px}
.brand-dialog-body h2{margin:0 0 8px}.brand-dialog-body p{margin:0;color:var(--muted);line-height:1.55}
.brand-dialog-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:20px;border:1px solid var(--line)}
.brand-dialog-icon.question,.brand-dialog-icon.warning{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--line));background:color-mix(in srgb,var(--gold) 8%,transparent)}
.brand-dialog-icon.danger{color:#ff9292;border-color:rgba(220,75,75,.45);background:rgba(220,75,75,.08)}
.brand-dialog-icon.success{color:#75dca0;border-color:rgba(65,190,116,.4);background:rgba(65,190,116,.08)}
.brand-dialog-input{display:block;padding:8px 18px 4px}.brand-dialog-input textarea{min-height:88px}.brand-dialog-input input{width:100%}.brand-dialog-input small{display:block;color:#ff8989;min-height:16px;margin-top:5px}
.brand-dialog-actions{padding:14px 18px 18px;border-top:1px solid var(--line);justify-content:flex-end}
.danger-confirm{background:#a93d3d!important;border-color:#c14c4c!important;color:#fff!important}
@media(max-width:600px){.brand-dialog-body{grid-template-columns:36px 1fr;padding:16px 14px 8px}.brand-dialog-icon{width:34px;height:34px}.brand-dialog-actions{padding:12px 14px 14px}.brand-dialog-actions button{flex:1}}

/* v7.11.0 first-run organization setup wizard */
.setup-wizard{max-width:980px;margin:0 auto 60px}
.wizard-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:4px 0 20px}
.wizard-step{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:11px;background:rgba(255,255,255,.015)}
.wizard-step span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-weight:900}
.wizard-step.active{color:#fff;border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:color-mix(in srgb,var(--gold) 7%,transparent)}
.wizard-step.active span,.wizard-step.done span{background:var(--gold);color:#090b0d;border-color:var(--gold)}
.wizard-step.done{color:#d7dde4}
.wizard-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.wizard-card h2{font-size:26px;margin:5px 0 8px}.wizard-card>p{margin-top:0}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.wizard-brand-preview{display:grid;place-items:center;min-height:180px;border:1px dashed var(--line);border-radius:14px;margin:16px 0;background:rgba(255,255,255,.015)}
.wizard-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.wizard-review>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:rgba(255,255,255,.015)}
.wizard-review small{display:block;color:var(--muted);margin-bottom:4px}.wizard-review b{display:block}
.launch-card{border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}
@media(max-width:900px){.wizard-progress{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.wizard-progress{grid-template-columns:repeat(2,1fr)}.wizard-review{grid-template-columns:1fr}.wizard-card{padding:18px}.wizard-step b{font-size:10px}}

/* v7.12.0 tryouts & player evaluations */
.hidden{display:none!important}
.tryout-badge{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold2)}
.tryout-config{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.wizard-tryout-toggle{padding:16px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--gold) 6%,transparent)}
.eval-layout{align-items:start}
.criterion-row{display:grid;grid-template-columns:1fr 120px 36px;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}
.criterion-row:last-child{border-bottom:0}
.criterion-row label{margin:0}.criterion-row .icon-btn{margin-bottom:2px}
.candidate-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}
.candidate-header h3{font-size:24px;margin:4px 0}.candidate-header p{margin:0;color:var(--muted)}
.evaluation-score-grid{display:grid;gap:10px;margin:14px 0 18px}
.score-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:16px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.015)}
.score-row small{display:block;color:var(--muted);margin-top:3px}
.score-buttons{display:flex;gap:6px}
.score-buttons label{margin:0}
.score-buttons input{position:absolute;opacity:0;pointer-events:none}
.score-buttons span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-weight:800}
.score-buttons input:checked+span{background:var(--gold);border-color:var(--gold);color:#090b0d}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
@media(max-width:760px){
  .wizard-progress{grid-template-columns:repeat(2,1fr)}
  .criterion-row{grid-template-columns:1fr 90px 36px}
  .score-row{grid-template-columns:1fr}
  .score-buttons{justify-content:flex-start}
}

/* v7.12.1 platform bootstrap branding */
.platform-monogram{background:linear-gradient(145deg,var(--gold),#8f6914)!important;color:#080a0c!important;border-color:color-mix(in srgb,var(--gold) 70%,#fff)!important;font-size:12px!important;letter-spacing:.04em}
.platform-signup-note{text-align:center;margin-top:9px}

/* v7.12.3 organization invite gate */
.platform-invites-panel code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;letter-spacing:.08em;color:var(--gold2)}
#orgInviteGateForm input[name="inviteCode"]{text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800}
.good-note{border-color:rgba(65,190,116,.4)!important;background:rgba(65,190,116,.08)!important}

/* v7.13.0 Stripe Connect + program pricing */
.payment-settings-grid{align-items:stretch}
.stripe-connect-card .payment-actions{margin-top:18px}
.payment-account-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}
.payment-account-meta>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:rgba(255,255,255,.02)}
.payment-account-meta small{display:block;color:var(--muted);margin-bottom:4px}
.payment-account-meta b{font-size:12px;word-break:break-all}
.link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.money-input{display:flex;align-items:center;max-width:150px;border:1px solid var(--line);border-radius:8px;background:#090d11;overflow:hidden}
.money-input span{padding-left:10px;color:var(--muted);font-weight:800}
.money-input input{width:100%;border:0!important;background:transparent!important;padding-left:5px!important}
.money-input:has(input:disabled){opacity:.45}
.pricing-table td small{display:block;color:var(--muted);margin-top:4px}
.danger-note{border-color:rgba(230,90,90,.4)!important;background:rgba(230,90,90,.08)!important}
@media(max-width:760px){.payment-account-meta{grid-template-columns:1fr}.pricing-table{min-width:820px}}

.success-note{border-color:rgba(72,209,139,.35)!important;background:rgba(72,209,139,.08)!important}

/* v7.16.0 — Dedicated registration payment flow */
.registration-payment-shell{display:grid;gap:16px;max-width:980px}
.registration-complete-banner{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,rgba(213,161,30,.13),rgba(16,20,25,.96));border:1px solid rgba(213,161,30,.45);border-radius:16px;padding:22px}
.registration-complete-banner h2{margin:4px 0 8px}.registration-complete-banner p{margin:0;color:var(--muted,#9ba7b5);line-height:1.6}
.registration-check{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#1d6b45;color:#fff;font-size:24px;font-weight:900}
.registration-payment-card{background:#101419;border:1px solid #2a323b;border-radius:16px;padding:20px;display:grid;gap:16px}
.registration-payment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.registration-payment-head h2{margin:4px 0}.registration-payment-head p{margin:0;color:#9ba7b5}
.payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payment-summary-grid>div{background:#0b0f13;border:1px solid #27303a;border-radius:10px;padding:13px}.payment-summary-grid small{display:block;color:#8f9aa6;margin-bottom:5px}.payment-summary-grid b,.payment-summary-grid strong{font-size:17px}.payment-summary-grid strong{color:#e3b436}
.payment-footer-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-payment-head{flex-direction:column}.registration-complete-banner{padding:17px}.payment-footer-actions>*{flex:1 1 100%}}

/* v7.17.0 — family profiles + program registration workflow */
.program-registration-review{margin-top:16px}.program-price-review{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.program-price-review>div{background:#0a0d10;border:1px solid #2a3138;border-radius:10px;padding:12px}.program-price-review small{display:block;color:#8f9aa6;text-transform:uppercase;font-size:10px;letter-spacing:.08em;margin-bottom:5px}.program-price-review b{display:block;color:#f4f4f2}.registration-program-wizard .registration-section{margin-top:16px;padding-top:16px;border-top:1px solid #2a3138}
@media(max-width:760px){.program-price-review{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.program-price-review{grid-template-columns:1fr}}

/* v7.26.0 — consolidated regression fixes and admin UX */
.metric.metric-click{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;width:100%}.metric.metric-click:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));transform:translateY(-1px)}
.dashboard-chart{display:grid;gap:9px}.chart-row{appearance:none;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,2fr) auto;gap:12px;align-items:center;padding:8px 0;text-align:left;width:100%}.chart-row.clickable{cursor:pointer}.chart-row.clickable:hover b{color:var(--gold2)}.chart-row span{min-width:0}.chart-row small{display:block;color:var(--muted);margin-top:2px}.chart-row i{height:9px;border-radius:999px;background:#202731;overflow:hidden}.chart-row i em{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:inherit}.chart-row strong{min-width:60px;text-align:right}.dashboard-grid{align-items:start}
.participant-count-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.filter-chip{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:8px 11px;cursor:pointer}.filter-chip b{color:var(--gold2);margin-left:5px}.filter-chip.active{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,var(--panel))}
.season-overview-list{display:grid;gap:7px;margin-top:10px}.event-context{color:var(--muted);margin-top:-4px}
.address-grid{margin-top:4px}.address-autocomplete-wrap{position:relative}.address-suggestions{position:absolute;z-index:50;left:0;right:0;top:100%;background:#11161c;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.42);overflow:hidden}.address-suggestion{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;padding:10px 12px;cursor:pointer}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover{background:color-mix(in srgb,var(--gold) 10%,#11161c)}
.segmented{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);background:#0d1116;color:var(--muted);padding:9px 14px;font-weight:800;cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--gold);color:#090b0d}
.btn:disabled,.ghost:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.4)}
@media(max-width:760px){.chart-row{grid-template-columns:1fr auto}.chart-row i{grid-column:1/-1}.dashboard-grid{grid-template-columns:1fr}.participant-count-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-chip{white-space:nowrap}}

/* v7.27.0 — morning regression polish + admin operations */
.dashboard-primary-columns{align-items:start}.dashboard-stack{display:grid;gap:12px}.dashboard-stack h3{margin:2px 0 0;font-size:14px;color:var(--text)}
.metric.metric-click{border:1px solid var(--line);background:var(--panel);border-radius:14px}.metric.metric-click:focus-visible,.report-card:focus-visible,.audience-row:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.calendar-event{display:grid!important;gap:2px!important;text-align:left!important;white-space:normal!important;overflow:hidden}.calendar-event-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day{min-height:118px}
.communications-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.85fr);gap:16px;align-items:start}.message-history{display:grid;gap:12px}.audience-panel{position:sticky;top:14px;max-height:72vh;overflow:auto}.audience-group{margin-top:14px}.audience-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--gold2);margin:0 0 6px}.audience-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:9px 4px;text-align:left;cursor:pointer}.audience-row:hover span{color:var(--gold2)}.audience-row b{min-width:30px;text-align:center;border:1px solid var(--line);border-radius:999px;padding:3px 7px}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-card{display:grid;gap:7px;text-align:left;background:#0d1116;border:1px solid var(--line);border-radius:12px;color:var(--text);padding:14px;cursor:pointer}.report-card:hover{border-color:var(--gold)}.report-card span{color:var(--muted);font-size:12px;line-height:1.45}.report-card em{font-style:normal;color:var(--gold2);font-weight:800;font-size:11px}.report-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.division-filter{display:flex;justify-content:flex-start;margin:6px 0 12px}.division-filter label{max-width:260px}.builder-layout-full{display:block}.builder-layout-full>.panel{max-width:none}.document-library-actions{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
@media(max-width:1000px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.communications-layout{grid-template-columns:1fr}.audience-panel{position:static;max-height:none}.report-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-primary-columns{grid-template-columns:1fr!important}.calendar-day{min-height:92px}.calendar-event small{display:none}.report-grid,.report-columns{grid-template-columns:1fr}.communications-layout{grid-template-columns:1fr}}

/* v7.28.0 regression hotfix */
.staff-filter-panel-three{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto auto}
@media (max-width:1100px){.staff-filter-panel-three{grid-template-columns:1fr 1fr}.staff-filter-panel-three .staff-filter-count{align-self:end}}
@media (max-width:700px){.staff-filter-panel-three{grid-template-columns:1fr}}

/* v7.29 coach workflow */
.credential-self-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px 18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line,#27313a)}
.credential-self-row:last-child{border-bottom:0}.credential-self-row small{display:block;margin-top:4px}.credential-renewal-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.upload-inline{margin:0}.attendance-head{margin-top:18px}.attendance-head .actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.credential-self-row{grid-template-columns:1fr}.credential-renewal-actions{grid-column:1}.attendance-head{align-items:flex-start;gap:10px}}

/* v7.30 embedded registration documents */
.inline-registration-requirement{margin:14px 0}.inline-document-frame{margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.inline-document-iframe{display:block;width:100%;height:min(62vh,620px);border:0;background:#fff}.inline-document-image{display:block;max-width:100%;max-height:620px;margin:0 auto}.action-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.action-reason{white-space:normal;text-align:left}
@media(max-width:760px){.inline-document-iframe{height:52vh}}

/* v7.30.1 parent compliance notifications */
.nav{position:relative}.nav .nav-label{flex:1;text-align:left}.nav-alert-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef2b2d!important;color:#ffffff!important;border:1px solid #ff6b6d!important;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;line-height:1;box-shadow:0 0 0 2px rgba(239,43,45,.20),0 1px 4px rgba(0,0,0,.28)!important;text-shadow:none!important}
.parent-action-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;border-color:#8b3333!important;background:rgba(117,31,31,.18)!important}.attention-detail{display:block!important;color:#ff9a9a!important;margin-top:5px;max-width:420px;line-height:1.35}
@media(max-width:720px){.parent-action-banner{align-items:flex-start;flex-direction:column}.parent-action-banner .btn{width:100%}}

/* v7.30.4 requirement library stabilization */
.requirement-library-list{display:grid;gap:10px;margin-top:14px}
.requirement-library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),#0d1014);border-radius:12px;padding:15px 16px}
.requirement-library-row.archived{opacity:.62}
.requirement-library-main{min-width:0}
.requirement-library-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.requirement-library-title h3{margin:0;font-size:17px;line-height:1.2}
.requirement-library-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.requirement-library-meta span{display:inline-flex;align-items:center;border:1px solid #303842;background:#0c1014;border-radius:999px;padding:4px 8px;color:#aeb7c2;font-size:10px;text-transform:capitalize}
.requirement-library-source{margin-top:8px!important;overflow-wrap:anywhere}
.requirement-library-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.danger-action{border-color:rgba(255,103,103,.55)!important;color:#ff8f8f!important}
@media(max-width:760px){.requirement-library-row{grid-template-columns:1fr}.requirement-library-actions{justify-content:flex-start}}


/* v7.30.5 embedded requirement review */
.embedded-requirement-viewer{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.18)}
.embedded-requirement-viewer[hidden]{display:none}
.embedded-doc-head,.embedded-doc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(255,255,255,.035)}
.embedded-doc-head span,.embedded-doc-foot{font-size:12px;color:var(--muted)}
.embedded-doc-frame{display:block;width:100%;height:min(68vh,760px);min-height:520px;border:0;background:#fff}
.embedded-text-review{padding:18px}
@media(max-width:760px){.embedded-doc-frame{height:62vh;min-height:420px}.embedded-doc-head{align-items:flex-start;flex-direction:column}}


/* v7.30.8 document creation + admin review queue */
.document-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.document-choice-card{appearance:none;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:18px;cursor:pointer;transition:.16s ease}
.document-choice-card:hover{border-color:var(--gold);transform:translateY(-1px)}
.document-choice-card b{display:block;font-size:16px;margin-bottom:7px}.document-choice-card span{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.admin-review-alert,.dashboard-action-alert{border-color:#8b3333!important;background:rgba(117,31,31,.18)!important;margin-bottom:14px}
.pending-review-folder{border-color:rgba(199,59,59,.45)!important}.pending-review-row{background:rgba(117,31,31,.08)}
.participant-doc-row .badge{margin-top:6px}.admin-doc-review-status{min-width:160px}
@media(max-width:720px){.document-choice-grid{grid-template-columns:1fr}.participant-doc-row{align-items:flex-start}.participant-doc-row .doc-actions{width:100%;justify-content:flex-start}.admin-doc-review-status{width:100%}}


/* v7.30.11 document completion viewer */
.embedded-pdf-page{background:#202327;border:1px solid #333a42;border-radius:8px;padding:14px;display:flex;justify-content:center;max-height:68vh;overflow:auto}
.embedded-pdf-canvas{display:block;max-width:100%;height:auto;background:white;box-shadow:0 4px 18px rgba(0,0,0,.28)}
.embedded-pdf-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 4px}
.pdf-page-label{min-width:110px;text-align:center;font-weight:700;color:#d8dde3}
.pdf-page-status{color:#9aa6b3;font-size:12px}
@media(max-width:700px){.embedded-pdf-page{padding:6px;max-height:62vh}.embedded-pdf-controls{gap:8px;flex-wrap:wrap}}

/* v7.30.13 SAMNERA global platform footer preview */
.samnera-platform-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:72px;
  padding:15px 10px 9px;
  border-top:1px solid var(--line);
  margin-top:4px;
  text-align:center;
  opacity:.96;
}
.samnera-wordmark{
  display:flex;
  align-items:baseline;
  justify-content:center;
  white-space:nowrap;
  color:#eaf0f5;
  font-size:15px;
  font-weight:900;
  line-height:1;
  letter-spacing:3.2px;
  text-shadow:0 1px 12px rgba(0,0,0,.32);
}
.samnera-wordmark span,.samnera-wordmark b{font:inherit;letter-spacing:inherit}
.samnera-wordmark b{color:#70c8e7;font-weight:950;margin:0 -1px}
.samnera-platform-brand small{
  display:block;
  margin-top:7px;
  color:#8794a1;
  font-size:7.5px;
  font-weight:650;
  letter-spacing:.75px;
}
@media(max-width:760px){
  .samnera-platform-brand{min-height:66px;padding:12px 8px 7px}
  .samnera-wordmark{font-size:14px;letter-spacing:2.8px}
}

/* v7.30.14 SAMNERA GLOBAL DESIGN SYSTEM
   Organization controls logo + accent. User controls Light/Dark/System.
   Functional colors are platform-standard and never organization-overridden. */
:root{
  --accent:#2f80ed;--accent-strong:#286dcc;--accent-soft:#13263d;--accent-text:#fff;
  --success:#22a06b;--success-bg:#0d2b20;--success-text:#7ee2b8;
  --warning:#d99a18;--warning-bg:#33280d;--warning-text:#ffd56a;
  --error:#d64545;--error-bg:#351516;--error-text:#ff9c9c;
  --info:#3478d4;--info-bg:#102642;--info-text:#8fc2ff;
  --disabled:#707985;
  --app-bg:#090d12;--sidebar-bg:#0b0f14;--surface:#11171e;--surface-2:#161e27;--surface-3:#1d2732;
  --border:#2a3440;--text-primary:#f4f7fa;--text-secondary:#a9b3bf;--text-tertiary:#7f8a97;
  --input-bg:#0c1117;--hover-bg:rgba(255,255,255,.055);--shadow:0 12px 30px rgba(0,0,0,.26);
  --panel:var(--surface);--panel2:var(--surface-2);--line:var(--border);--text:var(--text-primary);--muted:var(--text-secondary);
  --green:var(--success);--amber:var(--warning);--danger:var(--error);color-scheme:dark;
}
:root[data-theme="light"]{
  --app-bg:#f4f7fa;--sidebar-bg:#ffffff;--surface:#ffffff;--surface-2:#f8fafc;--surface-3:#eef2f6;
  --border:#d7dee7;--text-primary:#17202a;--text-secondary:#566372;--text-tertiary:#7a8794;
  --input-bg:#ffffff;--hover-bg:rgba(23,32,42,.055);--shadow:0 10px 28px rgba(23,32,42,.10);
  --success:#16855a;--success-bg:#e6f6ef;--success-text:#116b49;
  --warning:#a86f00;--warning-bg:#fff4d5;--warning-text:#7e5500;
  --error:#c73838;--error-bg:#fdecec;--error-text:#9f2f2f;
  --info:#276fc1;--info-bg:#eaf3ff;--info-text:#215f9e;
  --disabled:#8c96a1;color-scheme:light;
}
body{background:var(--app-bg)!important;color:var(--text-primary);transition:background .15s ease,color .15s ease}
.sidebar{background:color-mix(in srgb,var(--sidebar-bg) 96%,transparent);border-color:var(--border)}
.main header,.sidebar-primary,.samnera-platform-brand{border-color:var(--border)}
.panel,.metric,.program-card,.role-box,.org-pill,.review-stat,.requirement-card,.registration-requirement-card,.document-choice-card,.public-card,.modal{background:var(--surface);border-color:var(--border);color:var(--text-primary);box-shadow:none}
.metric,.program-card{background:linear-gradient(145deg,var(--surface-2),var(--surface))}
input,select,textarea,.search,.form-grid input,.form-grid select,.modal input,.modal select,.mini-form input,.mini-form select,.mini-form textarea,.public-card input,.public-card select,.public-card textarea,.role-box select{background:var(--input-bg)!important;border-color:var(--border)!important;color:var(--text-primary)!important}
.form-grid label,.modal label,.mini-form label,.public-card label{color:var(--text-primary)}
.nav{color:var(--text-secondary)}
.nav:hover,.nav.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-primary)}
.nav.active{border-left-color:var(--accent)}
.nav span,.nav-group-icon,.eyebrow,.org-pill small,.brand span,.link,.team-icon,.program-price,th{color:var(--accent)!important}
.nav-group-toggle{color:var(--text-secondary)}.nav-group-toggle:hover,.nav-group.open .nav-group-toggle{background:var(--hover-bg);color:var(--text-primary)}
.nav-group-items{border-left-color:var(--border)}
.btn{border-color:var(--accent);background:var(--accent);color:var(--accent-text);box-shadow:none}
.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.ghost,.icon-btn{border-color:var(--border);color:var(--text-primary);background:var(--surface)}
.ghost:hover,.icon-btn:hover{background:var(--surface-3)}
.status.open,.badge.good,.success strong{color:var(--success)!important}.status.closed{color:var(--error)!important}
.badge{background:var(--surface-3);color:var(--text-secondary)!important}
.badge.good{background:var(--success-bg);color:var(--success-text)!important}
.badge.warn{background:var(--warning-bg);color:var(--warning-text)!important}
.notice{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:var(--warning-bg);color:var(--warning-text)}
.notice.success-note,.success-confirmation{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:var(--success-bg);color:var(--success-text)}
.admin-review-alert,.dashboard-action-alert{border-color:color-mix(in srgb,var(--error) 55%,var(--border))!important;background:var(--error-bg)!important;color:var(--error-text)!important}
.pending-review-folder{border-color:color-mix(in srgb,var(--warning) 55%,var(--border))!important}.pending-review-row{background:var(--warning-bg)}
.danger-action{border-color:color-mix(in srgb,var(--error) 60%,var(--border))!important;color:var(--error-text)!important}
.modal-save-error{border-color:color-mix(in srgb,var(--error) 55%,var(--border));background:var(--error-bg);color:var(--error-text)}
.toast{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 55%,var(--border));color:var(--success-text)}
.bar{background:var(--surface-3)}.bar i{background:var(--accent)}
.avatar{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)!important}
.metric-icon{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--accent)}
.callout{background:linear-gradient(110deg,var(--surface),color-mix(in srgb,var(--accent) 6%,var(--surface)))}
.requirement-card.complete{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:var(--success-bg)}
.requirement-card.complete .requirement-status{background:var(--success);color:#fff}
.requirement-status{background:var(--surface-3)}
.embedded-pdf-page{background:var(--surface-3);border-color:var(--border)}
.pdf-page-label{color:var(--text-primary)}.pdf-page-status{color:var(--text-secondary)}
.samnera-wordmark{color:var(--text-primary)}.samnera-platform-brand small{color:var(--text-tertiary)}
.theme-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.theme-choice{appearance:none;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text-primary);padding:15px;text-align:left;cursor:pointer}
.theme-choice:hover{border-color:var(--accent)}.theme-choice.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.theme-choice b,.theme-choice small{display:block}.theme-choice small{color:var(--text-secondary);margin-top:4px}
/* Organization accent never overrides semantic states. */
.badge.good,.badge.warn,.status.open,.status.closed,.admin-review-alert,.dashboard-action-alert,.danger-action,.success-confirmation,.modal-save-error{--gold:var(--accent)}
@media(max-width:700px){.theme-choice-grid{grid-template-columns:1fr}}

/* v7.30.15: attention counts are platform-semantic, never organization-themed */
.nav .nav-alert-count,.sidebar .nav-alert-count,[data-theme=light] .nav-alert-count,[data-theme=dark] .nav-alert-count{background:#ef2b2d!important;color:#fff!important;border-color:#ff6b6d!important;}

.metric.metric-click.active{border-color:var(--accent,var(--gold));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,var(--gold)) 35%,transparent);background:color-mix(in srgb,var(--accent,var(--gold)) 8%,var(--surface-2,var(--panel2)))}

/* v7.32.1 platform tenant status gate */
.restriction-brand{margin:0 0 24px;padding:0;border:0;text-align:center}.restriction-brand .samnera-wordmark{justify-content:center}.restriction-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* v7.32.2 SAMNERA public authentication shell */
.platform-login-shell{background:radial-gradient(circle at 13% 92%,rgba(47,195,212,.14),transparent 30%),radial-gradient(circle at 88% 8%,rgba(113,132,145,.08),transparent 26%),#070c0f}
.platform-login-card{width:min(530px,100%);border-color:#33434b;background:linear-gradient(180deg,#111920,#0b1116);box-shadow:0 28px 85px rgba(0,0,0,.5),inset 0 1px 0 rgba(47,195,212,.07)}
.platform-auth-brand{display:block;text-align:center;margin:0 auto 34px;padding:2px 10px 12px;border-bottom:1px solid rgba(47,195,212,.16)}
.auth-brand.platform-auth-brand .platform-wordmark{width:min(300px,82%);height:auto;max-height:190px;object-fit:contain;background:transparent;margin:0 auto;display:block;border-radius:10px}
.platform-login-card .eyebrow{color:#66d7e3}
.platform-login-card .btn{background:#2fc3d4;border-color:#2fc3d4;color:#061014}
.platform-login-card .btn:hover{filter:brightness(1.06)}
.platform-login-card input:focus{outline:none;border-color:#43cad9;box-shadow:0 0 0 3px rgba(47,195,212,.10)}
.platform-login-card .auth-divider{color:#8fa1ad}
.platform-login-card .ghost:hover{border-color:#4d6974;color:#fff}
.platform-login-card .fine{color:#8497a3}

/* v7.32.4 official SAMNERA logo asset */
.samnera-platform-brand{padding:10px 8px 2px;text-align:center}
.samnera-platform-logo{display:block;width:min(190px,100%);height:auto;max-height:108px;object-fit:contain;margin:0 auto;border-radius:8px}
.restriction-brand .samnera-platform-logo{width:min(260px,84%);max-height:150px;margin-bottom:18px}

/* v7.35.0 workflow status + in-portal documents */
.portal-document-viewer{width:min(1100px,82vw);height:min(78vh,900px);background:#0b1116;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.portal-document-viewer iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.status-action-stack{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:170px}
.clickable-cell{cursor:pointer}
.clickable-cell:hover b{text-decoration:underline}
.action-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.action-reason{white-space:normal;line-height:1.25}
@media(max-width:900px){.portal-document-viewer{width:86vw;height:70vh}.status-action-stack{min-width:0}}

/* v7.35.3 unified inbox */
.inbox-shell{padding:0;overflow:hidden}
.inbox-toolbar{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.inbox-folders{display:flex;gap:6px;flex-wrap:wrap}
.inbox-folder{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:9px;padding:8px 11px;font-weight:800;cursor:pointer;display:flex;gap:7px;align-items:center}
.inbox-folder span{min-width:20px;padding:2px 6px;border-radius:999px;background:var(--panel);font-size:11px;text-align:center}
.inbox-folder.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
.inbox-tools{display:flex;gap:8px;align-items:center;flex:1;justify-content:flex-end;min-width:280px}
.inbox-tools .search{max-width:320px}
.inbox-list{display:flex;flex-direction:column}
.inbox-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);background:var(--panel);transition:opacity .15s ease,background .15s ease}
.inbox-row:last-child{border-bottom:0}
.inbox-row.unread{background:color-mix(in srgb,var(--accent) 7%,var(--panel));box-shadow:inset 3px 0 0 var(--accent)}
.inbox-row.read{opacity:.62}
.inbox-row:hover{opacity:1;background:var(--panel-2)}
.inbox-star{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer;height:100%;min-height:66px}
.inbox-star.on{color:var(--accent)}
.inbox-open{display:grid;grid-template-columns:minmax(130px,190px) minmax(260px,1fr) minmax(150px,210px) 14px;gap:14px;align-items:center;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:12px 8px;cursor:pointer;min-width:0}
.inbox-from{font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-subject{display:flex;gap:8px;min-width:0;align-items:baseline}
.inbox-subject b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.inbox-subject small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);min-width:0}
.inbox-date{font-size:12px;color:var(--muted);text-align:right}
.unread-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:block}
.inbox-row-actions{display:flex;gap:6px;padding-right:12px;opacity:0;transition:opacity .15s ease}
.inbox-row:hover .inbox-row-actions{opacity:1}
.message-reader-meta{display:grid;gap:5px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.message-reader-meta b{font-size:17px}.message-reader-meta span,.message-reader-meta small{color:var(--muted)}
.message-reader-body{padding:22px 0;line-height:1.75;font-size:15px;white-space:normal}
.ghost.danger{border-color:color-mix(in srgb,#ef4444 45%,var(--line));color:#ef4444}
@media(max-width:900px){.inbox-open{grid-template-columns:1fr 100px 12px}.inbox-from{display:none}.inbox-subject small{display:none}.inbox-row-actions{opacity:1;grid-column:2}.inbox-row{grid-template-columns:38px 1fr}.inbox-tools{min-width:100%;justify-content:stretch}.inbox-tools .search{max-width:none;flex:1}}

/* v7.35.3 explicit inbox read/unread contrast */
.inbox-row.unread{
  opacity:1!important;
  background:color-mix(in srgb,var(--accent) 12%,var(--panel))!important;
  box-shadow:inset 4px 0 0 var(--accent),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);
}
.inbox-row.unread .inbox-from,.inbox-row.unread .inbox-subject b{color:var(--text);font-weight:900}
.inbox-row.unread .inbox-subject small,.inbox-row.unread .inbox-date{color:color-mix(in srgb,var(--text) 78%,var(--muted))}
.inbox-row.read{
  opacity:1!important;
  background:color-mix(in srgb,var(--panel) 76%,#000 24%)!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--muted) 34%,transparent);
}
.inbox-row.read .inbox-from,.inbox-row.read .inbox-subject b{color:color-mix(in srgb,var(--muted) 82%,var(--text));font-weight:650}
.inbox-row.read .inbox-subject small,.inbox-row.read .inbox-date{color:color-mix(in srgb,var(--muted) 72%,transparent)}
.inbox-row.read:hover{opacity:1!important;background:color-mix(in srgb,var(--panel-2) 68%,#000 32%)!important}
.inbox-row.unread:hover{opacity:1!important;background:color-mix(in srgb,var(--accent) 16%,var(--panel-2))!important}

.user-chip{color:inherit;font:inherit;text-align:left;cursor:pointer}.user-chip:hover{border-color:var(--gold);transform:translateY(-1px)}.parent-family-card{cursor:pointer}.parent-family-card:hover{border-color:var(--gold);box-shadow:0 10px 28px rgba(0,0,0,.18)}

/* v7.39.0 coach participant modal parity */
.modal:has(.coach-player-modal-content){width:min(900px,96vw);max-height:92vh}.coach-player-modal-content{display:grid;gap:16px}.coach-player-modal-content .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-note-history{display:grid;gap:8px}.staff-note-card{border:1px solid var(--border,var(--line));border-radius:10px;padding:12px;background:var(--input-bg,#0b0e12);overflow-wrap:anywhere}.staff-note-card small{display:block;color:var(--muted);margin-bottom:6px}@media(max-width:700px){.coach-player-modal-content .detail-grid{grid-template-columns:1fr}.modal:has(.coach-player-modal-content){width:100%}}

/* v7.40.0 messaging stability + coach modal cleanup */
.nav-alert-dot{width:9px!important;height:9px!important;min-width:9px;border-radius:999px;background:#ef4444!important;display:inline-block!important;margin-left:auto;box-shadow:0 0 0 2px color-mix(in srgb,#ef4444 20%,transparent)}
.coach-player-modal-content{gap:14px}
.coach-detail-section{border:1px solid var(--border,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface,var(--panel)) 92%,transparent);padding:16px}
.coach-detail-section .detail-grid{border:0;background:transparent;padding:0;gap:8px 18px}
.coach-detail-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}
.coach-detail-section-head h3{margin:0;font-size:16px}
.coach-safety-section>.modal-divider:first-child{display:none}
@media(max-width:700px){.coach-detail-section{padding:13px}.coach-detail-section-head{display:block}.coach-detail-section-head h3{margin-top:4px}}

/* v7.42.0 — Professional visual system + participant photography */
:root{--radius:18px}
body{background:radial-gradient(circle at 82% -5%,rgba(213,161,30,.10),transparent 26%),linear-gradient(180deg,#080b0f 0,#090c10 55%,#07090c 100%);letter-spacing:.005em}
.main{max-width:1800px;margin:0 auto;padding-left:36px;padding-right:36px}
.main header{height:112px;margin-bottom:32px}.main h1{font-size:30px;letter-spacing:-.035em}.page-sub{font-size:14px;line-height:1.6;max-width:940px}
.sidebar{background:linear-gradient(180deg,rgba(8,11,15,.985),rgba(10,13,17,.985));box-shadow:12px 0 40px rgba(0,0,0,.16)}
.nav{min-height:44px;border-radius:12px}.nav:hover{background:rgba(255,255,255,.035)}.nav.active{background:linear-gradient(90deg,rgba(213,161,30,.16),rgba(213,161,30,.035));box-shadow:inset 0 0 0 1px rgba(213,161,30,.12)}
.panel,.program-card,.metric{background:linear-gradient(160deg,rgba(20,25,31,.96),rgba(12,16,20,.96));border-color:#29323c;box-shadow:0 16px 38px rgba(0,0,0,.16)}
.panel{padding:22px}.program-card{padding:20px;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.program-card:hover{border-color:#3b4652;transform:translateY(-1px);box-shadow:0 20px 46px rgba(0,0,0,.22)}
.btn,.ghost{min-height:42px;border-radius:12px;padding:10px 15px;transition:transform .12s ease,filter .12s ease,background .12s ease}.btn:hover,.ghost:hover{transform:translateY(-1px);filter:brightness(1.06)}
.form-grid input,.form-grid select,.modal input,.modal select,.modal textarea,.mini-form input,.mini-form select,.mini-form textarea,.public-card input,.public-card select,.public-card textarea,.search{border-radius:12px;min-height:44px;border-color:#34404b;background:#0a0e12;outline:none}.form-grid input:focus,.form-grid select:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.search:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(213,161,30,.12)}
.badge{padding:6px 9px;font-weight:800;letter-spacing:.02em}.activity{min-height:58px;padding:11px 0}.activity b{font-size:13px}.activity span{font-size:11px}
.family-hero{border:1px solid #303944;background:linear-gradient(120deg,#141a21,#0c1116);border-radius:22px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.modal{border-radius:22px;padding:24px;box-shadow:0 36px 100px rgba(0,0,0,.58);border-color:#3a4652}.modal-back{backdrop-filter:blur(5px)}
.table-wrap{border-radius:18px}.table-wrap table{background:rgba(12,16,20,.55)}th{background:#0c1116;position:sticky;top:0;z-index:1}
.participant-photo{width:44px!important;height:44px!important;min-width:44px;border-radius:15px!important;overflow:hidden;background:#202833!important;border:1px solid #35404b;display:grid!important;place-items:center!important;color:#aeb8c4!important}.participant-photo img{width:100%;height:100%;display:block;object-fit:cover}.participant-photo.large{width:78px!important;height:78px!important;min-width:78px;border-radius:22px!important}.participant-photo-empty{background:linear-gradient(145deg,#252d35,#171d24)!important}.participant-photo-empty>span{color:#bac3cc!important;font-size:13px!important;font-weight:900!important;letter-spacing:.08em}
.participant-card-head{display:flex;align-items:center;gap:15px;margin:15px 0 5px}.participant-card-head h3{margin:3px 0 2px}.participant-photo-editor{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:16px;border:1px solid #303944;border-radius:18px;background:#0b1015;margin-bottom:16px}.participant-photo-editor h3{margin:4px 0 2px}.participant-photo-upload{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;margin-top:10px;cursor:pointer}.participant-profile-editor{display:grid;gap:14px}
.parent-action-banner{border-radius:18px;padding:18px 20px}.detail-grid>div{border-radius:12px;background:#0c1116;padding:12px;border:1px solid #28313a}
@media(max-width:760px){.main{padding-left:16px;padding-right:16px}.main header{min-height:92px}.participant-photo-editor{grid-template-columns:1fr;text-align:center}.participant-photo-editor .participant-photo{margin:0 auto}.participant-photo-upload{margin-left:auto;margin-right:auto}.program-card:hover{transform:none}}

/* v7.43.5 — Theme parity / automatic contrast hardening
   This layer intentionally comes last so newer professional styling cannot
   accidentally force dark surfaces while the user is in Light/System-Light. */
:root{
  --on-surface:var(--text-primary);
  --on-surface-muted:var(--text-secondary);
  --on-sidebar:var(--text-primary);
  --on-accent:var(--accent-text);
}

/* The entire application shell follows the selected theme. */
body,
.shell,
.main,
#view{
  background:var(--app-bg)!important;
  color:var(--text-primary)!important;
}
.sidebar{
  background:var(--sidebar-bg)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
  box-shadow:var(--shadow)!important;
}
.main header,
.sidebar-primary,
.samnera-platform-brand,
.nav-group-items{
  border-color:var(--border)!important;
}

/* Every ordinary surface uses theme tokens — no mixed dark cards in Light mode. */
.panel,
.metric,
.program-card,
.role-box,
.org-pill,
.review-stat,
.requirement-card,
.registration-requirement-card,
.document-choice-card,
.public-card,
.modal,
.family-hero,
.coach-detail-section,
.staff-note-card,
.detail-grid>div,
.participant-photo-editor,
.inbox-row,
.report-card,
.requirement-library-row,
.field-row,
.table-wrap table,
th,
.callout{
  background:var(--surface)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
  box-shadow:var(--shadow);
}
.metric,
.program-card,
.theme-choice,
.inbox-folder,
.requirement-status{
  background:var(--surface-2)!important;
}
.surface-3,
.badge,
.bar,
.participant-photo,
.embedded-pdf-page{
  background:var(--surface-3)!important;
}

/* Typography always contrasts its owning themed surface. */
.main h1,.main h2,.main h3,.main h4,.main h5,.main h6,
.panel h1,.panel h2,.panel h3,.panel h4,
.metric b,.metric strong,.metric em,
.program-card h3,
.chart-row b,.chart-row strong,
.callout h2,
.table-wrap td,
.modal h1,.modal h2,.modal h3,
.detail-grid b,
.inbox-from,.inbox-subject b,
.report-card b,
.user-chip,
.org-pill b{
  color:var(--text-primary)!important;
}
.page-sub,
.panel p,
.callout p,
.metric small,.metric span,.metric em,
.chart-row small,
.program-card p,
.activity span,
.detail-grid span,
.inbox-subject small,.inbox-date,
.samnera-platform-brand small,
.muted,
.fine{
  color:var(--text-secondary)!important;
}

/* Sidebar is part of the theme, including brand/nav/account controls. */
.sidebar .nav,
.sidebar .nav-group-toggle,
.sidebar .role-box,
.sidebar .org-pill,
.sidebar .user-chip{
  color:var(--text-secondary)!important;
}
.sidebar .nav:hover,
.sidebar .nav.active,
.sidebar .nav-group-toggle:hover,
.sidebar .nav-group.open .nav-group-toggle{
  color:var(--text-primary)!important;
  background:color-mix(in srgb,var(--accent) 11%,var(--sidebar-bg))!important;
}
.sidebar .nav.active{
  border-left-color:var(--accent)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
.sidebar .ghost,
.sidebar .role-box select{
  background:var(--surface)!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}

/* Inputs and controls are fully themed. */
input,select,textarea,.search,
.form-grid input,.form-grid select,
.modal input,.modal select,.modal textarea,
.mini-form input,.mini-form select,.mini-form textarea,
.public-card input,.public-card select,.public-card textarea,
.role-box select{
  background:var(--input-bg)!important;
  border-color:var(--border)!important;
  color:var(--text-primary)!important;
}
input::placeholder,textarea::placeholder{color:var(--text-tertiary)!important}
input:disabled,select:disabled,textarea:disabled{color:var(--disabled)!important;background:var(--surface-3)!important}

/* Buttons and organization accent automatically use JS-computed contrast text. */
.btn{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--accent-text)!important;
}
.btn:hover{background:var(--accent-strong)!important;border-color:var(--accent-strong)!important}
.ghost,.icon-btn{
  background:var(--surface)!important;
  border-color:var(--border)!important;
  color:var(--text-primary)!important;
}
.link,.eyebrow,th,.nav span,.nav-group-icon,.program-price,.team-icon{color:var(--accent)!important}

/* Dashboard/KPI/chart specifics. */
.dashboard-metrics .metric,
.dashboard-primary-columns .panel,
.dashboard-stack,
.panel.callout{
  background:var(--surface)!important;
  color:var(--text-primary)!important;
}
.chart-row{
  background:transparent!important;
  color:var(--text-primary)!important;
  border-color:var(--border)!important;
}
.chart-row:hover{background:var(--hover-bg)!important}
.chart-row i,.bar{background:var(--surface-3)!important}
.chart-row i em,.bar i{background:var(--accent)!important}
.modal-divider,.capacity,.activity,dl div,th,td{border-color:var(--border)!important}

/* Read/unread message contrast should use theme surfaces instead of #000 mixing. */
.inbox-row.read{background:color-mix(in srgb,var(--surface) 90%,var(--text-primary) 10%)!important}
.inbox-row.read:hover{background:var(--surface-2)!important}
.inbox-row.unread{background:color-mix(in srgb,var(--accent) 10%,var(--surface))!important}

/* Light mode must be genuinely light everywhere except semantic/document media. */
:root[data-theme="light"] .modal-back{background:rgba(23,32,42,.34)!important}
:root[data-theme="light"] .inline-document-frame,
:root[data-theme="light"] .inline-document-iframe,
:root[data-theme="light"] .embedded-doc-frame,
:root[data-theme="light"] .embedded-pdf-canvas{background:#fff!important}
:root[data-theme="light"] .participant-photo-empty{background:var(--surface-3)!important}
:root[data-theme="light"] .participant-photo-empty>span{color:var(--text-secondary)!important}

/* Dark mode remains consistently dark using the same token system. */
:root[data-theme="dark"] .modal-back{background:rgba(0,0,0,.74)!important}

/* Preserve semantic alert colors independent of organization/theme. */
.notice{background:var(--warning-bg)!important;color:var(--warning-text)!important}
.badge.good{background:var(--success-bg)!important;color:var(--success-text)!important}
.badge.warn{background:var(--warning-bg)!important;color:var(--warning-text)!important}
.status.open{color:var(--success)!important}.status.closed{color:var(--error)!important}
.admin-review-alert,.dashboard-action-alert{background:var(--error-bg)!important;color:var(--error-text)!important}

/* v7.44.0 — Games Intelligence */
.game-review-hero{padding:16px;border:1px solid var(--border);border-radius:16px;margin-bottom:16px;background:var(--panel)}
.game-review-hero h3{margin:8px 0 4px}.game-review-hero p{margin:0;color:var(--muted)}
.weather-alert{font-weight:700}.game-cards .program-card{min-height:260px}
fieldset{border:1px solid var(--border);border-radius:14px;padding:14px;margin:12px 0}fieldset legend{padding:0 8px;font-weight:800}

/* v7.46.0 — SVINN practice plan workflow */
.svinn-practice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0 18px}.svinn-practice-card{border:1px solid var(--line,#d8dee8);border-radius:14px;background:var(--panel,#fff);padding:14px;min-width:0}.svinn-practice-card h3{margin:8px 0 6px}.svinn-practice-card p{margin:0 0 8px}.svinn-practice-card ul{padding-left:18px;margin:8px 0}.svinn-practice-card small{display:block;line-height:1.45;margin-top:5px}.inline-actions{justify-content:flex-start!important;margin:10px 0}.svinn-edit-segment{margin-bottom:12px}@media(max-width:700px){.svinn-practice-grid{grid-template-columns:1fr}.svinn-practice-card{padding:12px}}

/* SVINN v7.46.2 — in-portal print + Ask SVINN */
.ask-svinn-fab{position:fixed;right:24px;bottom:22px;z-index:850;display:flex;align-items:center;gap:10px;border:1px solid #dbe7ff;background:#fff;color:#0d2347;border-radius:18px;padding:7px 14px 7px 7px;box-shadow:0 10px 32px rgba(25,89,220,.24);cursor:pointer}
.ask-svinn-mark{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#3d82ff,#1755db);color:#fff;box-shadow:0 0 0 3px #fff,0 0 18px rgba(38,111,255,.65)}
.ask-svinn-mark.small{width:38px;height:38px;box-shadow:none}.svinn-s{font-weight:1000;font-style:italic;font-size:25px;transform:skew(-12deg);line-height:1}.svinn-spark{position:absolute;right:7px;top:4px;font-size:12px}.ask-svinn-label{display:flex;flex-direction:column;text-align:left}.ask-svinn-label b{font-size:15px}.ask-svinn-label small,.ask-svinn-head small{font-size:11px;color:#6f7d93}
.ask-svinn-panel{position:fixed;right:22px;bottom:22px;z-index:1001;width:min(390px,calc(100vw - 28px));height:min(650px,calc(100vh - 44px));background:#f7f9fd;border:1px solid #dfe6f2;border-radius:20px;box-shadow:0 22px 65px rgba(5,25,60,.28);display:flex;flex-direction:column;transform:translateY(14px) scale(.985);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .22s ease,visibility 0s linear .22s;overflow:hidden;color:#102443}
.ask-svinn-panel.open{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.ask-svinn-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(3,12,28,.18)}
.ask-svinn-head{display:flex;align-items:center;gap:11px;padding:15px 16px;background:#fff;border-bottom:1px solid #e2e7ef}.ask-svinn-head>div{display:flex;flex-direction:column;flex:1}.ask-svinn-head b{font-size:18px}.ask-svinn-head>button{border:0;background:transparent;font-size:29px;color:#41506a;cursor:pointer}
.ask-svinn-body{flex:1;overflow:auto;padding:15px}.svinn-chat-card{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 4px 13px rgba(17,42,78,.06)}.svinn-chat-card p{margin:7px 0;line-height:1.45}
.svinn-suggestion{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:11px 12px;border:1px solid #dce4f0;border-radius:12px;background:#fff;color:#172d50;text-align:left;cursor:pointer}.svinn-suggestion:hover{background:#f2f6ff;border-color:#9dbbff}
.svinn-user-msg{margin:8px 0 12px auto;max-width:84%;background:#e7efff;color:#163e92;padding:10px 12px;border-radius:14px 14px 4px 14px}.svinn-answer{border-left:3px solid #2d6df6}.svinn-take-me{border:0;background:#2365ee;color:white;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}
.ask-svinn-input{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #e1e7f0}.ask-svinn-input input{flex:1;border:1px solid #ccd7e7;border-radius:22px;padding:11px 14px;font:inherit}.ask-svinn-input button{width:42px;height:42px;border:0;border-radius:50%;background:#2365ee;color:white;font-size:18px;cursor:pointer}.ask-svinn-note{text-align:center;padding:0 10px 10px;background:#fff;color:#758197;font-size:10px}
#svinn-print-host{display:none}
@media print{
 body.svinn-printing>*:not(#svinn-print-host){display:none!important}
 body.svinn-printing #svinn-print-host{display:block!important;background:white;color:#111}
 .svinn-print-sheet{font-family:Arial,sans-serif;max-width:7.4in;margin:0 auto;font-size:11pt}.svinn-print-sheet h1{font-size:22pt;margin:0 0 3px}.svinn-print-meta{color:#444;margin:2px 0}.svinn-print-sheet hr{border:0;border-top:2px solid #111;margin:10px 0}.svinn-print-segment{border:1px solid #bbb;border-radius:8px;padding:10px;margin:0 0 9px;break-inside:avoid}.svinn-print-segment-head{display:flex;justify-content:space-between;gap:10px;font-size:12pt}.svinn-print-segment p{margin:6px 0;line-height:1.35}.svinn-print-foot{margin-top:12px;color:#666;font-size:9pt}
}
@media(max-width:720px){.ask-svinn-fab{right:15px;bottom:76px;padding:6px;border-radius:50%}.ask-svinn-label{display:none}.ask-svinn-mark{width:48px;height:48px}.ask-svinn-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:18px}}

/* v7.48.0 SVINN Weather Operations */
.svinn-weather-ops{margin-bottom:16px;border:1px solid rgba(38,111,255,.24);box-shadow:0 10px 30px rgba(22,73,160,.08)}.svinn-weather-ops .panel-head p{max-width:720px;margin:5px 0 0;color:var(--muted,#68758a)}.svinn-weather-location{border-top:1px solid var(--line,#dde3ea);padding:12px 0}.svinn-weather-location-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 14px 8px}.svinn-weather-location-head>div{display:flex;flex-direction:column}.svinn-weather-location-head small{color:var(--muted,#718096)}.svinn-weather-location-head>span{font-size:12px;font-weight:800}.svinn-weather-row{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(180px,.7fr);gap:12px;align-items:center;margin:8px 12px;padding:12px;border:1px solid var(--line,#dde3ea);border-radius:12px;background:var(--card,#fff)}.svinn-weather-row.critical{border-left:5px solid #d84545}.svinn-weather-row.caution{border-left:5px solid #e1a41a}.svinn-weather-row.normal{border-left:5px solid #26965b}.svinn-weather-row.unavailable{border-left:5px solid #8993a3}.svinn-weather-row>div{display:flex;flex-direction:column;gap:3px}.svinn-weather-row small{color:var(--muted,#718096)}.svinn-weather-conditions{text-align:right;align-items:flex-end}.weather-pill{font-size:10px;font-weight:900;border-radius:999px;padding:3px 7px;background:#eef2f7}.weather-pill.critical{background:#ffe4e4;color:#a51d1d}.weather-pill.caution{background:#fff0c7;color:#865d00}.weather-pill.normal{background:#def5e7;color:#176c3c}.svinn-weather-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:14px;border-top:1px solid var(--line,#dde3ea)}.svinn-weather-actions textarea{width:100%;resize:vertical}.svinn-weather-actions small{grid-column:1/-1;color:var(--muted,#718096)}
@media(max-width:720px){.svinn-weather-row{grid-template-columns:auto 1fr}.svinn-weather-conditions{grid-column:2;text-align:left;align-items:flex-start}.svinn-weather-location-head{align-items:flex-start;flex-direction:column}.svinn-weather-actions{grid-template-columns:1fr}.svinn-weather-actions .btn{width:100%}}

/* v7.48.1 navigation repair */
.sidebar nav{overflow-y:auto;min-height:0;padding-bottom:28px}
.sidebar .nav-group:last-child{margin-bottom:18px}

/* v7.48.3 address autocomplete readability */
.modal .address-suggestions{
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 16px 34px rgba(15,23,42,.18)!important;
}
.modal .address-suggestion{
  background:#ffffff!important;
  color:#0f172a!important;
  border-bottom:1px solid #e2e8f0!important;
  font-weight:600;
  line-height:1.35;
}
.modal .address-suggestion:hover,
.modal .address-suggestion:focus{
  background:#eef4ff!important;
  color:#0b3d91!important;
  outline:none;
}
/* v7.48.7 SVINN Weather location-group cancellation */
.svinn-weather-location-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.svinn-weather-location-status>span{font-size:12px;font-weight:800}.svinn-weather-cancel-location{font-size:12px;padding:7px 10px;white-space:nowrap}@media(max-width:720px){.svinn-weather-location-status{align-items:flex-start;justify-content:flex-start;flex-direction:column}.svinn-weather-cancel-location{width:100%;white-space:normal}}

/* v7.48.9 SVINN Weather hardening: keep facility actions readable without crowding status. */
.svinn-weather-location-status{max-width:58%;}.svinn-weather-location-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.svinn-weather-location-status>span{align-self:flex-end}.svinn-weather-close-location{font-size:12px;padding:7px 10px;white-space:nowrap}@media(max-width:900px){.svinn-weather-location-status{max-width:100%}.svinn-weather-location-status>span{align-self:flex-start}.svinn-weather-location-actions{justify-content:flex-start}}@media(max-width:720px){.svinn-weather-location-actions{width:100%;flex-direction:column}.svinn-weather-close-location{width:100%;white-space:normal}}

/* v7.49.1 schedule/calendar hardening */
.calendar-month-nav{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.calendar-month-nav input[type="month"]{min-width:155px}
.parent-weather-line{margin:.65rem 0;padding:.55rem .7rem;border-radius:10px;background:rgba(15,23,42,.05);font-size:.84rem;font-weight:700}
.parent-weather-line.caution{background:rgba(245,158,11,.12)}
.parent-weather-line.critical{background:rgba(239,68,68,.10)}
.reminder-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.35rem .75rem;margin-top:.65rem}

/* v7.50.0 schedule polish */
.calendar-toolbar-admin{grid-template-columns:minmax(360px,auto) minmax(180px,1fr) minmax(200px,1fr) auto}
.calendar-month-nav{display:flex;align-items:center;gap:.55rem;flex-wrap:nowrap;white-space:nowrap}
.calendar-month-nav input[type="month"]{min-width:165px;flex:0 0 auto}
.calendar-toolbar-actions{display:flex;gap:.6rem;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}
.calendar-toolbar-actions .btn,.calendar-toolbar-actions .ghost{white-space:nowrap}
.svinn-team-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.35rem .8rem}
.svinn-schedule-preview{max-height:420px;overflow:auto;margin-top:.8rem}
@media(max-width:1180px){.calendar-toolbar-admin{grid-template-columns:1fr 1fr}.calendar-toolbar-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:700px){.calendar-month-nav{overflow-x:auto;padding-bottom:4px}.calendar-toolbar-actions{display:grid;grid-template-columns:1fr}.calendar-toolbar-actions .btn,.calendar-toolbar-actions .ghost{width:100%}}

/* v7.50.2 calendar header polish */
.calendar-control-panel{
  border:1px solid var(--line);
  background:linear-gradient(145deg,var(--panel2),#0b0e11);
  border-radius:var(--radius);
  padding:14px 16px;
  margin-bottom:16px;
  display:grid;
  gap:13px;
}
.calendar-control-primary{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.calendar-control-month{display:grid;gap:6px;min-width:0}
.calendar-control-month .eyebrow{margin-left:2px}
.calendar-control-panel .calendar-month-nav{display:grid;grid-template-columns:auto minmax(170px,210px) auto;gap:8px;align-items:center;overflow:visible}
.calendar-control-panel .calendar-month-nav button{height:40px;margin:0;white-space:nowrap}
.calendar-control-panel .calendar-month-nav input[type="month"]{height:40px;margin:0;min-width:0;width:100%;background:#fff;color:#101820;border:1px solid #d4d9df;border-radius:8px;padding:8px 10px}
.calendar-control-panel .calendar-toolbar-actions{margin-left:auto;align-items:center;align-self:end}
.calendar-filter-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.2fr) minmax(180px,.8fr);gap:12px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}
.calendar-filter-row label{font-size:11px;color:#d5dbe2;font-weight:800}
.calendar-filter-row select{width:100%;margin-top:7px;background:#fff;color:#101820;border:1px solid #d4d9df;border-radius:8px;padding:10px}
.calendar-filter-summary{min-height:58px;padding:8px 10px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.calendar-filter-summary b{margin-top:4px;color:#fff;font-size:13px}
.calendar-toolbar-coach{grid-template-columns:minmax(360px,auto) minmax(220px,1fr) auto}
.calendar-toolbar-coach .calendar-month-nav{display:grid;grid-template-columns:auto minmax(170px,210px) auto;gap:8px;align-items:center;overflow:visible}
.calendar-toolbar-coach .calendar-month-nav button{height:40px;margin:0;white-space:nowrap}
.calendar-toolbar-coach .calendar-month-nav input[type="month"]{height:40px;margin:0;min-width:0;width:100%}
@media(max-width:1050px){
  .calendar-filter-row{grid-template-columns:1fr 1fr}.calendar-filter-summary{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0}
  .calendar-toolbar-coach{grid-template-columns:1fr 1fr}.calendar-toolbar-coach .calendar-month-nav{grid-column:1/-1}
}
@media(max-width:720px){
  .calendar-control-primary{display:grid;grid-template-columns:1fr}.calendar-control-panel .calendar-toolbar-actions{width:100%;margin:0;display:grid;grid-template-columns:1fr}.calendar-control-panel .calendar-toolbar-actions button{width:100%}
  .calendar-control-panel .calendar-month-nav,.calendar-toolbar-coach .calendar-month-nav{grid-template-columns:1fr 1.5fr 1fr;width:100%}
  .calendar-control-panel .calendar-month-nav button,.calendar-toolbar-coach .calendar-month-nav button{font-size:11px;padding-left:7px;padding-right:7px}
  .calendar-filter-row{grid-template-columns:1fr}
  .calendar-filter-summary{grid-column:auto}
  .calendar-toolbar-coach{grid-template-columns:1fr}
}

/* v7.50.3 weather scope + calendar control polish */
.svinn-weather-panel-head{align-items:flex-start}
.svinn-weather-panel-head .eyebrow{letter-spacing:.12em}
.svinn-weather-panel-head .ghost{white-space:nowrap;align-self:flex-start}
.next-practice-card{border-color:rgba(38,111,255,.28);box-shadow:0 10px 26px rgba(38,111,255,.06)}
.parent-weather-context{margin:.7rem 0 .35rem;padding:.65rem .7rem;border:1px solid rgba(38,111,255,.14);border-radius:12px;background:rgba(38,111,255,.035)}
.parent-weather-context>small{display:block;margin:0 0 .35rem;color:var(--muted,#718096);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.parent-weather-context .parent-weather-line{margin:0}
.calendar-control-panel-admin .calendar-control-primary{display:grid;grid-template-columns:minmax(360px,1fr) auto;align-items:end}
.calendar-control-panel-admin .calendar-control-month{max-width:520px}
.calendar-control-panel-admin .calendar-toolbar-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin:0}
.calendar-control-panel-admin .calendar-toolbar-actions button{height:40px}
.calendar-control-panel-admin .calendar-filter-row{grid-template-columns:minmax(220px,1fr) minmax(240px,1.15fr) minmax(180px,.75fr)}
@media(max-width:1050px){
  .calendar-control-panel-admin .calendar-control-primary{grid-template-columns:1fr}
  .calendar-control-panel-admin .calendar-toolbar-actions{justify-content:flex-start}
  .calendar-control-panel-admin .calendar-filter-row{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .svinn-weather-panel-head{display:grid;grid-template-columns:1fr;gap:12px}
  .svinn-weather-panel-head .ghost{width:100%}
  .calendar-control-panel-admin .calendar-filter-row{grid-template-columns:1fr}
}

/* v7.51.5 locked page + six-week calendar geometry */
.main>header,#view{width:min(100%,1480px);margin-left:auto;margin-right:auto}
.calendar-fixed-month{width:100%;min-width:0}
.calendar-fixed-month .calendar-weekdays,.calendar-fixed-month .calendar-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-fixed-month .calendar-grid{grid-template-rows:repeat(6,minmax(118px,auto))}
.calendar-fixed-month .calendar-day{min-height:118px;min-width:0}
.calendar-fixed-month .calendar-trailing{background:rgba(255,255,255,.012)}
@media(max-width:1000px){.calendar-fixed-month .calendar-grid{grid-template-rows:repeat(6,minmax(100px,auto))}.calendar-fixed-month .calendar-day{min-height:100px}}
@media(max-width:700px){.calendar-fixed-month .calendar-weekdays,.calendar-fixed-month .calendar-grid{width:720px;min-width:720px}.calendar-fixed-month .calendar-grid{grid-template-rows:repeat(6,minmax(100px,auto))}}

/* v7.51.6 hard horizontal page/frame lock
   Keep the portal content frame identical regardless of month/event density. */
html{overflow-y:scroll}
.shell{grid-template-columns:260px minmax(0,1fr);width:100%;max-width:100%}
.main{width:100%;max-width:none;min-width:0}
.main>header,#view{
  width:100%!important;
  max-width:1480px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#view>#svinnWeatherOpsHost,
#view>.calendar-control-panel,
#view>.notice,
#view>.calendar-fixed-month,
#view>.schedule-list{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
#svinnWeatherOpsHost>.panel,
.calendar-control-panel,
.calendar-fixed-month,
.schedule-list{inline-size:100%;max-inline-size:none;min-inline-size:0}
.calendar-fixed-month{contain:inline-size}
@media(max-width:760px){
  html{overflow-y:auto}
  .main>header,#view{max-width:none!important}
}

/* Phase A.2 unified notifications */
.notification-list{display:grid;gap:12px}.notification-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--panel,#fff)}.notification-card.unread{border-left:4px solid #1677ff}.notification-card.read{opacity:.82}.notification-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.notification-head>div{display:flex;gap:6px;flex-wrap:wrap}.notification-card h3{margin:10px 0 4px}.notification-card p{margin:0 0 12px;white-space:pre-wrap}.pill.danger{border-color:#dc2626;color:#b91c1c}

/* v7.54.0 Phase A.3 schedule completion */
.schedule-filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr)) minmax(180px,.8fr)}
.schedule-filter-grid .calendar-filter-summary small{display:block;margin-top:4px;color:#9aa6b2}
@media(max-width:1100px){.schedule-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.schedule-filter-grid .calendar-filter-summary{grid-column:1/-1}}
@media(max-width:700px){.schedule-filter-grid{grid-template-columns:1fr}}

/* ==========================================================
   SAMNERA vNext visual prototype — Stark Industries direction
   Structural redesign prototype, not a color-only reskin.
   ========================================================== */
:root{
  --v-bg:#f3f6f9;
  --v-surface:#ffffff;
  --v-surface-2:#f8fafc;
  --v-text:#102033;
  --v-muted:#6e7c8f;
  --v-line:#dfe6ee;
  --v-navy:#0d2338;
  --v-navy-2:#132e48;
  --v-blue:#2f80ed;
  --v-cyan:#38b9d6;
  --v-good:#1c9b67;
  --v-warn:#d58a19;
  --v-shadow:0 12px 32px rgba(16,32,51,.08);
}
html[data-theme="light"],html[data-theme="dark"]{--app-bg:var(--v-bg)!important;--panel:#fff!important;--ink:var(--v-text)!important;--muted:var(--v-muted)!important;}
body{background:var(--v-bg)!important;color:var(--v-text)!important;}
.shell{background:var(--v-bg)!important;grid-template-columns:252px minmax(0,1fr)!important;}
.sidebar{background:linear-gradient(180deg,#0c2135 0%,#102a43 100%)!important;border-right:0!important;box-shadow:12px 0 36px rgba(11,32,51,.10);padding:18px 14px!important;}
.sidebar .org-brand{margin:0 0 18px!important;padding:10px 8px 16px!important;border-bottom:1px solid rgba(255,255,255,.09);}
.sidebar .org-brand img,.sidebar .org-monogram{width:40px!important;height:40px!important;border-radius:12px!important;background:#fff!important;object-fit:contain;padding:4px;}
.sidebar .org-brand-copy strong{color:#fff!important;font-size:15px!important;letter-spacing:.01em}.sidebar .org-brand-copy span{color:#91a8bd!important;font-size:11px!important}
.sidebar nav{padding-right:4px!important}
.sidebar .nav,.sidebar .nav-group-toggle{min-height:42px!important;border-radius:10px!important;color:#b8c8d7!important;font-weight:650!important;gap:10px!important;margin:2px 0!important;border:1px solid transparent!important;}
.sidebar .nav:hover,.sidebar .nav-group-toggle:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.sidebar .nav.active{background:rgba(76,164,255,.16)!important;color:#fff!important;border-color:rgba(96,185,255,.18)!important;box-shadow:inset 3px 0 0 #52b8f2!important;}
.sidebar .nav-group{margin:5px 0!important;border:0!important;background:transparent!important}.sidebar .nav-group-items{padding-left:8px!important;border-left:1px solid rgba(255,255,255,.08)!important;margin-left:15px!important}
.side-bottom{border-top:1px solid rgba(255,255,255,.09)!important;padding-top:12px!important}.side-bottom .samnera-platform-brand{opacity:.52!important;transform:scale(.8);transform-origin:left bottom}.side-bottom .samnera-platform-logo{max-width:120px!important}
.main{background:var(--v-bg)!important;min-width:0!important;}
.vnext-header{height:78px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);border-bottom:1px solid var(--v-line)!important;padding:0 28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;position:sticky!important;top:0!important;z-index:50!important;}
.vnext-title-wrap{display:flex;align-items:center;gap:12px}.vnext-title-wrap h1{font-size:22px!important;margin:1px 0 0!important;color:var(--v-text)!important;line-height:1.1}.vnext-title-wrap .eyebrow{font-size:10px!important;color:#8290a0!important;letter-spacing:.12em!important}
.vnext-header-actions{display:flex!important;align-items:center!important;gap:8px!important}.header-icon-action{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--v-line);background:#fff;color:#334a61;font-size:17px;display:grid;place-items:center;cursor:pointer}.header-icon-action:hover{background:#f5f8fb}.header-icon-action i{position:absolute;right:-3px;top:-4px;background:#e04545;color:white;border:2px solid white;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-style:normal;display:grid;place-items:center;font-weight:800}
.vnext-header .user-chip{background:transparent!important;border:0!important;padding:4px 6px 4px 8px!important;margin-left:4px!important}.vnext-header .user-chip>span{background:#e7eef5!important;color:#2c4966!important;border:1px solid #d4dee9!important}.vnext-header .user-chip b{color:var(--v-text)!important}.vnext-header .user-chip small{color:var(--v-muted)!important}
#view{padding:26px 28px 42px!important;max-width:1500px;margin:0 auto;width:100%;box-sizing:border-box}.page-sub{color:var(--v-muted)!important;margin:0 0 22px!important;font-size:14px!important}
.vnext-dashboard{display:grid;gap:18px}.vnext-command-card{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:18px;background:linear-gradient(120deg,#fff 0%,#f9fbfd 70%,#edf6fb 100%);border:1px solid var(--v-line);border-radius:18px;padding:20px 22px;box-shadow:var(--v-shadow);align-items:center}.vnext-svinn-status{display:flex;align-items:center;gap:18px;min-width:0}.vnext-samnera-mark{width:64px;height:64px;border-radius:16px;background:#0f2a42;display:grid;place-items:center;padding:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.vnext-samnera-mark img{width:100%;height:100%;object-fit:contain}.vnext-health-copy{min-width:0;max-width:780px}.vnext-health-line{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:3px 0 8px}.vnext-health-line strong{font-size:18px}.vnext-health-line b{font-size:16px;color:#2f80ed}.vnext-health-bar{height:7px;border-radius:999px;background:#e5ebf1;overflow:hidden}.vnext-health-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#27a6c5,#2f80ed)}.vnext-health-copy p{margin:8px 0 0;color:var(--v-muted);font-size:13px}.vnext-orbital{justify-self:end;width:74px;height:74px;border-radius:50%;border:1px solid #c9dbe8;background:radial-gradient(circle at 35% 30%,#fff 0,#e8f3f9 42%,#d5eaf4 70%,#c7e3ee 100%);box-shadow:0 10px 28px rgba(31,105,145,.14),inset 0 0 0 8px rgba(255,255,255,.48);position:relative;color:#1f678a;cursor:pointer}.vnext-orbital span{font-size:28px;font-weight:900}.vnext-orbital small{position:absolute;right:-2px;top:-2px;background:#173e5f;color:#fff;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-weight:800}.vnext-orbital.attention:before{content:"";position:absolute;inset:-8px;border:2px solid rgba(56,185,214,.42);border-radius:50%;animation:svinnPulse 2.2s ease-out infinite}@keyframes svinnPulse{0%{transform:scale(.92);opacity:.75}70%{transform:scale(1.18);opacity:0}100%{opacity:0}}
.vnext-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vnext-kpi{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--v-line);background:#fff;border-radius:16px;padding:17px 18px;box-shadow:0 6px 22px rgba(16,32,51,.05);cursor:pointer;transition:.16s ease}.vnext-kpi:hover{transform:translateY(-2px);box-shadow:var(--v-shadow)}.vnext-kpi>span{font-size:12px;font-weight:750;color:#65768a}.vnext-kpi strong{font-size:28px;line-height:1.05;margin:7px 0 6px;color:var(--v-text)}.vnext-kpi small{font-size:11px;color:var(--v-muted)}
.vnext-dashboard-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:16px}.vnext-card{background:#fff;border:1px solid var(--v-line);border-radius:18px;padding:19px 20px;box-shadow:0 8px 26px rgba(16,32,51,.05);min-width:0}.vnext-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.vnext-card-head h2{font-size:17px;margin:2px 0;color:var(--v-text)}.vnext-live-dot{font-size:9px;letter-spacing:.12em;color:#318b6d;border:1px solid #c8e5da;background:#eef9f5;padding:5px 8px;border-radius:999px}.vnext-text-link{border:0;background:transparent;color:#2f80ed;font-weight:750;font-size:12px;cursor:pointer;padding:4px}.vnext-action-row{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;gap:11px;align-items:center;width:100%;border:0;border-top:1px solid #edf1f5;background:transparent;text-align:left;padding:12px 2px;cursor:pointer}.vnext-action-row:first-of-type{border-top:0}.vnext-action-row:hover{background:#f8fafc}.vnext-action-icon{width:36px;height:36px;border-radius:11px;background:#eef4fa;color:#315f87;display:grid;place-items:center}.vnext-action-row b{font-size:13px;color:var(--v-text)}.vnext-action-row small{display:block;color:var(--v-muted);font-size:11px;margin-top:2px}.vnext-action-row i{font-style:normal;color:#96a5b5;font-size:20px}.vnext-empty{min-height:120px;display:grid;place-content:center;text-align:center;color:var(--v-muted);gap:5px}.vnext-empty b{color:#4f6072}.vnext-empty span{font-size:12px}
.vnext-chart-wrap .chart-row{margin:10px 0!important}.vnext-chart-wrap .chart-track{height:8px!important;background:#e8eef4!important}.vnext-chart-wrap .chart-fill{background:linear-gradient(90deg,#2f80ed,#38b9d6)!important}.vnext-chart-wrap .chart-label b,.vnext-chart-wrap .chart-label span{color:var(--v-text)!important}.vnext-chart-wrap .chart-label small{color:var(--v-muted)!important}
.vnext-event-list>button{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 16px;gap:12px;align-items:center;border:0;border-top:1px solid #edf1f5;background:transparent;padding:11px 0;text-align:left;cursor:pointer}.vnext-event-list>button:first-child{border-top:0}.vnext-event-date{width:42px;height:42px;border-radius:12px;background:#eef4fa;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#315f87;line-height:1}.vnext-event-date b{font-size:10px}.vnext-event-date small{font-size:15px;font-weight:800}.vnext-event-list button>span:nth-child(2) b{display:block;font-size:13px;color:var(--v-text)}.vnext-event-list button>span:nth-child(2) small{display:block;color:var(--v-muted);font-size:11px;margin-top:3px}.vnext-event-list button>i{font-style:normal;color:#96a5b5;font-size:20px}
.vnext-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vnext-quick-grid button{border:1px solid var(--v-line);background:#f8fafc;border-radius:13px;padding:13px;text-align:left;display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--v-text)}.vnext-quick-grid button:hover{background:#f0f5f9}.vnext-quick-grid span{width:28px;height:28px;border-radius:9px;background:#e7eef5;display:grid;place-items:center;color:#315f87}.vnext-quick-grid b{font-size:12px}.vnext-registration-state{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f5;margin-top:14px;padding-top:13px;font-size:12px;color:#5f7082}.vnext-registration-state span{display:flex;align-items:center;gap:7px}.vnext-registration-state i{width:8px;height:8px;border-radius:50%;background:#94a0ad}.vnext-registration-state i.on{background:#24a273}.vnext-registration-state i.off{background:#d06a6a}

@media (max-width:1000px){.shell{grid-template-columns:220px minmax(0,1fr)!important}.vnext-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vnext-dashboard-grid{grid-template-columns:1fr}.vnext-header .user-chip div{display:none}}
@media (max-width:760px){.shell{display:block!important}.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,320px)!important;transform:translateX(-105%);z-index:1000!important;transition:transform .2s ease}.sidebar.show{transform:translateX(0)}.main{min-height:100vh}.vnext-header{height:68px!important;padding:0 14px!important}.mobile-menu{display:inline-grid!important;place-items:center!important}.vnext-title-wrap h1{font-size:18px!important}.vnext-title-wrap .eyebrow{display:none}.vnext-header-actions{gap:5px!important}.header-icon-action{width:38px;height:38px}.vnext-header .user-chip{padding:0!important}.vnext-header .user-chip>span{width:38px!important;height:38px!important}.vnext-header .user-chip div{display:none!important}#view{padding:18px 14px 100px!important}.page-sub{font-size:12px;margin-bottom:15px!important}.vnext-command-card{grid-template-columns:1fr 70px;padding:16px;border-radius:16px}.vnext-samnera-mark{width:48px;height:48px;border-radius:13px}.vnext-svinn-status{gap:12px}.vnext-health-line strong{font-size:14px}.vnext-health-line b{font-size:13px}.vnext-health-copy p{font-size:11px}.vnext-orbital{width:58px;height:58px}.vnext-orbital span{font-size:22px}.vnext-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.vnext-kpi{padding:14px;border-radius:14px}.vnext-kpi strong{font-size:23px}.vnext-kpi small{font-size:10px}.vnext-dashboard-grid{gap:12px}.vnext-card{padding:16px;border-radius:16px}.vnext-quick-grid{grid-template-columns:1fr}.ask-svinn-fab{right:16px!important;bottom:18px!important}.ask-svinn-label{display:none!important}}
@media (max-width:430px){.vnext-command-card{grid-template-columns:1fr 58px}.vnext-samnera-mark{display:none}.vnext-health-copy p{white-space:normal}.vnext-orbital{width:52px;height:52px}.vnext-kpi-grid{grid-template-columns:1fr 1fr}.vnext-kpi>span{font-size:11px}.vnext-kpi strong{font-size:21px}.vnext-card-head h2{font-size:16px}}

/* =========================================================
   SAMNERA v7.62.0-dev2 — ROUND TWO PRESENTATION REBUILD
   Approved direction: light-first, Stark Industries restraint,
   org-first identity, one responsive interface.
   ========================================================= */
:root{
  --st-bg:#f5f7fa;--st-surface:#ffffff;--st-ink:#122033;--st-muted:#68788b;
  --st-line:#dfe6ee;--st-navy:#071a2c;--st-navy2:#0c2943;--st-blue:#2f80ed;
  --st-cyan:#23a8c3;--st-shadow:0 10px 32px rgba(29,52,77,.07);
}
html,body{background:var(--st-bg)!important;color:var(--st-ink)!important}
.vnext-shell{background:var(--st-bg)!important}
.vnext-sidebar{background:linear-gradient(180deg,#071a2c 0%,#061524 100%)!important;border-right:1px solid rgba(255,255,255,.06)!important;color:#dbe7f1!important}
.vnext-sidebar .sidebar-primary{border-bottom:1px solid rgba(255,255,255,.10)!important;padding:10px 12px 20px!important}
.vnext-sidebar .sidebar-primary img,.vnext-sidebar .sidebar-primary .org-monogram{width:84px!important;height:84px!important;border-radius:18px!important;background:#fff!important}
.vnext-sidebar .sidebar-primary .org-brand-copy strong{color:white!important;font-size:17px!important}.vnext-sidebar .sidebar-primary .org-brand-copy span{color:#99abc0!important;font-size:10px!important;letter-spacing:.08em!important}
.vnext-sidebar .nav,.vnext-sidebar .nav-group-toggle{color:#bfcddd!important;border-radius:10px!important}.vnext-sidebar .nav:hover,.vnext-sidebar .nav-group-toggle:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}.vnext-sidebar .nav.active{background:linear-gradient(90deg,rgba(47,128,237,.28),rgba(47,128,237,.10))!important;color:#fff!important;border-left:3px solid #53a1ff!important}
.vnext-sidebar .nav-group-items{border-left:1px solid rgba(255,255,255,.10)!important}.vnext-sidebar .nav-group-icon{color:#8fa8c0!important}
.vnext-sidebar .side-bottom{background:transparent!important;border-top:1px solid rgba(255,255,255,.08)!important}.vnext-sidebar .samnera-platform-brand.compact{opacity:.72;text-align:center;padding-top:12px}.vnext-sidebar .samnera-platform-brand.compact .samnera-platform-logo{max-width:118px;height:auto}.vnext-sidebar .samnera-platform-brand.compact small{display:block;color:#8fa4b8;font-size:9px;margin-top:4px;letter-spacing:.08em}
.vnext-main{background:var(--st-bg)!important}
.vnext-header{background:rgba(255,255,255,.94)!important;backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--st-line)!important;height:72px!important;padding:0 26px!important}
.desktop-page-title h1{color:var(--st-ink)!important}.desktop-page-title .eyebrow{color:#7f8da0!important}
.mobile-org-brand{display:none;align-items:center;gap:9px;min-width:0}.mobile-org-brand img,.mobile-org-brand>span{width:34px;height:34px;border-radius:9px;object-fit:contain;background:#fff;border:1px solid var(--st-line);padding:2px;display:grid;place-items:center;font-size:9px;font-weight:900}.mobile-org-brand b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;color:var(--st-ink)}
.header-icon-action{border:1px solid var(--st-line)!important;background:white!important;color:#27425d!important}.header-icon-action:hover{background:#f2f6fa!important}.vnext-header .user-chip b{color:var(--st-ink)!important}
#view{max-width:1480px!important;padding:24px 28px 46px!important}
.stark-dashboard{display:grid;gap:16px}.stark-welcome{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:4px 2px 2px}.stark-kicker,.stark-label{font-size:10px;font-weight:850;letter-spacing:.13em;color:#7a899b}.stark-welcome h2{font-size:28px;line-height:1.1;margin:5px 0;color:var(--st-ink)}.stark-welcome h2 span{font-size:22px}.stark-welcome p{margin:0;color:var(--st-muted);font-size:13px}.stark-primary{border:0;border-radius:11px;background:var(--st-navy);color:#fff;font-weight:800;padding:11px 15px;cursor:pointer;box-shadow:0 7px 20px rgba(7,26,44,.14)}
.stark-command{display:grid;grid-template-columns:74px minmax(300px,1.1fr) minmax(300px,.9fr);gap:18px;align-items:center;background:linear-gradient(125deg,#fff 0%,#fbfdff 70%,#f2f8fc 100%);border:1px solid var(--st-line);border-radius:18px;padding:18px 20px;box-shadow:var(--st-shadow)}.stark-samnera-badge{width:62px;height:62px;border-radius:16px;background:#0c2337;display:grid;place-items:center;padding:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.stark-samnera-badge img{width:100%;height:100%;object-fit:contain}.stark-health{padding-right:18px;border-right:1px solid var(--st-line)}.stark-health-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:5px 0 8px}.stark-health-title b{font-size:15px}.stark-health-title strong{font-size:27px;color:#18a9a9}.stark-health-track{height:7px;border-radius:999px;background:#e7edf2;overflow:hidden}.stark-health-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#19b8a7,#33a4d6)}.stark-health p{font-size:11px;color:var(--st-muted);margin:8px 0 0}.stark-attention{display:grid;gap:4px}.stark-attention>button{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:8px;border:0;background:transparent;padding:6px 3px;text-align:left;cursor:pointer;border-radius:8px}.stark-attention>button:hover{background:#f4f7fa}.stark-attention>button>span{width:27px;height:27px;border-radius:8px;background:#f0f4f8;display:grid;place-items:center;color:#4b6884}.stark-attention b{display:block;font-size:11px;color:var(--st-ink)}.stark-attention small{display:block;font-size:9px;color:var(--st-muted);margin-top:1px}.stark-attention i{font-style:normal;color:#9aa8b8}.stark-all-clear{color:#308461;font-weight:750;font-size:12px;padding:12px 0}
.stark-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.stark-kpis button{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto auto;column-gap:10px;text-align:left;border:1px solid var(--st-line);background:#fff;border-radius:15px;padding:14px;box-shadow:0 6px 18px rgba(29,52,77,.045);cursor:pointer;min-width:0}.stark-kpis button>span{grid-row:1/4;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:16px}.stark-kpis button>span.blue{background:#eaf2ff;color:#2f80ed}.stark-kpis button>span.cyan{background:#e6f8fa;color:#1994a8}.stark-kpis button>span.violet{background:#f1edff;color:#7259d6}.stark-kpis button>span.amber{background:#fff5dd;color:#b77b0a}.stark-kpis button>span.green{background:#e9f8ef;color:#2d9860}.stark-kpis small{font-size:10px;color:#728296;font-weight:700}.stark-kpis strong{font-size:20px;color:var(--st-ink);line-height:1.1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stark-kpis em{font-style:normal;font-size:9px;color:#8290a0;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stark-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.stark-card,.stark-quick{background:white;border:1px solid var(--st-line);border-radius:17px;padding:17px 18px;box-shadow:0 7px 22px rgba(29,52,77,.045);min-width:0}.stark-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.stark-card-head h3{margin:3px 0 0;font-size:15px;color:var(--st-ink)}.stark-card-head>button{border:0;background:transparent;color:#2f80ed;font-size:10px;font-weight:800;cursor:pointer}.stark-live{font-size:8px;font-weight:850;letter-spacing:.11em;color:#258661;background:#eaf7f1;border:1px solid #cce8dc;border-radius:999px;padding:4px 7px}.stark-bars{display:grid;gap:9px}.stark-bars>button{border:0;background:transparent;display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:12px;align-items:center;text-align:left;cursor:pointer;padding:4px 0}.stark-bars>button>div{display:flex;justify-content:space-between;gap:8px}.stark-bars b{font-size:10px;color:var(--st-ink)}.stark-bars span{font-size:9px;color:#8090a1}.stark-bars i{height:7px;background:#e9eef3;border-radius:999px;overflow:hidden}.stark-bars em{display:block;height:100%;background:linear-gradient(90deg,#2f80ed,#27b3c5);border-radius:inherit}.stark-revenue{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stark-revenue>strong{grid-column:1/-1;font-size:30px;color:var(--st-ink)}.stark-revenue>span{grid-column:1/-1;margin-top:-10px;font-size:10px;color:var(--st-muted)}.stark-revenue>div{background:#f7f9fb;border:1px solid #edf1f5;border-radius:12px;padding:12px}.stark-revenue>div b{display:block;font-size:15px}.stark-revenue>div small{font-size:9px;color:#7e8da0}.stark-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:9px;align-items:center;border:0;border-top:1px solid #eef2f5;background:transparent;padding:10px 0;text-align:left;cursor:pointer}.stark-row:first-of-type{border-top:0}.stark-row>span{width:31px;height:31px;border-radius:9px;background:#edf3f8;color:#496981;display:grid;place-items:center}.stark-row b{font-size:10px;color:var(--st-ink)}.stark-row small{display:block;font-size:9px;color:var(--st-muted);margin-top:2px}.stark-row i{font-style:normal;color:#98a5b3}.stark-event{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 14px;gap:10px;align-items:center;border:0;border-top:1px solid #eef2f5;background:transparent;padding:9px 0;text-align:left;cursor:pointer}.stark-event:first-of-type{border-top:0}.stark-event>span{width:38px;height:38px;background:#f1f5f9;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#3a5d7d;line-height:1}.stark-event>span b{font-size:7px}.stark-event>span strong{font-size:14px}.stark-event>div b{display:block;font-size:10px;color:var(--st-ink)}.stark-event>div small{display:block;font-size:9px;color:var(--st-muted);margin-top:2px}.stark-event>i{font-style:normal;color:#9aa7b4}.stark-empty{padding:22px 0;color:var(--st-muted);font-size:11px;text-align:center}.stark-quick>div:last-child{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stark-quick>div:last-child button{border:1px solid #e4eaf0;background:#f8fafc;border-radius:11px;padding:10px 8px;color:#334a61;font-size:9px;font-weight:750;cursor:pointer}.stark-quick>div:last-child button span{display:block;font-size:17px;margin-bottom:4px;color:#2f80ed}
.mobile-bottom-nav{display:none}

@media(max-width:1100px){.stark-kpis{grid-template-columns:repeat(3,1fr)}.stark-command{grid-template-columns:64px 1fr}.stark-attention{grid-column:1/-1;border-top:1px solid var(--st-line);padding-top:10px}.stark-health{border-right:0;padding-right:0}.stark-grid{grid-template-columns:1fr}.stark-quick>div:last-child{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  body{padding-bottom:76px!important}.vnext-sidebar{display:block!important;transform:translateX(-105%);width:min(88vw,330px)!important}.vnext-sidebar.show{transform:translateX(0)}
  .vnext-header{height:62px!important;padding:0 12px!important;position:sticky!important;top:0!important}.desktop-page-title{display:none}.mobile-org-brand{display:flex}.mobile-menu{display:none!important}.vnext-title-wrap{gap:0}.vnext-header-actions{gap:4px!important}.vnext-header .user-chip{display:none!important}.header-icon-action{width:36px!important;height:36px!important;border-radius:10px!important}
  #view{padding:16px 13px 92px!important}.stark-dashboard{gap:12px}.stark-welcome{padding:2px 2px 0}.stark-welcome h2{font-size:24px;margin-top:4px}.stark-welcome p{font-size:12px}.stark-welcome .stark-primary{display:none}.stark-kicker{font-size:9px}
  .stark-command{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:14px;border-radius:15px}.stark-samnera-badge{width:46px;height:46px;border-radius:12px;padding:6px}.stark-health-title{margin:4px 0 7px}.stark-health-title b{font-size:13px}.stark-health-title strong{font-size:21px}.stark-health p{font-size:10px;line-height:1.35}.stark-attention{grid-column:1/-1;padding-top:10px;margin-top:2px}.stark-attention>button{grid-template-columns:27px 1fr 14px;padding:6px 1px}.stark-attention b{font-size:10px}.stark-attention small{font-size:8px}
  .stark-kpis{grid-template-columns:1fr 1fr;gap:9px}.stark-kpis button{grid-template-columns:34px 1fr;padding:12px 10px;border-radius:13px}.stark-kpis button:last-child{grid-column:1/-1}.stark-kpis button>span{width:32px;height:32px}.stark-kpis strong{font-size:18px}.stark-kpis small{font-size:9px}.stark-kpis em{font-size:8px}
  .stark-grid{gap:10px}.stark-card,.stark-quick{padding:14px;border-radius:15px}.stark-card-head h3{font-size:14px}.stark-label{font-size:9px}.stark-bars>button{grid-template-columns:115px 1fr}.stark-quick>div:last-child{grid-template-columns:repeat(3,1fr)}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:repeat(6,1fr);align-items:stretch;background:rgba(255,255,255,.97);backdrop-filter:blur(15px);border-top:1px solid #dce4ec;padding:6px 6px max(7px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(24,45,67,.08)}.mobile-bottom-action{position:relative;border:0;background:transparent;color:#778697;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:4px 1px;cursor:pointer}.mobile-bottom-action>span{font-size:16px;line-height:1.1}.mobile-bottom-action>small{font-size:7px;line-height:1.05;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bottom-action.active{color:#1769c2}.mobile-bottom-action i{position:absolute;top:0;right:18%;font-style:normal;font-size:7px;background:#e14343;color:#fff;border-radius:999px;min-width:14px;height:14px;padding:0 3px;display:grid;place-items:center}
  .ask-svinn-fab{right:14px!important;bottom:78px!important;width:50px!important;height:50px!important;padding:5px!important;border-radius:50%!important}.ask-svinn-mark{width:40px!important;height:40px!important}.ask-svinn-label{display:none!important}.ask-svinn-fab.attention,.ask-svinn-fab[data-attention="true"]{animation:svinnOrbitalAttention 2.25s ease-out infinite}@keyframes svinnOrbitalAttention{0%,100%{box-shadow:0 0 0 0 rgba(43,168,203,.28),0 7px 22px rgba(26,86,119,.17)}50%{box-shadow:0 0 0 9px rgba(43,168,203,0),0 7px 25px rgba(26,86,119,.24)}}
}
@media(max-width:390px){.mobile-org-brand b{max-width:105px}.stark-kpis{grid-template-columns:1fr 1fr}.mobile-bottom-action>small{font-size:6.5px}.stark-bars>button{grid-template-columns:100px 1fr}}

/* v7.62.0-dev3 polish + mobile More sheet */
.vnext-header{box-shadow:0 4px 18px rgba(24,45,67,.035)}
.mobile-org-brand>div{display:flex;flex-direction:column;min-width:0;line-height:1.05}.mobile-org-brand>div small{margin-top:4px;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#8a98a8;font-weight:750}.mobile-org-brand img,.mobile-org-brand>span{border-color:color-mix(in srgb,var(--accent) 42%, var(--st-line));box-shadow:0 2px 8px rgba(27,49,72,.07)}
.header-icon-action{position:relative;overflow:visible}.header-icon-action .header-glyph{font-size:14px;line-height:1}.header-icon-action:not(.message-glyph) .header-glyph{width:14px;height:14px;border-radius:50%;border:2px solid #27425d;background:transparent;color:transparent;position:relative}.header-icon-action:not(.message-glyph) .header-glyph:before{content:'';position:absolute;left:3px;right:3px;bottom:-4px;height:2px;border-radius:2px;background:#27425d}.header-icon-action.message-glyph .header-glyph{font-size:16px}.header-icon-action i{box-shadow:0 0 0 2px #fff}
.stark-welcome{border-left:3px solid var(--accent);padding-left:12px}.stark-welcome .stark-kicker{color:color-mix(in srgb,var(--accent) 58%, #66798b)}
.stark-command{position:relative;overflow:hidden}.stark-command:after{content:'';position:absolute;inset:0 0 auto auto;width:180px;height:180px;background:radial-gradient(circle at top right,rgba(35,168,195,.10),transparent 68%);pointer-events:none}.stark-samnera-badge{position:relative;z-index:1}.stark-health-track i{background:linear-gradient(90deg,#19b8a7,#33a4d6 72%,color-mix(in srgb,var(--accent) 35%,#33a4d6))}.stark-health-title strong{letter-spacing:-.02em}
.stark-card-head>button{color:var(--st-blue)}.stark-context-note{font-size:9px;color:var(--st-muted);align-self:center}
.stark-bars em{background:linear-gradient(90deg,var(--st-blue),#27b3c5 78%,color-mix(in srgb,var(--accent) 34%,#27b3c5))}.stark-bars>button:first-child em{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 68%,#2f80ed),#27b3c5)}
.mobile-more-backdrop{display:none}.mobile-more-sheet{display:none}
@media(max-width:760px){
  /* Mobile never opens the legacy desktop sidebar. */
  .vnext-sidebar,.vnext-sidebar.show{display:none!important;transform:none!important}
  .vnext-header{height:68px!important;padding:0 14px!important;background:rgba(255,255,255,.97)!important}.mobile-org-brand img,.mobile-org-brand>span{width:38px;height:38px;border-radius:11px}.mobile-org-brand b{font-size:14px;max-width:142px}.mobile-org-brand>div small{font-size:7px}.vnext-header-actions{gap:7px!important}.header-icon-action{width:39px!important;height:39px!important;border-radius:12px!important}
  .stark-welcome{border-left-width:2px;padding-left:10px}.stark-welcome h2{font-size:23px}.stark-welcome p{line-height:1.4}
  .stark-command{padding:15px 14px 14px}.stark-command:after{width:120px;height:120px}.stark-samnera-badge{width:44px;height:44px}.stark-attention{gap:2px}.stark-attention>button{padding:7px 2px}
  .stark-grid{gap:10px}.stark-revenue{grid-template-columns:1.25fr .75fr;gap:8px}.stark-revenue>strong{font-size:28px}.stark-revenue>div{padding:10px}.stark-revenue>div b{font-size:14px}
  .stark-bars{gap:11px}.stark-bars>button{grid-template-columns:1fr!important;gap:5px;padding:3px 0}.stark-bars>button>div{align-items:end}.stark-bars b{font-size:10px;line-height:1.15;max-width:72%}.stark-bars span{font-size:9px}.stark-bars i{height:6px}
  .stark-quick>div:last-child{grid-template-columns:repeat(2,1fr)!important}.stark-quick>div:last-child button{min-height:58px;padding:10px 9px;font-size:9px;line-height:1.18}.stark-context-note{display:none}
  .mobile-bottom-nav{grid-template-columns:repeat(6,1fr);padding:7px 8px max(9px,env(safe-area-inset-bottom));min-height:64px}.mobile-bottom-action{gap:3px;padding:5px 2px;border-radius:10px}.mobile-bottom-action>span{font-size:17px}.mobile-bottom-action>small{font-size:7.5px;font-weight:700}.mobile-bottom-action.active{background:color-mix(in srgb,var(--accent) 9%,#fff);color:color-mix(in srgb,var(--accent) 58%,#1769c2)}.mobile-bottom-action.active:before{content:'';position:absolute;top:-7px;width:26px;height:2px;border-radius:999px;background:var(--accent)}
  .ask-svinn-fab{width:46px!important;height:46px!important;right:14px!important;bottom:82px!important}.ask-svinn-mark{width:36px!important;height:36px!important}
  .mobile-more-backdrop{display:block;position:fixed;inset:0;z-index:1190;background:rgba(5,16,28,.36);opacity:0;transition:opacity .18s ease;backdrop-filter:blur(2px)}.mobile-more-backdrop.show{opacity:1}.mobile-more-sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:1200;height:min(78vh,650px);background:#f8fafc;border-radius:22px 22px 0 0;box-shadow:0 -22px 55px rgba(11,31,51,.22);transform:translateY(102%);transition:transform .22s cubic-bezier(.2,.8,.2,1);padding-bottom:max(12px,env(safe-area-inset-bottom));overflow:hidden}.mobile-more-sheet.show{transform:translateY(0)}.mobile-more-handle{width:42px;height:4px;border-radius:999px;background:#ccd6e0;margin:9px auto 6px}.mobile-more-head{display:flex;justify-content:space-between;align-items:center;padding:8px 16px 12px;border-bottom:1px solid #e2e9f0}.mobile-more-head small{font-size:8px;letter-spacing:.14em;font-weight:850;color:#8492a2}.mobile-more-head h2{font-size:17px;margin:2px 0 0;color:var(--st-ink)}.mobile-more-head button{width:36px;height:36px;border:1px solid #dbe4ec;border-radius:11px;background:#fff;font-size:23px;line-height:1;color:#526579}.mobile-more-scroll{overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 14px 24px}.mobile-more-group{margin-bottom:13px}.mobile-more-group>span{display:block;padding:5px 7px 6px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;font-weight:850;color:#8795a5}.mobile-more-group>button{width:100%;display:grid;grid-template-columns:34px 1fr 14px;gap:9px;align-items:center;border:0;border-top:1px solid #e9eef3;background:#fff;padding:10px 11px;text-align:left;color:var(--st-ink)}.mobile-more-group>button:first-of-type{border-top:0;border-radius:13px 13px 0 0}.mobile-more-group>button:last-of-type{border-radius:0 0 13px 13px}.mobile-more-group>button:only-of-type{border-radius:13px}.mobile-more-group>button i{width:30px;height:30px;border-radius:9px;background:#eef4f8;display:grid;place-items:center;font-style:normal;color:#48667f}.mobile-more-group>button b{font-size:12px}.mobile-more-group>button em{font-style:normal;color:#9ba8b4;font-size:17px}.mobile-more-signout{width:100%;border:1px solid #dbe4ec;background:#fff;border-radius:13px;padding:12px;font-weight:800;color:#384c61}.mobile-more-powered{display:block;text-align:center;color:#95a2af;font-size:8px;letter-spacing:.08em;text-transform:uppercase;margin:13px 0 2px}.mobile-more-open{overflow:hidden!important}
}

/* v7.62.0-dev3.2 — iOS SVINN Orbital interaction hardening */
.ask-svinn-fab{z-index:980!important;pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ask-svinn-fab *{pointer-events:none}
.ask-svinn-backdrop{opacity:0;transition:opacity .18s ease}.ask-svinn-backdrop.show{opacity:1}
.stark-samnera-badge.stark-svinn-entry{border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.stark-samnera-badge.stark-svinn-entry:active{transform:scale(.97)}
@media(max-width:760px){
  .ask-svinn-fab{bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .ask-svinn-panel{z-index:1301!important;right:0!important;left:0!important;top:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important}
  .ask-svinn-backdrop{z-index:1300!important}
  body.svinn-open{overflow:hidden!important}
}

/* v7.62.0-dev3.4 — iOS interaction shield hotfix */
.mobile-more-backdrop[hidden]{display:none!important;pointer-events:none!important}
.mobile-more-backdrop{pointer-events:none!important}
.mobile-more-backdrop.show{pointer-events:auto!important}
.mobile-more-sheet{pointer-events:none!important;visibility:hidden}
.mobile-more-sheet.show{pointer-events:auto!important;visibility:visible}
@media (min-width:761px){.mobile-more-backdrop,.mobile-more-sheet,.mobile-bottom-nav{display:none!important}}


/* =========================================================
   SAMNERA v7.63.0-dev1 — UNIFIED 2026 PRESENTATION SYSTEM
   One responsive product surface across Admin / Parent / Coach.
   ========================================================= */
:root{
  --u-bg:#f4f7fa;--u-surface:#fff;--u-surface-soft:#f8fafc;--u-ink:#122033;--u-muted:#6f7f92;
  --u-line:#dce4ec;--u-line-strong:#cad5e0;--u-navy:#071a2c;--u-blue:#2f80ed;--u-cyan:#25a7bb;
  --u-success:#228a61;--u-warning:#b87914;--u-danger:#c24e4e;--u-radius:18px;--u-shadow:0 10px 28px rgba(25,48,73,.065);
}
body{padding-top:0!important;background:var(--u-bg)!important;color:var(--u-ink)!important}
body::before{content:none!important;display:none!important}
#view{color:var(--u-ink)}
.v63-page-intro{margin:2px 0 18px;padding:2px 2px 15px;border-bottom:1px solid var(--u-line)}
.v63-page-intro>span{display:block;font-size:10px;line-height:1.2;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--gold) 76%,#5f6c79)}
.v63-page-intro h2{margin:6px 0 5px!important;font-size:25px!important;line-height:1.12;color:var(--u-ink)!important;letter-spacing:-.025em}
.v63-page-intro p{margin:0!important;color:var(--u-muted)!important;font-size:13px!important;line-height:1.5;max-width:820px}
.page-sub{display:none!important}

/* Universal workspace surfaces */
.panel,.card,.program-card,.game-review-hero,.svinn-practice-card,.review-stat,.org-choice-card,.registration-requirement-card,.review-card,.participant-folder,.weather-card,.facility-card,.team-card,.coach-card{
  background:var(--u-surface)!important;border:1px solid var(--u-line)!important;border-radius:var(--u-radius)!important;box-shadow:var(--u-shadow)!important;color:var(--u-ink)!important;
}
.panel{padding:18px!important;margin-bottom:14px!important}
.panel.full{width:100%}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px!important;padding-bottom:12px;border-bottom:1px solid #edf1f5}
.panel-head h2,.panel h2,.panel h3,.card h2,.card h3{color:var(--u-ink)!important;letter-spacing:-.015em}
.panel-head h2{font-size:18px!important;margin:0!important}.panel-head p,.muted{color:var(--u-muted)!important}
.eyebrow{color:#7d8da0!important;font-size:9px!important;letter-spacing:.14em!important;font-weight:850!important}
.grid{gap:14px!important}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Buttons are deliberate controls, not legacy blocks */
.btn,.ghost,button.btn,button.ghost{min-height:42px;border-radius:12px!important;padding:10px 14px!important;font-weight:800!important;letter-spacing:-.005em;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}
.btn{background:var(--u-navy)!important;color:#fff!important;border:1px solid var(--u-navy)!important;box-shadow:0 6px 16px rgba(7,26,44,.12)}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(7,26,44,.16)}
.ghost{background:#fff!important;color:#20364c!important;border:1px solid var(--u-line-strong)!important}
.ghost:hover{background:#f5f8fb!important;border-color:#aebdca!important}.btn.small,.ghost.small{min-height:34px!important;padding:7px 10px!important;border-radius:10px!important;font-size:12px!important}
.icon-btn{border:1px solid var(--u-line)!important;background:#fff!important;color:#31465a!important;border-radius:11px!important;min-width:38px;min-height:38px;display:grid;place-items:center}

/* Forms */
label{color:#516276!important;font-size:12px!important;font-weight:700!important;line-height:1.25}
input,select,textarea{background:#fff!important;color:var(--u-ink)!important;border:1px solid var(--u-line-strong)!important;border-radius:12px!important;min-height:43px;padding:10px 12px!important;box-shadow:0 1px 0 rgba(15,35,55,.02);font:inherit}
textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none!important;border-color:#6e9fd1!important;box-shadow:0 0 0 3px rgba(47,128,237,.11)!important}
input:disabled,select:disabled,textarea:disabled{background:#f3f6f8!important;color:#8a98a8!important}
.form-grid{gap:14px!important}.form-grid label{display:flex;flex-direction:column;gap:7px}
.choice-grid,.theme-choice-grid{gap:10px!important}
.switch-label,.waiver{background:#f8fafc!important;border:1px solid var(--u-line)!important;border-radius:12px!important;padding:12px!important}

/* Toolbars, search and filter controls */
.toolbar{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important;margin:0 0 14px!important;padding:12px!important;background:#fff!important;border:1px solid var(--u-line)!important;border-radius:16px!important;box-shadow:0 5px 16px rgba(25,48,73,.035)}
.toolbar .search,.toolbar input,.toolbar select{min-height:40px!important}.toolbar-summary{color:var(--u-muted)!important;font-size:12px;margin-left:auto}
.sport-filter,.participant-count-tabs,.tabs,.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.sport-chip,.filter-chip,.tab{border:1px solid var(--u-line)!important;background:#fff!important;color:#536477!important;border-radius:999px!important;padding:8px 13px!important;font-weight:780!important;min-height:36px}
.sport-chip.active,.filter-chip.active,.tab.active{background:color-mix(in srgb,var(--gold) 13%,#fff)!important;color:#293342!important;border-color:color-mix(in srgb,var(--gold) 48%,var(--u-line))!important}

/* Data tables */
.table-wrap{padding:0!important;overflow:auto!important;border-radius:16px!important}
table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;color:var(--u-ink)!important}
thead th{position:sticky;top:0;z-index:2;background:#f7f9fb!important;color:#6b7b8e!important;font-size:10px!important;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--u-line)!important;padding:12px 14px!important}
tbody td{padding:14px!important;border-bottom:1px solid #edf1f5!important;color:#2a3b4e!important;vertical-align:middle}
tbody tr:last-child td{border-bottom:0!important}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row:hover td{background:#f8fbfd!important}
td small{display:block;color:var(--u-muted)!important;margin-top:3px}

/* Status, alerts and small information */
.notice{border-radius:14px!important;border:1px solid var(--u-line)!important;background:#f7fafc!important;color:#415367!important;padding:13px 14px!important}
.notice.good-note,.good-note{background:#edf8f2!important;border-color:#cfe8da!important;color:#236846!important}.warn-note,.notice.warn{background:#fff8e8!important;border-color:#ead7aa!important;color:#75551a!important}.bad-note,.notice.bad{background:#fff0f0!important;border-color:#e8c2c2!important;color:#8b3939!important}
.badge,.status,.weather-pill{border-radius:999px!important;padding:5px 9px!important;font-size:10px!important;font-weight:850!important;letter-spacing:.02em}
.badge{background:#eef3f7!important;color:#536578!important}.badge.good{background:#e8f6ee!important;color:#24754e!important}.badge.warn{background:#fff3d9!important;color:#8a610d!important}.badge.bad{background:#fde9e9!important;color:#a33b3b!important}

/* Cards and row-based detail content */
.stat-row,.review-doc-row,.normalization-row,.participant-doc-row,.credential-self-row,.message-row,.schedule-row,.facility-row{border-bottom:1px solid #edf1f5!important;padding:12px 0!important}
.stat-row:last-child,.review-doc-row:last-child,.normalization-row:last-child,.participant-doc-row:last-child{border-bottom:0!important}
.review-summary{gap:10px!important}.review-stat{padding:14px!important}.review-stat b{color:var(--u-ink)!important}.review-stat.active{border-color:color-mix(in srgb,var(--gold) 58%,var(--u-line))!important;background:color-mix(in srgb,var(--gold) 6%,#fff)!important}
.review-checks>div{background:#f8fafc!important;border:1px solid var(--u-line)!important;border-radius:12px!important}

/* Calendar / schedule */
.calendar,.calendar-shell,.schedule-calendar{background:#fff!important;border:1px solid var(--u-line)!important;border-radius:18px!important;box-shadow:var(--u-shadow)!important;overflow:hidden}
.calendar-grid,.month-grid{gap:1px!important;background:var(--u-line)!important}.calendar-day,.month-day{background:#fff!important;min-height:108px}.calendar-day:hover,.month-day:hover{background:#f9fbfd!important}

/* Modals / drilldowns */
.modal-back{background:rgba(7,20,34,.36)!important;backdrop-filter:blur(4px)!important;padding:18px!important}
.modal{background:#fff!important;border:1px solid var(--u-line)!important;border-radius:20px!important;box-shadow:0 28px 80px rgba(7,26,44,.24)!important;color:var(--u-ink)!important;max-height:min(88dvh,900px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.modal .panel-head{padding:16px 18px 13px!important;margin:0!important;flex:0 0 auto}.modal-body{padding:17px 18px!important;overflow:auto!important;-webkit-overflow-scrolling:touch}.modal>.actions{padding:13px 18px!important;border-top:1px solid var(--u-line)!important;background:#fbfcfd!important;flex:0 0 auto}
.portal-document-viewer{border:1px solid var(--u-line);border-radius:14px;overflow:hidden;background:#f4f6f8}

/* Notification and messaging centers */
.notification-card,.message-card,.inbox-row{background:#fff!important;border:1px solid var(--u-line)!important;border-radius:16px!important;box-shadow:0 5px 18px rgba(25,48,73,.04)!important}
.notification-card{border-left:4px solid #4b86d6!important}.notification-card.high{border-left-color:#d76558!important}

/* SVINN: full-screen mobile experience with an obvious exit */
.ask-svinn-backdrop{background:rgba(6,20,34,.34)!important;backdrop-filter:blur(3px)}
.ask-svinn-panel{background:var(--u-bg)!important;color:var(--u-ink)!important;border-color:var(--u-line)!important}
.ask-svinn-head{position:sticky!important;top:0;z-index:10;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--u-line)!important;padding-top:max(15px,env(safe-area-inset-top))!important}
.ask-svinn-close{display:flex!important;align-items:center!important;gap:7px!important;border:1px solid var(--u-line)!important;background:#f7f9fb!important;border-radius:999px!important;padding:7px 10px!important;min-height:36px!important;font-size:13px!important;font-weight:850!important;color:#263a4e!important}
.ask-svinn-close-x{font-size:20px;line-height:1}.ask-svinn-close-word{font-size:11px;letter-spacing:.02em}.svinn-chat-card{border-color:var(--u-line)!important;border-radius:16px!important;box-shadow:0 4px 16px rgba(25,48,73,.04)!important}
.ask-svinn-input{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}

/* Auth also belongs to the same product family */
.auth-shell,.auth-wrap{background:linear-gradient(180deg,#f4f7fa,#edf3f7)!important}.auth-card{border-radius:22px!important;border:1px solid var(--u-line)!important;box-shadow:0 20px 55px rgba(12,36,58,.12)!important}

/* Responsive: real mobile composition, not desktop squeezed smaller */
@media(max-width:760px){
  #view{padding:20px 16px calc(112px + env(safe-area-inset-bottom))!important}
  .v63-page-intro{margin:0 0 14px;padding:0 1px 13px}.v63-page-intro h2{font-size:23px!important}.v63-page-intro p{font-size:12px!important}
  .grid.two,.grid.three,.form-grid,.review-checks{grid-template-columns:1fr!important}
  .panel{padding:15px!important;border-radius:16px!important}
  .panel-head{gap:9px}.panel-head h2{font-size:17px!important}
  .toolbar{padding:10px!important;display:grid!important;grid-template-columns:1fr 1fr!important}.toolbar>*{min-width:0!important;width:100%!important}.toolbar .search,.toolbar-summary{grid-column:1/-1}.toolbar-summary{margin-left:0!important}
  .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}
  .review-summary{grid-template-columns:1fr 1fr!important}
  .modal-back{padding:0!important;align-items:flex-end!important}.modal{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important;border-bottom:0!important}.modal .panel-head{padding-top:16px!important}.modal>.actions{padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
  .ask-svinn-panel{inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;transform:translateY(18px) scale(.99)!important}.ask-svinn-panel.open{transform:none!important}.ask-svinn-body{padding:16px!important}.ask-svinn-head>div b{font-size:17px!important}
  body.svinn-open{overflow:hidden!important;touch-action:none}.ask-svinn-panel,.ask-svinn-panel *{touch-action:auto}
  .ask-svinn-fab{bottom:calc(82px + env(safe-area-inset-bottom))!important}
}
@media(max-width:430px){
  .toolbar{grid-template-columns:1fr!important}.toolbar .search,.toolbar-summary{grid-column:auto}
  .review-summary{grid-template-columns:1fr 1fr!important}
  .btn,.ghost,button.btn,button.ghost{min-height:44px}
}

/* ============================================================
   SAMNERA v7.63.0-dev2 — SINGLE LIGHT PRESENTATION MODE
   Dark/system appearance choices have been retired.  The product
   owns a consistent light-first visual system; organization accent
   remains tenant-specific within guardrails.
   ============================================================ */
:root,
html,
html[data-theme="light"],
html[data-theme="dark"]{
  color-scheme:light!important;
  --app-bg:#f3f6f9!important;
  --panel:#ffffff!important;
  --ink:#102033!important;
  --muted:#718096!important;
}
html[data-theme="dark"] body,
body{
  background:#f3f6f9!important;
  color:#102033!important;
}
/* Ensure legacy cards that previously inherited dark theme cannot regress. */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .card,
html[data-theme="dark"] .list-card,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .drawer,
html[data-theme="dark"] .vnext-card,
html[data-theme="dark"] .stark-card,
html[data-theme="dark"] .stark-panel{
  background:#fff!important;
  color:#102033!important;
  border-color:#d9e2ec!important;
}
/* Login is now part of the same light-first product instead of a dark exception. */
.auth-shell,.auth-wrap,.platform-login-shell{
  background:linear-gradient(180deg,#f5f8fb 0%,#edf3f7 100%)!important;
}
.auth-card,.platform-login-card{
  background:#fff!important;
  color:#102033!important;
  border:1px solid #d9e2ec!important;
  box-shadow:0 20px 55px rgba(12,36,58,.12)!important;
}
.auth-card h1,.auth-card h2,.platform-login-card h1,.platform-login-card h2{color:#102033!important}
.auth-card p,.platform-login-card p,.platform-login-card .fine{color:#718096!important}
.auth-card input,.platform-login-card input{background:#fff!important;color:#102033!important;border-color:#cfd9e4!important}
.platform-login-card .ghost{background:#fff!important;color:#102033!important;border-color:#cfd9e4!important}
.platform-login-card .ghost:hover{background:#f5f8fb!important;color:#102033!important;border-color:#b8c7d6!important}
/* Appearance controls are retired; hide any stale cached markup defensively. */
.theme-choice-grid,[data-theme-choice]{display:none!important}

/* ============================================================
   SAMNERA v7.63.0-dev3 — STARK ENTERPRISES CLEANUP
   Role parity polish, true light-only legacy neutralization,
   program/team calendar identity, premium alert center.
   ============================================================ */
:root,
html,
html[data-theme="light"],
html[data-theme="dark"]{
  --surface:#ffffff!important;
  --surface-2:#f7f9fb!important;
  --surface-3:#eef3f7!important;
  --text-primary:#102033!important;
  --text-secondary:#718096!important;
  --sidebar-bg:#ffffff!important;
  --input-bg:#ffffff!important;
  --line:#dce4ec!important;
  --border:#dce4ec!important;
  --shadow:0 10px 28px rgba(25,48,73,.065)!important;
}
.family-hero,.detail-grid>div,.recurrence-controls,.coach-detail-section,.staff-note-card,
.metric,.role-box,.org-pill,.requirement-card,.document-choice-card,.callout{
  background:#fff!important;color:#102033!important;border-color:#dce4ec!important;
}
.family-hero{box-shadow:0 14px 34px rgba(25,48,73,.075)!important}
.family-hero p,.family-hero small,.detail-grid span{color:#718096!important}
.parent-action-banner{background:#fff7f1!important;border-color:#efd7c4!important;color:#6f4a2c!important}
.parent-action-banner .attention-detail{color:#9a5f36!important}

/* Calendar identity: program family + team marker, readable on small screens. */
.calendar-legend{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;background:#fff;border:1px solid var(--u-line);border-radius:16px;box-shadow:0 5px 16px rgba(25,48,73,.035)}
.calendar-legend-title{min-width:110px}.calendar-legend-title b{display:block;margin-top:3px;color:var(--u-ink)}
.calendar-legend-items{display:flex;flex:1;gap:8px 12px;flex-wrap:wrap}
.calendar-legend-item{display:flex;align-items:center;gap:7px;min-width:135px;color:#31465a;font-size:11px}
.calendar-legend-item i{width:11px;height:28px;border-radius:5px;background:var(--cal-bg);border:2px solid var(--cal-border);display:block;flex:0 0 auto}
.calendar-legend-item span{display:flex;flex-direction:column;line-height:1.2}.calendar-legend-item b{font-size:11px}.calendar-legend-item small{font-size:9px;color:#7b8998;margin-top:2px}
.calendar-event{background:var(--cal-bg,#f7f9fb)!important;border:1px solid var(--cal-border,#cad5e0)!important;border-left:4px var(--cal-stripe,solid) var(--cal-border,#cad5e0)!important;color:var(--cal-ink,#263a4e)!important;box-shadow:none!important}
.calendar-event b{color:var(--cal-ink,#263a4e)!important}.calendar-event small{color:color-mix(in srgb,var(--cal-ink,#263a4e) 70%,#718096)!important}
.calendar-event:hover{filter:brightness(.985);transform:translateY(-1px)}

/* Alert Center: operational, not a second message inbox. */
.notification-list{gap:10px!important}.notification-card{position:relative;padding:15px 16px!important;border-left:5px solid #4b86d6!important;box-shadow:0 7px 22px rgba(25,48,73,.055)!important}
.notification-card.priority-high,.notification-card.priority-critical{border-left-color:#d45b4f!important}
.notification-card.category-weather{border-left-color:#d9822b!important;background:linear-gradient(90deg,#fff9f1 0,#fff 22%)!important}
.notification-card.priority-critical.category-weather{border-left-color:#c8473d!important;background:linear-gradient(90deg,#fff2f1 0,#fff 24%)!important}
.notification-card.read{opacity:.72}.notification-card.unread{opacity:1}
.notification-card h3{font-size:17px!important;margin:10px 0 4px!important;color:#14243a!important}.notification-card p{color:#66778a!important;line-height:1.45!important}
.notification-head small{color:#8290a0!important;font-size:10px}.notification-card .row.gap{gap:7px!important;flex-wrap:wrap}

@media(max-width:760px){
  .calendar-legend{padding:10px 11px}.calendar-legend-title{min-width:100%}.calendar-legend-items{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar-legend-item{min-width:0}
  .calendar-event{padding:6px 5px!important;border-left-width:3px!important}.calendar-event-title{font-size:9px!important}.calendar-event b{font-size:9px!important}
  .notification-card{padding:14px!important}.notification-card .row.gap{display:grid!important;grid-template-columns:1fr 1fr}.notification-card .row.gap>*{width:100%!important}.notification-card .row.gap>.btn{grid-column:1/-1;grid-row:1}
}


/* v7.64.0-dev4 — SVINN Recovery / Stark operational polish */
.svinn-recovery-summary{padding:4px 2px 14px}.svinn-recovery-summary h3{margin:5px 0 8px;font-size:1.35rem}.svinn-recovery-card{border:1px solid var(--border);border-radius:22px;background:#fff;padding:20px;margin:14px 0;box-shadow:0 14px 36px rgba(15,23,42,.08)}.svinn-recovery-card.ready{border-left:5px solid #2563eb}.svinn-recovery-card.failed{border-left:5px solid #dc2626}.svinn-recovery-arrow{font-size:1.4rem;font-weight:900;color:#64748b;margin:5px 0}.svinn-recovery-card small{display:block;color:#64748b;line-height:1.45}.svinn-recovery-card .actions{margin-top:16px}.svinn-approve-reschedule.approved{background:#166534!important}.danger-text{color:#b91c1c}.svinn-weather-actions small{max-width:760px}


/* ============================================================
   SAMNERA v7.64.0-dev5 — ALERT / SAFE-VIEW / PARTICIPANT PHOTO HOTFIX
   ============================================================ */
.more-alert-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#d84f47;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:850}
.notification-card[role="button"]{cursor:pointer}.notification-card[role="button"]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,#2563eb);outline-offset:3px}
.notification-detail{display:grid;gap:14px}.notification-detail-badges{display:flex;gap:7px;flex-wrap:wrap}.notification-detail-body{font-size:15px;line-height:1.55;color:#405368;margin:0}.notification-detail-grid{margin:0}.notification-detail-grid div{display:grid;grid-template-columns:minmax(110px,.7fr) 1.3fr;gap:12px;align-items:start}.notification-detail-grid dt{text-transform:capitalize;color:#718096}.notification-detail-grid dd{overflow-wrap:anywhere;text-align:right;color:#263a4e}
.participant-photo-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 8px}.participant-photo-actions .ghost{min-width:132px}.photo-selected{color:#166534!important;font-weight:800}.participant-editor-modal .actions{position:sticky;bottom:0;z-index:4}
@media(max-width:760px){
  .modal-back{z-index:1300!important;inset:0 0 calc(64px + env(safe-area-inset-bottom)) 0!important;padding:0!important;align-items:flex-end!important}
  .modal{max-height:calc(100dvh - 72px - env(safe-area-inset-bottom))!important}
  .modal>.actions{position:sticky!important;bottom:0!important;z-index:5!important;padding:12px 16px max(14px,env(safe-area-inset-bottom))!important;box-shadow:0 -8px 22px rgba(25,48,73,.08)!important}
  .modal-body{padding-bottom:26px!important}
  .participant-photo-editor{align-items:flex-start!important}.participant-photo-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.participant-photo-actions .ghost{min-width:0;width:100%}
  .notification-detail-grid div{grid-template-columns:1fr}.notification-detail-grid dd{text-align:left;margin-top:-5px}
}

/* ============================================================
   SAMNERA v7.64.0-dev6 — BANE DOCUMENTS + CIRCULAR PLAYER PHOTOS
   Bane rule: light-only means EVERY legacy child surface, not only its parent.
   ============================================================ */
html,html[data-theme="light"],html[data-theme="dark"]{color-scheme:light!important}
html[data-theme="dark"] .program-card,
html[data-theme="dark"] .staff-doc,
html[data-theme="dark"] .credential-row,
html[data-theme="dark"] .upload-box,
html[data-theme="dark"] .snapshot-link,
html[data-theme="dark"] .recurrence-controls,
html[data-theme="dark"] .participant-photo-editor,
html[data-theme="dark"] .detail-grid>div,
.program-card,.staff-doc,.credential-row,.upload-box,.snapshot-link,.recurrence-controls,.participant-photo-editor,.detail-grid>div{
  background:#fff!important;color:#102033!important;border-color:#dce4ec!important;
}
.staff-doc{border-radius:16px!important;padding:14px 15px!important;box-shadow:0 4px 14px rgba(25,48,73,.035)!important}
.staff-doc b{color:#17283b!important;line-height:1.35}.staff-doc small{color:#718096!important;line-height:1.45;overflow-wrap:anywhere}
.doc-list{display:grid;gap:9px}.doc-list .staff-doc{margin:0!important}
#parentDocCards .program-card{background:#fff!important;border:1px solid #dce4ec!important;box-shadow:0 8px 24px rgba(25,48,73,.05)!important}
#parentDocCards .program-card h3{color:#102033!important}
#parentDocCards .staff-doc .ghost{background:#fff!important;color:#20364c!important;border-color:#cfd9e4!important}
#parentDocCards .staff-doc .ghost:hover{background:#f5f8fb!important}
#parentDocCards input[type="file"],#parentDocCards select{background:#fff!important;color:#102033!important;border-color:#cfd9e4!important}

/* Player/participant photos are circular everywhere. */
.participant-photo,.participant-photo.large,.participant-avatar,.participant-avatar.large,
.parent-family-card .participant-photo,.participant-card-head .participant-photo{
  border-radius:50%!important;aspect-ratio:1/1!important;overflow:hidden!important;flex:0 0 auto!important;
}
.participant-photo{width:48px!important;height:48px!important;min-width:48px!important}
.participant-photo.large{width:82px!important;height:82px!important;min-width:82px!important}
.participant-photo img,.participant-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important}

/* Controlled circular crop UI. Saved file is a normalized 512x512 image; avatars mask it to a circle. */
.participant-crop-wrap{margin-top:14px;padding:14px;background:#f7f9fb;border:1px solid #dce4ec;border-radius:18px;display:grid;gap:12px}
.participant-crop-wrap[hidden]{display:none!important}
.participant-crop-stage{position:relative;width:min(300px,76vw);aspect-ratio:1;margin:0 auto;overflow:hidden;border-radius:50%;background:#dfe7ee;touch-action:none;cursor:grab;box-shadow:0 0 0 5px #fff,0 0 0 7px #a9b8c7}
.participant-crop-stage:active{cursor:grabbing}.participant-crop-stage img{position:absolute;left:50%;top:50%;max-width:none!important;max-height:none!important;user-select:none;pointer-events:none;transform-origin:center center}
.participant-crop-stage:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(16,32,51,.22);pointer-events:none}
.participant-crop-zoom{display:grid!important;grid-template-columns:auto 1fr;gap:12px;align-items:center!important;color:#516276!important}.participant-crop-zoom input{min-height:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.participant-crop-help{text-align:center;color:#718096;font-size:11px;line-height:1.45}.participant-crop-wrap .btn{justify-self:center}

@media(max-width:760px){
  #parentDocCards .program-card{padding:16px!important}
  .staff-doc{padding:13px!important}.staff-doc .ghost{width:100%!important}
  .participant-crop-stage{width:min(280px,78vw)}
}


/* ============================================================
   SAMNERA v7.65.0-dev7 — FAMILY SCHEDULE / PROFILE AVATAR / ALERT SCOPE
   ============================================================ */
.parent-schedule-control{display:grid;gap:12px;margin-bottom:14px}.parent-schedule-switch{display:grid;grid-template-columns:1fr 1fr;width:min(430px,100%);padding:4px;background:#eef3f7;border:1px solid #d9e2ea;border-radius:15px}.parent-schedule-switch button{min-width:0;border:0;background:transparent;color:#66778a;font-weight:850;padding:12px 16px;border-radius:11px;cursor:pointer}.parent-schedule-switch button.active{background:#fff;color:#17283b;box-shadow:0 3px 10px rgba(25,48,73,.10)}
.parent-calendar-nav{background:#fff;border:1px solid #dce4ec;border-radius:16px;padding:10px}.parent-calendar-nav .calendar-month-nav{margin:0!important}.parent-calendar-panel{overflow:hidden}.calendar-view-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px}.calendar-view-heading h2{margin:3px 0 0!important}.schedule-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px;background:#f7f9fb;border:1px solid #dce4ec;border-radius:14px;color:#536579}.schedule-summary b{color:#20364c}.family-event-list{display:grid;gap:12px}.family-event-card{background:#fff;border:1px solid #dce4ec;border-radius:18px;padding:18px;box-shadow:0 7px 22px rgba(25,48,73,.045)}.family-event-card.is-cancelled{border-left:5px solid #d45047}.family-event-top,.family-event-badges{display:flex;align-items:center;justify-content:space-between;gap:8px}.family-event-badges{justify-content:flex-start;flex-wrap:wrap}.family-event-card h3{margin:14px 0 5px;color:#12243a;font-size:20px}.family-event-card .event-context{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#708094;margin:0 0 14px}.family-event-card .event-context b{color:#52657b}.family-event-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.family-event-facts>div{padding:11px 12px;border-radius:12px;background:#f7f9fb;border:1px solid #e2e8ef}.family-event-facts small{color:#8290a0;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.family-event-facts b{display:block;margin-top:4px;color:#20364c;font-size:13px;overflow-wrap:anywhere}.family-cancel-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff1f1;color:#9f2f2f;font-size:12px;font-weight:750}.schedule-empty{padding:30px;text-align:center;border:1px dashed #ccd7e2;border-radius:18px;background:#fff}.schedule-empty b,.schedule-empty span{display:block}.schedule-empty span{color:#708094;margin-top:5px}
.account-photo-editor{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:14px;margin:12px 0 16px;background:#f7f9fb;border:1px solid #dce4ec;border-radius:16px}.account-avatar{width:92px;height:92px;min-width:92px;border-radius:50%;overflow:hidden;background:#e8eef4;border:1px solid #ced9e4;display:grid;place-items:center;color:#36506a;font-size:25px;font-weight:900}.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-fields{display:grid;gap:12px}.user-chip>span{overflow:hidden!important;border-radius:50%!important}.user-chip>span img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
@media(max-width:760px){.parent-schedule-control{margin:0}.parent-schedule-switch{width:100%}.family-event-facts{grid-template-columns:1fr}.family-event-card{padding:15px}.calendar-view-heading{align-items:flex-start;flex-direction:column}.account-photo-editor{grid-template-columns:1fr;text-align:center}.account-avatar{margin:0 auto}.account-photo-editor .participant-photo-actions{justify-content:center}}

/* ============================================================
   SAMNERA v7.66.0-dev8.3 — STARK DESKTOP SHELL
   Controlled batch 1: desktop sidebar + header ONLY.
   No schedule/SVINN runtime changes in this build.
   ============================================================ */
@media (min-width:761px){
  /* Give the application more room without touching mobile/PWA. */
  .vnext-shell{
    grid-template-columns:220px minmax(0,1fr)!important;
    background:#f4f7fa!important;
  }
  .vnext-main{
    padding:0 28px 52px!important;
    min-width:0!important;
  }

  /* Stark navigation: navy frame, low-noise labels, accent only for state. */
  .vnext-sidebar{
    padding:12px 10px 14px!important;
    background:linear-gradient(180deg,#071a2b 0%,#0a2135 56%,#081928 100%)!important;
    border-right:1px solid rgba(135,164,188,.18)!important;
    box-shadow:10px 0 30px rgba(8,31,51,.09)!important;
  }
  .vnext-sidebar .org-brand{
    margin:0 0 8px!important;
    padding:8px 8px 13px!important;
    min-height:82px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .vnext-sidebar .org-brand img,
  .vnext-sidebar .org-monogram{
    width:48px!important;
    height:48px!important;
    border-radius:14px!important;
    padding:4px!important;
    background:#fff!important;
    box-shadow:0 7px 18px rgba(0,0,0,.18)!important;
  }
  .vnext-sidebar .org-brand-copy strong{color:#f7fafc!important;font-size:14px!important;line-height:1.2!important}
  .vnext-sidebar .org-brand-copy span{color:#91a8bb!important;font-size:9px!important;letter-spacing:.07em!important}

  .vnext-sidebar .role-box{
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(183,205,222,.12)!important;
    border-radius:11px!important;
    padding:8px!important;
    margin:0 2px 8px!important;
  }
  .vnext-sidebar .role-box small{color:#8da6ba!important;font-size:8px!important;letter-spacing:.12em!important}
  .vnext-sidebar .role-box select{
    margin-top:5px!important;
    min-height:32px!important;
    background:#102b41!important;
    color:#eff6fb!important;
    border:1px solid rgba(187,208,224,.16)!important;
    border-radius:8px!important;
    padding:6px 8px!important;
  }

  .vnext-sidebar nav{
    gap:3px!important;
    padding:2px 2px 12px!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(156,185,207,.35) transparent!important;
  }
  .vnext-sidebar .nav,
  .vnext-sidebar .nav-group-toggle{
    min-height:38px!important;
    margin:0!important;
    padding:8px 10px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    color:#c3cfda!important;
    background:transparent!important;
    font-size:11.5px!important;
    font-weight:700!important;
    letter-spacing:0!important;
  }
  .vnext-sidebar .nav>span:first-child,
  .vnext-sidebar .nav-group-icon{
    color:#82abc8!important;
    width:18px!important;
    font-size:13px!important;
  }
  .vnext-sidebar .nav:hover,
  .vnext-sidebar .nav-group-toggle:hover{
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
  }
  .vnext-sidebar .nav.active{
    color:#fff!important;
    background:linear-gradient(90deg,rgba(41,137,210,.23),rgba(41,137,210,.07))!important;
    border-color:rgba(89,178,239,.24)!important;
    box-shadow:inset 3px 0 0 #51b8ff!important;
  }
  .vnext-sidebar .nav.active>span:first-child{color:#77c7ff!important}

  /* Expanded section is quieter than the active route. */
  .vnext-sidebar .nav-group{margin:1px 0!important}
  .vnext-sidebar .nav-group.open>.nav-group-toggle{
    color:#edf5fa!important;
    background:rgba(255,255,255,.025)!important;
    border-color:rgba(255,255,255,.035)!important;
  }
  .vnext-sidebar .nav-group-items{
    margin:2px 0 5px 14px!important;
    padding:1px 0 1px 8px!important;
    border-left:1px solid rgba(157,184,204,.13)!important;
  }
  .vnext-sidebar .subnav{
    min-height:32px!important;
    padding:7px 8px!important;
    font-size:10.5px!important;
    border-radius:8px!important;
  }
  .vnext-sidebar .nav-alert-count{
    margin-left:auto!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 5px!important;
    font-size:9px!important;
  }

  .vnext-sidebar .side-bottom{
    gap:8px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    padding-top:10px!important;
  }
  .vnext-sidebar .side-bottom .ghost{
    background:#f8fbfd!important;
    color:#19344c!important;
    border-color:#f8fbfd!important;
    min-height:34px!important;
    border-radius:9px!important;
  }
  .vnext-sidebar .samnera-platform-brand{opacity:.66!important;transform:scale(.84);transform-origin:center bottom}

  /* Sticky command header: compact, light, and visibly separate from content. */
  .vnext-header{
    position:sticky!important;
    top:0!important;
    z-index:18!important;
    height:72px!important;
    margin:0 -28px 22px!important;
    padding:0 28px!important;
    background:rgba(255,255,255,.94)!important;
    backdrop-filter:blur(15px)!important;
    -webkit-backdrop-filter:blur(15px)!important;
    border-bottom:1px solid #dfe7ee!important;
    box-shadow:0 5px 18px rgba(25,48,73,.035)!important;
  }
  .desktop-page-title .eyebrow{
    color:#7a8ea2!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
    font-weight:800!important;
  }
  .desktop-page-title h1{
    margin:3px 0 0!important;
    color:#13283d!important;
    font-size:20px!important;
    line-height:1.1!important;
  }
  .vnext-header-actions{gap:8px!important}
  .header-icon-action{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
    border:1px solid #dbe5ed!important;
    background:#fff!important;
    color:#29465f!important;
    box-shadow:0 3px 10px rgba(25,48,73,.035)!important;
  }
  .header-icon-action:hover{background:#f4f8fb!important;border-color:#cbd9e4!important}
  .header-icon-action i{top:-6px!important;right:-5px!important}
  .user-chip{
    min-height:42px!important;
    border-radius:13px!important;
    padding:4px 9px 4px 5px!important;
    background:#f7fafc!important;
    border:1px solid #dce5ed!important;
    box-shadow:none!important;
  }
  .user-chip>span{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:50%!important;
    background:#dce8f1!important;
    color:#29475f!important;
    font-size:11px!important;
  }
  .user-chip b{color:#142b40!important;font-size:11px!important}
  .user-chip small{color:#8091a1!important;font-size:9px!important}

  /* Desktop content starts on a clean canvas; Bane remains content-light. */
  #view{max-width:1600px!important;margin:0 auto!important;width:100%!important}
}

/* ============================================================
   SAMNERA v7.66.0-dev8.3.1 — DESKTOP SHELL GEOMETRY HOTFIX
   Keeps the dev8.2 known-good runtime. CSS only.
   Prevents the compact desktop navigation from colliding with
   / visually feeding into the organization masthead.
   ============================================================ */
@media (min-width:761px){
  /* The organization masthead is one compact horizontal unit. */
  .vnext-sidebar .org-brand.sidebar-primary{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding:8px 8px 14px!important;
    text-align:left!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    overflow:visible!important;
  }
  .vnext-sidebar .org-brand.sidebar-primary img,
  .vnext-sidebar .org-brand.sidebar-primary .org-monogram{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    margin:0!important;
    padding:4px!important;
    border-radius:13px!important;
    align-self:center!important;
  }
  .vnext-sidebar .org-brand.sidebar-primary .org-brand-copy{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    align-self:center!important;
  }
  .vnext-sidebar .org-brand.sidebar-primary .org-brand-copy strong{
    display:block!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vnext-sidebar .org-brand.sidebar-primary .org-brand-copy span{
    display:block!important;
    margin:4px 0 0!important;
    font-size:8.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Establish a hard boundary between masthead and navigation. */
  .vnext-sidebar nav{
    margin-top:0!important;
    padding-top:0!important;
    position:relative!important;
    isolation:isolate!important;
  }
  .vnext-sidebar nav>.nav:first-child,
  .vnext-sidebar nav>.nav-group:first-child{
    margin-top:0!important;
  }

  /* Keep the app command header wholly inside the content column. */
  .vnext-main{position:relative!important;overflow:visible!important}
  .vnext-header{
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
    border-radius:0 0 14px 14px!important;
  }
  #view{padding-top:2px!important}
}

/* ============================================================
   SAMNERA v7.66.0-dev8.4 — SCHEDULE BANE CLEANUP
   Desktop-only visual normalization. No application JS changes.
   ============================================================ */
@media (min-width:761px){
  /* Admin schedule command surface: light-only, compact, Stark-style. */
  .calendar-control-panel,
  .calendar-control-panel-admin{
    background:#fff!important;
    color:#13283b!important;
    border:1px solid #dce5ed!important;
    border-radius:18px!important;
    box-shadow:0 12px 32px rgba(25,48,73,.055)!important;
    padding:16px 18px!important;
    gap:14px!important;
  }
  .calendar-control-panel .eyebrow,
  .calendar-control-panel-admin .eyebrow{
    color:#76899c!important;
    letter-spacing:.12em!important;
    font-weight:850!important;
  }
  .calendar-control-panel .calendar-filter-row,
  .calendar-control-panel-admin .calendar-filter-row{
    border-top:1px solid #e7edf2!important;
    padding-top:14px!important;
    gap:12px!important;
  }
  .calendar-control-panel label,
  .calendar-control-panel-admin label,
  .calendar-filter-row label{
    color:#627689!important;
    font-size:10px!important;
    letter-spacing:.035em!important;
    font-weight:800!important;
  }
  .calendar-control-panel select,
  .calendar-control-panel input[type="month"],
  .calendar-filter-row select{
    min-height:42px!important;
    margin-top:6px!important;
    background:#f9fbfc!important;
    color:#172b3d!important;
    border:1px solid #d5e0e8!important;
    border-radius:11px!important;
    box-shadow:0 1px 2px rgba(18,40,60,.025)!important;
    padding:9px 11px!important;
  }
  .calendar-control-panel select:focus,
  .calendar-control-panel input[type="month"]:focus,
  .calendar-filter-row select:focus{
    outline:none!important;
    border-color:#8db7d5!important;
    box-shadow:0 0 0 3px rgba(38,143,196,.10)!important;
  }
  .calendar-control-panel .calendar-month-nav button{
    min-height:42px!important;
    height:42px!important;
    border-radius:11px!important;
    border:1px solid #d6e1e9!important;
    background:#fff!important;
    color:#29465f!important;
    box-shadow:none!important;
    font-weight:800!important;
  }
  .calendar-control-panel .calendar-month-nav button:hover{
    background:#f3f8fb!important;
    border-color:#c6d8e5!important;
  }
  .calendar-control-panel-admin .calendar-toolbar-actions .ghost{
    min-height:42px!important;
    height:42px!important;
    border:1px solid #bed5e5!important;
    background:#eef7fb!important;
    color:#155b7d!important;
    border-radius:11px!important;
    box-shadow:none!important;
    font-weight:850!important;
  }
  .calendar-control-panel-admin .calendar-toolbar-actions .ghost:hover{
    background:#e3f1f8!important;
    border-color:#9fc6dc!important;
  }
  .calendar-control-panel-admin .calendar-toolbar-actions .btn{
    min-height:42px!important;
    height:42px!important;
    border-radius:11px!important;
    background:#0d2a40!important;
    color:#fff!important;
    border:1px solid #0d2a40!important;
    box-shadow:0 6px 16px rgba(13,42,64,.12)!important;
    font-weight:850!important;
  }
  .calendar-filter-summary{
    min-height:58px!important;
    border-left:1px solid #e3eaf0!important;
    padding:8px 12px!important;
    background:#f7fafc!important;
    border-radius:11px!important;
  }
  .calendar-filter-summary b{
    color:#173047!important;
    font-size:13px!important;
    margin-top:4px!important;
  }
  .calendar-filter-summary small{
    color:#8291a0!important;
  }

  /* Calendar itself stays white. The navy weekday rail is a deliberate command accent. */
  .calendar,
  .calendar-fixed-month,
  .schedule-calendar{
    background:#fff!important;
    border:1px solid #dce5ed!important;
    border-radius:18px!important;
    box-shadow:0 12px 32px rgba(25,48,73,.05)!important;
  }
  .calendar-weekdays{
    background:#10283a!important;
    border-bottom:0!important;
  }
  .calendar-weekdays span{
    color:#dbe7ef!important;
    font-size:9px!important;
    letter-spacing:.11em!important;
  }
  .calendar-day{
    background:#fff!important;
    border-right:1px solid #e5ebf0!important;
    border-bottom:1px solid #e5ebf0!important;
  }
  .calendar-day.empty,
  .calendar-trailing{
    background:#f7f9fb!important;
  }
  .calendar-date{
    color:#6c7e8f!important;
    font-weight:850!important;
  }
  .calendar-event{
    box-shadow:none!important;
  }

  /* Schedule list/table gets the same command-center surface. */
  .schedule-list{
    background:#fff!important;
    border:1px solid #dce5ed!important;
    border-radius:18px!important;
    box-shadow:0 12px 32px rgba(25,48,73,.045)!important;
    overflow:hidden!important;
  }
  .schedule-list table thead th{
    background:#f5f8fa!important;
    color:#5d7184!important;
    border-bottom:1px solid #dfe7ed!important;
  }
  .schedule-list table tbody tr:hover{
    background:#f8fbfd!important;
  }

  /* Coach schedule bar also obeys Bane. */
  .calendar-toolbar.calendar-toolbar-coach{
    background:#fff!important;
    color:#173047!important;
    border:1px solid #dce5ed!important;
    border-radius:18px!important;
    box-shadow:0 12px 32px rgba(25,48,73,.05)!important;
  }
  .calendar-toolbar-coach label{color:#64798c!important}
  .calendar-toolbar-coach select,
  .calendar-toolbar-coach input{
    background:#f9fbfc!important;
    color:#172b3d!important;
    border-color:#d5e0e8!important;
  }
  .calendar-toolbar-coach .calendar-context{
    border-left:1px solid #e3eaf0!important;
    color:#173047!important;
  }
  .calendar-toolbar-coach .calendar-context b{color:#173047!important}
}


/* v7.66.0-dev8.5 — desktop calendar weather restoration */
@media (min-width: 900px){
  .calendar-event{position:relative;padding-bottom:30px}
  .calendar-weather-badge{
    position:absolute;left:8px;right:8px;bottom:7px;display:flex;align-items:center;justify-content:center;gap:4px;
    min-height:20px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;letter-spacing:.01em;
    border:1px solid #d9e2ec;background:#f7fafc;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .calendar-weather-badge.normal{background:#eefbf5;border-color:#bfe8d2;color:#176044}
  .calendar-weather-badge.caution{background:#fff8e6;border-color:#f1d58a;color:#7a5713}
  .calendar-weather-badge.critical{background:#fff0ee;border-color:#efb3aa;color:#a2382b}
  #svinnWeatherOpsHost .svinn-weather-ops{margin-bottom:14px;border:1px solid #dbe5ee;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}
  #svinnWeatherOpsHost .svinn-weather-panel-head{background:linear-gradient(90deg,#f8fbfd,#eef8fb);border-radius:16px;padding:16px 18px}
  #svinnWeatherOpsHost .svinn-weather-panel-head h2{margin:.2rem 0 .35rem;font-size:1.15rem}
  #svinnWeatherOpsHost .svinn-weather-panel-head p{margin:0;max-width:900px;color:#607086}
}


/* v7.66.0-dev8.5.1 — compact SVINN advice + mobile seven-day calendar geometry */
@media (min-width: 900px){
  #svinnWeatherOpsHost .svinn-weather-ops{margin-bottom:10px}
  #svinnWeatherOpsHost .svinn-weather-panel-head{padding:12px 15px}
  #svinnWeatherOpsHost .svinn-weather-panel-head h2{font-size:1.05rem;margin:.15rem 0 .2rem}
  #svinnWeatherOpsHost .svinn-weather-panel-head p{font-size:12px;line-height:1.35}
  #svinnWeatherOpsHost .svinn-weather-location{margin-top:8px}
  #svinnWeatherOpsHost .svinn-weather-row{padding-top:8px;padding-bottom:8px}
}
@media (max-width: 700px){
  .calendar-fixed-month{width:100%!important;max-width:100%!important;overflow:visible!important}
  .calendar-fixed-month .calendar-weekdays,
  .calendar-fixed-month .calendar-grid{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
  .calendar-fixed-month .calendar-grid{grid-template-rows:repeat(6,minmax(82px,auto))!important}
  .calendar-fixed-month .calendar-day{min-height:82px!important;padding:4px 3px!important;overflow:hidden}
  .calendar-fixed-month .calendar-weekdays span{font-size:8px!important;letter-spacing:.02em!important;padding:7px 1px!important}
  .calendar-fixed-month .calendar-date{font-size:9px!important;margin-bottom:3px!important}
  .calendar-fixed-month .calendar-event{padding:4px 3px!important;margin-top:3px!important;border-left-width:2px!important;min-width:0!important}
  .calendar-fixed-month .calendar-event b,
  .calendar-fixed-month .calendar-event-title{font-size:7.5px!important;line-height:1.15!important;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .calendar-fixed-month .calendar-event small{display:none!important}
  .calendar-fixed-month .calendar-weather-badge{display:none!important}
  .calendar-fixed-month + *{max-width:100%}
  #svinnWeatherOpsHost .svinn-weather-ops{margin-bottom:10px}
  #svinnWeatherOpsHost .svinn-weather-panel-head{padding:12px}
  #svinnWeatherOpsHost .svinn-weather-location-head{gap:8px}
}


/* v7.66.0-dev8.5.3 — weather date normalization + mobile schedule hard stop */
@media (max-width:700px){
  /* Mobile month navigation: month owns row one; Previous/Next share row two. */
  .calendar-control-panel .calendar-month-nav,
  .calendar-toolbar-coach .calendar-month-nav,
  .parent-calendar-nav .calendar-month-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"month month" "prev next"!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    padding:0!important;
  }
  .calendar-control-panel .calendar-month-nav input[type="month"],
  .calendar-toolbar-coach .calendar-month-nav input[type="month"],
  .parent-calendar-nav .calendar-month-nav input[type="month"]{
    grid-area:month!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    height:42px!important;
    padding:7px 10px!important;
    font-size:13px!important;
  }
  .calendar-control-panel .calendar-month-nav button:first-child,
  .calendar-toolbar-coach .calendar-month-nav button:first-child,
  .parent-calendar-nav .calendar-month-nav button:first-child{grid-area:prev!important}
  .calendar-control-panel .calendar-month-nav button:last-child,
  .calendar-toolbar-coach .calendar-month-nav button:last-child,
  .parent-calendar-nav .calendar-month-nav button:last-child{grid-area:next!important}
  .calendar-control-panel .calendar-month-nav button,
  .calendar-toolbar-coach .calendar-month-nav button,
  .parent-calendar-nav .calendar-month-nav button{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    height:38px!important;
    padding:6px 8px!important;
    font-size:11px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Calendar is the mobile schedule browser. Do not render the 130+ row table below it. */
  .schedule-list,
  .table-wrap.schedule-list,
  #view > .schedule-list{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
}

/* v7.66.0-dev8.5.4 — verified weather source + mobile schedule geometry + pull refresh */
@media (max-width:760px){
  .calendar-control-panel .calendar-control-primary{display:block!important}
  .calendar-control-panel .calendar-control-month{width:100%!important;min-width:0!important}
  .calendar-month-nav{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"month month" "prev next"!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  .calendar-month-nav .calendar-nav-month{grid-area:month!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;height:44px!important}
  .calendar-month-nav .calendar-nav-prev{grid-area:prev!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;height:40px!important}
  .calendar-month-nav .calendar-nav-next{grid-area:next!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;height:40px!important}
  .calendar-toolbar-actions{margin-top:10px!important}
  .schedule-list{display:none!important}
  .mobile-calendar-only-note{display:block;margin:10px 0 0;padding:10px 12px;border:1px solid #dce4ec;border-radius:12px;background:#f7fafc;color:#65788c;font-size:11px;text-align:center}
}
@media (min-width:761px){.mobile-calendar-only-note{display:none!important}}
.mobile-pull-refresh{position:fixed;left:50%;top:0;z-index:2005;transform:translate(-50%,-70px);background:#102033;color:#fff;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:800;box-shadow:0 8px 24px rgba(16,32,51,.22);transition:transform .16s ease,background .16s ease;pointer-events:none}
.mobile-pull-refresh.tracking{transition:none}.mobile-pull-refresh.ready{background:#168da0}.mobile-pull-refresh.refreshing{background:#168da0}

/* v7.66.0-dev8.5.5 — mobile month inset + cancelled weather visibility */
@media (max-width:760px){
  .calendar-month-nav .calendar-nav-month{
    width:calc(100% - 12px)!important;
    max-width:calc(100% - 12px)!important;
    justify-self:center!important;
  }
}
.svinn-weather-row.is-cancelled{opacity:.78;background:#f7f8fa!important}
.svinn-weather-row.is-cancelled .svinn-weather-select{display:none!important}

/* v7.66.0-dev8.5.6 — calendar snapshot weather parity + tighter mobile month inset */
@media (max-width:760px){
  .calendar-month-nav .calendar-nav-month{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    justify-self:center!important;
  }
}

/* v7.66.0-dev8.5.7 — mobile month inset final fit */
@media (max-width:760px){
  .calendar-month-nav .calendar-nav-month{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    justify-self:center!important;
  }
}


/* v7.66.0-dev8.7 — Combined SVINN Command Center + people/avatar normalization + mobile refresh hardening */
.avatar,.unified-person-avatar,.participant-photo,.account-avatar{border-radius:50%!important;overflow:hidden!important;aspect-ratio:1/1;flex:0 0 auto}
.avatar img,.unified-person-avatar img,.participant-photo img,.account-avatar img,.user-chip>span img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;display:block!important}
.unified-person-avatar-empty,.participant-photo-empty{background:#eef3f8!important;color:#24364b!important;border:1px solid #d5e0ea!important}
.unified-person-avatar-empty>span,.participant-photo-empty>span{display:grid!important;place-items:center!important;width:100%;height:100%;font-weight:850;letter-spacing:.04em;color:#24364b!important}
.svinn-command-center{display:grid;gap:16px}.svinn-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border:1px solid #dbe5ee;border-radius:22px;background:linear-gradient(120deg,#fff 0%,#f4fbfd 100%);box-shadow:0 14px 36px rgba(25,51,76,.07)}.svinn-hero h2{margin:4px 0 5px;font-size:28px;letter-spacing:-.035em;color:#102033}.svinn-hero p{margin:0;color:#6b7d90}.svinn-ask-now{border:0;border-radius:14px;padding:13px 18px;background:#102033;color:#fff;font-weight:850;cursor:pointer;white-space:nowrap}.svinn-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.svinn-kpi-card{border:1px solid #dbe5ee;border-radius:18px;background:#fff;padding:18px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(25,51,76,.05)}.svinn-kpi-card span{display:block;font-size:10px;letter-spacing:.15em;color:#75879a;font-weight:850}.svinn-kpi-card strong{display:block;margin:5px 0 3px;font-size:27px;color:#102033}.svinn-kpi-card small{color:#6c7d8e;line-height:1.4}.svinn-grid-main{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.svinn-surface{border:1px solid #dbe5ee;border-radius:20px;background:#fff;padding:20px;box-shadow:0 8px 24px rgba(25,51,76,.045)}.svinn-surface-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.svinn-surface h3,.svinn-section-title h3{margin:4px 0 0;color:#102033}.svinn-health-score{font-size:28px;color:#16a3ad}.svinn-health-track{height:8px;background:#eaf0f5;border-radius:999px;overflow:hidden;margin:16px 0}.svinn-health-track i{display:block;height:100%;background:linear-gradient(90deg,#18aab5,#58b7a5);border-radius:999px}.svinn-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.svinn-reasons button{border:1px solid #e1e9f0;background:#f8fafc;border-radius:13px;padding:12px;text-align:left;cursor:pointer}.svinn-reasons b{font-size:18px;color:#102033}.svinn-reasons span{display:block;color:#718296;font-size:11px}.svinn-all-clear{padding:14px;border-radius:13px;background:#f0f8f3;color:#397054;font-weight:700;grid-column:1/-1}.svinn-action-list{display:grid;gap:8px;margin-top:13px}.svinn-action-list>button{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;width:100%;border:1px solid #e1e9f0;background:#f9fbfc;border-radius:14px;padding:11px;text-align:left;cursor:pointer}.svinn-action-list>button>span{width:34px;height:34px;border-radius:10px;background:#edf6fa;display:grid;place-items:center;color:#168da0}.svinn-action-list b{color:#102033}.svinn-action-list small{color:#718296}.svinn-module-section{border:1px solid #dbe5ee;border-radius:22px;background:#fff;padding:20px}.svinn-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.svinn-section-title>small{max-width:520px;text-align:right;color:#718296}.svinn-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.svinn-module-card{border:1px solid #dce5ec;background:#f9fbfc;border-radius:17px;padding:16px}.svinn-module-card h3{margin:12px 0 5px;color:#102033}.svinn-module-card p{min-height:44px;color:#718296;font-size:12px;line-height:1.45}.svinn-module-card button{width:100%;border:1px solid #c9d7e2;border-radius:11px;padding:10px;background:#fff;color:#102033;font-weight:800;cursor:pointer}.svinn-module-card button:disabled{opacity:.5;cursor:not-allowed}.svinn-module-state{display:inline-flex!important;width:auto!important;border-radius:999px;padding:5px 8px;font-size:10px!important;font-weight:850}.svinn-module-state.loading{background:#eef2f6;color:#6a7b8d}.svinn-module-state.enabled{background:#e7f6ee;color:#287451}.svinn-module-state.locked{background:#f3f0e9;color:#82651c}
.mobile-pull-refresh{display:flex!important;align-items:center;gap:7px;top:max(6px,env(safe-area-inset-top));padding:10px 14px!important;min-height:38px}.mobile-pull-refresh>span{font-size:15px;color:#fff!important;margin:0!important}.mobile-pull-refresh>b{font-size:11px;color:#fff!important;white-space:nowrap}.mobile-pull-refresh.refreshing>span{animation:svinnRefreshSpin .75s linear infinite}@keyframes svinnRefreshSpin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.svinn-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svinn-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svinn-grid-main{grid-template-columns:1fr}}
@media(max-width:760px){html,body{overscroll-behavior-y:contain}.svinn-command-center{gap:12px}.svinn-hero{padding:17px;align-items:flex-start}.svinn-hero h2{font-size:21px}.svinn-hero p{font-size:12px}.svinn-ask-now{padding:10px 11px;font-size:11px}.svinn-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.svinn-kpi-card{padding:13px;border-radius:14px}.svinn-kpi-card strong{font-size:22px}.svinn-kpi-card small{font-size:10px}.svinn-surface,.svinn-module-section{padding:15px;border-radius:16px}.svinn-reasons{grid-template-columns:1fr}.svinn-module-grid{grid-template-columns:1fr}.svinn-section-title{align-items:flex-start;flex-direction:column}.svinn-section-title>small{text-align:left}.calendar-month-nav .calendar-nav-month{width:calc(100% - 48px)!important;max-width:calc(100% - 48px)!important;justify-self:center!important}}

/* v7.66.0-dev8.7.1 — Alert detail + resilient mobile weather */
.notification-detail-modal{width:min(720px,calc(100vw - 32px))!important}.notification-detail-body{font-size:16px!important;line-height:1.55!important;color:var(--u-ink,#102033)!important}.notification-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.notification-detail-grid>div{padding:10px 12px;border:1px solid var(--u-line,#d9e2ea);border-radius:12px;background:#f8fafc}.notification-detail-grid dt{text-transform:capitalize;color:#748399;font-size:11px;font-weight:800}.notification-detail-grid dd{margin:4px 0 0;font-weight:800;color:#17263a;overflow-wrap:anywhere}.parent-weather-line.loading{color:#66758a}.parent-weather-line.unavailable{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#6d7889}.parent-weather-retry{min-height:34px!important;padding:6px 10px!important}@media(max-width:760px){.notification-detail-grid{grid-template-columns:1fr}.notification-detail-modal{width:100%!important}.parent-weather-context{overflow:visible!important}.parent-weather-line{overflow-wrap:anywhere!important}}

/* dev8.7.2 live parent cancellation alerts */
.parent-live-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:14px 16px;border:1px solid #f0c9c3;border-left:5px solid #d45548;border-radius:16px;background:#fff8f6;box-shadow:0 10px 28px rgba(15,32,51,.06)}
.parent-live-alert-banner.weather{background:linear-gradient(90deg,#fff7f5,#fff)}
.parent-live-alert-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.parent-live-alert-copy b{color:#10223a;font-size:16px}.parent-live-alert-copy small{color:#60718a;line-height:1.35;white-space:normal}.parent-live-alert-copy .eyebrow{color:#b23d33;font-size:10px;font-weight:800;letter-spacing:.12em}
@media(max-width:760px){.parent-live-alert-banner{align-items:stretch;flex-direction:column;padding:12px}.parent-live-alert-banner .btn{width:100%}.parent-live-alert-copy b{font-size:15px}}


/* v7.66.0-dev8.7.3 — mobile viewport stability + inline lifecycle alerts */
.notification-list{display:grid;gap:12px}
.notification-card{cursor:default!important}
.notification-card .notification-authority{background:#edf4f8!important;color:#456278!important}
.notification-card p{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.notification-card .row.gap{margin-top:12px}
.notification-toolbar{align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:760px){
  html,body,#app,.shell,.main,#view{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  input,select,textarea{font-size:16px!important}
  .auth-card input,.auth-card select,.auth-card textarea{font-size:16px!important}
  .notification-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important}
  .notification-toolbar>*{width:100%!important;min-width:0!important}
  .notification-card{padding:14px!important}
  .notification-card .notification-head{gap:8px;align-items:flex-start}
  .notification-card .notification-head>div{display:flex;gap:5px;flex-wrap:wrap}
  .notification-card h3{font-size:18px!important}
  .notification-card p{font-size:15px!important;line-height:1.5!important}
  .notification-card .row.gap{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .notification-card .row.gap button{width:100%!important;min-width:0!important}
}


/* ============================================================
   SAMNERA v7.66.0-dev8.8 — DEV8 CONSOLIDATED MOBILE DOCUMENTS
   Prevent intrinsic file controls, badges, descriptions and panel heads from
   expanding participant requirement cards past the mobile viewport.
   ============================================================ */
@media(max-width:760px){
  .requirement-participant,
  .requirement-card,
  .requirement-main,
  .requirement-main .panel-head,
  .requirement-main .panel-head>div,
  #requirementParticipants,
  #requirementParticipants .panel,
  #parentDocCards,
  #parentDocCards .program-card{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .requirement-participant{padding:14px!important;overflow:hidden!important}
  .requirement-card{display:block!important;padding:14px!important;overflow:hidden!important}
  .requirement-main{overflow:hidden!important}
  .requirement-main .panel-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;align-items:start!important}
  .requirement-main .panel-head .badge{justify-self:start!important;max-width:100%!important;white-space:normal!important;text-align:left!important}
  .requirement-main b,
  .requirement-main small,
  .requirement-main p,
  .requirement-main label,
  .requirement-main .notice,
  #parentDocCards label,
  #parentDocCards small{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    white-space:normal!important;
  }
  .requirement-main input[type=file],
  .rq-parent-file,
  .generic-parent-file,
  #parentDocCards input[type=file]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    font-size:16px!important;
  }
  .requirement-main .rq-upload,
  .requirement-main .generic-upload,
  #parentDocCards .upload-family-doc{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  .requirement-main .actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .requirement-main .actions .btn,
  .requirement-main .actions .ghost{width:100%!important;min-width:0!important}
}

/* v7.67.0-dev9.1 — SVINN Mark VI */
.svinn-markvi{background:radial-gradient(circle at 85% 5%,rgba(46,124,255,.10),transparent 30%),#f7f9fd!important}
.svinn-markvi .ask-svinn-head{border-bottom:1px solid #d6e4f5!important;box-shadow:0 8px 28px rgba(16,45,80,.06)}
.svinn-markvi-welcome{background:linear-gradient(135deg,#fff 0%,#f3f8ff 68%,#e9f5ff 100%)!important;border-color:#c9dcf4!important;position:relative;overflow:hidden}
.svinn-markvi-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 48%,rgba(53,127,255,.035) 50%,transparent 52%),linear-gradient(rgba(53,127,255,.03) 1px,transparent 1px);background-size:80px 100%,100% 28px;pointer-events:none}
.svinn-markvi-welcome .eyebrow{display:block;margin-bottom:9px;color:#2874c7;font-size:10px;font-weight:900;letter-spacing:.16em}
.svinn-mic{width:46px;min-width:46px;height:46px;border:1px solid #bfd4ef;border-radius:50%;background:#eef6ff;font-size:20px;cursor:pointer}
.ask-svinn-input{grid-template-columns:auto minmax(0,1fr) auto!important}
.svinn-markvi-orb[data-svinn-state="listening"],.svinn-markvi[data-svinn-state="listening"] .ask-svinn-mark{animation:markVIListen .8s ease-in-out infinite alternate;box-shadow:0 0 0 8px rgba(45,119,255,.12),0 0 30px rgba(45,119,255,.45)!important}
.svinn-markvi[data-svinn-state="thinking"] .ask-svinn-mark{animation:markVIThink 1s linear infinite}
@keyframes markVIListen{to{transform:scale(1.08);filter:brightness(1.18)}}
@keyframes markVIThink{to{transform:rotate(360deg)}}
@media(max-width:720px){.svinn-markvi .ask-svinn-head>div small{font-size:9px!important;letter-spacing:.08em}.svinn-mic{width:44px;min-width:44px;height:44px}.ask-svinn-input{gap:7px!important}}

/* DEV9.1.1 — SVINN futuristic shell, light-only */
.svinn-markvi{background:radial-gradient(circle at 92% 2%,rgba(41,124,255,.16),transparent 24%),radial-gradient(circle at 8% 88%,rgba(44,205,227,.10),transparent 30%),#f5f9ff!important}
.svinn-markvi:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(47,117,210,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(47,117,210,.025) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 72%)}
.svinn-markvi .ask-svinn-head{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px) saturate(1.25)!important;border-bottom:1px solid rgba(86,151,234,.28)!important;box-shadow:0 12px 36px rgba(24,83,153,.08)!important}
.svinn-markvi .ask-svinn-head>div small{display:inline-flex;width:max-content;margin-top:3px;padding:3px 8px;border-radius:999px;background:#edf7ff;color:#1e6eae!important;border:1px solid #cae8fb;font-weight:850;letter-spacing:.09em}
.svinn-markvi-welcome{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,248,255,.96))!important;border:1px solid rgba(87,157,235,.34)!important;box-shadow:0 16px 42px rgba(43,96,162,.09)!important}
.svinn-markvi-welcome:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#2e7cff,#27cbd8);box-shadow:0 0 18px rgba(46,124,255,.45)}
.svinn-markvi .svinn-suggestion{background:linear-gradient(180deg,#fff,#f8fbff)!important;border-color:#cfe0f3!important;box-shadow:0 6px 18px rgba(31,82,139,.04)!important}
.svinn-markvi .svinn-suggestion:active{transform:scale(.985)}
.svinn-markvi .ask-svinn-input{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(16px);border-top-color:#d6e5f5!important}
.svinn-markvi .ask-svinn-input input{background:#fff!important;border:1.5px solid #b9d6f4!important;box-shadow:inset 0 0 0 1px rgba(50,116,214,.04),0 0 0 4px rgba(50,116,214,.03)}
.svinn-auto-action{display:block;margin-top:8px;color:#2674bd;font-weight:850;letter-spacing:.03em}
.svinn-markvi[data-svinn-state="listening"]{box-shadow:inset 0 0 0 2px rgba(50,130,255,.12),0 0 70px rgba(50,130,255,.10)!important}
@media(max-width:720px){.svinn-markvi .ask-svinn-body{background:linear-gradient(180deg,rgba(244,249,255,.85),rgba(248,251,255,.95))!important}.svinn-markvi-welcome{border-radius:20px!important}.svinn-markvi .svinn-chat-card{border-radius:20px!important}}

/* DEV9.2 — SVINN Action Engine */
.svinn-heard-chip{align-self:flex-start;margin:8px 0 2px;padding:7px 11px;border:1px solid #cfe0f7;border-radius:999px;background:#f4f8ff;color:#536b89;font-size:.82rem;font-weight:700;max-width:100%;overflow-wrap:anywhere}
.svinn-confirmation-guard{border-color:#ead7a0;background:linear-gradient(180deg,#fffdf7 0%,#fff 100%)}

/* SAMNERA 2.0v1 — Phase 1 Game Day Mode */
.game-day-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.game-day-card-actions button{flex:1;min-width:130px}.game-day-modal-back{align-items:flex-start;padding:20px 12px;overflow:auto}.game-day-modal{width:min(1180px,96vw);max-height:none;margin:0 auto 30px}.game-day-shell{display:grid;gap:16px}.game-day-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px;border:1px solid #d9e1ea;border-radius:18px;background:linear-gradient(135deg,#fff,#f3f8fb)}.game-day-scoreboard h3{font-size:clamp(20px,3vw,32px);margin:6px 0 0;color:#102033}.game-day-scoreboard h3 span{font-weight:500;color:#8290a0;font-size:.65em}.game-day-scoreboard small{display:block;margin-top:8px;color:#687587}.game-day-score{display:flex;align-items:center;gap:10px}.game-day-score strong{font-size:clamp(34px,6vw,58px);line-height:1;color:#102033;min-width:42px;text-align:center}.game-day-score>span{font-size:30px;color:#8f9aa6}.game-day-score .ghost{min-width:42px;padding:9px}.game-day-score-actions{display:grid;gap:8px}.game-day-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.5fr);gap:16px}.game-day-timeline{display:grid;gap:8px;max-height:300px;overflow:auto}.game-day-event{display:grid;grid-template-columns:48px 1fr 36px;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dfe6ed;border-radius:12px;background:#fff}.game-day-event>b{color:#168da0}.game-day-roster select,.game-day-roster input{min-width:105px}.game-day-roster td:first-child{min-width:170px}.danger-btn{background:#b42318!important;border-color:#b42318!important;color:#fff!important}.badge.danger{background:#fee4e2;color:#b42318;border-color:#fecdca}@media(max-width:820px){.game-day-modal-back{padding:0}.game-day-modal{width:100vw;min-height:100vh;border-radius:0;margin:0}.game-day-scoreboard{grid-template-columns:1fr;text-align:center}.game-day-score,.game-day-score-actions{justify-content:center}.game-day-score-actions{grid-template-columns:1fr 1fr}.game-day-grid{grid-template-columns:1fr}.game-day-roster{min-width:720px}.game-day-card-actions button{width:100%;flex-basis:100%}}
/* SAMNERA 2.0v1 Phase 1.2 — Sport-Agnostic Game Day */
.game-day-badges{display:flex;gap:8px;flex-wrap:wrap}.sport-badge{background:#edf8fa;color:#126e7d;border-color:#bce6ec}.game-day-quick-score{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid #d9e1ea;border-radius:14px;background:#fff}.game-day-quick-score .small{min-width:92px}.game-day-event{grid-template-columns:minmax(95px,150px) 1fr 36px}.game-day-event>b{font-size:12px;line-height:1.25}.sport-score-entry{gap:14px}.sport-score-entry label{margin:0;min-width:120px;text-align:center;font-size:11px;color:#687587}.sport-score-entry input{display:block;margin-top:4px;width:120px;text-align:center;font-size:30px;font-weight:900;color:#102033}.game-day-scoreboard .game-day-score-actions:empty{display:none}@media(max-width:820px){.game-day-quick-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-day-quick-score .small{min-width:0}.game-day-event{grid-template-columns:90px 1fr 34px}.sport-score-entry{justify-content:center}.sport-score-entry label,.sport-score-entry input{width:110px;min-width:0}}

/* SAMNERA 2.0v1 Phase 1.3 — Coach Sport/Team Context */
.coach-context-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.55fr) minmax(220px,.85fr);gap:14px;align-items:end;margin:14px 28px 0;padding:14px 16px;border:1px solid #d7e0ea;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.coach-context-copy{align-self:center;min-width:0}.coach-context-copy small{display:block;font-size:11px;letter-spacing:.14em;font-weight:800;color:#7a8699;margin-bottom:4px}.coach-context-copy b{display:block;color:#111c2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-context-bar label{margin:0}.coach-context-bar label span{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#7a8699;margin:0 0 6px}.coach-context-bar select{width:100%;min-height:44px;border-radius:12px;border:1px solid #cfd9e6;background:#fff;color:#111c2e;font-weight:700;padding:0 38px 0 12px}.sidebar-context-current{font-size:12px;font-weight:800;color:var(--accent,#d4af37);margin:4px 0 7px}
@media(max-width:760px){.coach-context-bar{grid-template-columns:1fr 1fr;margin:10px 16px 2px;padding:12px;border-radius:16px;gap:10px}.coach-context-copy{grid-column:1/-1}.coach-context-copy small{font-size:10px}.coach-context-copy b{font-size:14px}.coach-context-bar label span{font-size:10px}.coach-context-bar select{min-height:46px;font-size:14px;padding-left:10px}}
@media(max-width:430px){.coach-context-bar{grid-template-columns:1fr}.coach-context-copy{grid-column:auto}.coach-context-bar label{min-width:0}.coach-context-bar select{font-size:13px}}

/* Gate 2.1 — full PDF viewer + MFA enrollment/verification */
.portal-document-viewer{width:min(1180px,90vw);height:min(82vh,940px);overflow:auto;background:#eef2f5;padding:14px}
.portal-document-loading{position:sticky;top:0;z-index:2;background:rgba(255,255,255,.96);color:#26313b;border:1px solid #ccd5dd;border-radius:9px;padding:9px 12px;margin-bottom:12px;font-size:12px;font-weight:800}
.portal-document-pages{display:grid;gap:18px;justify-items:center}
.portal-pdf-page{background:#fff;padding:10px 10px 14px;border:1px solid #cfd7df;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.12);max-width:100%}
.portal-pdf-page canvas{display:block;max-width:100%;height:auto;background:#fff}
.portal-pdf-page-label{color:#53606d;font-size:11px;font-weight:800;margin:0 0 8px 2px}
.mfa-enroll-grid{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}
.mfa-qr{width:220px;height:220px;max-width:100%;background:#fff;border-radius:12px;padding:8px}
.mfa-secret{display:block;margin-top:8px;padding:10px;border:1px solid #d6dde4;border-radius:8px;background:#f7f9fb;color:#24303a;word-break:break-all;font-size:12px}
@media(max-width:760px){.portal-document-viewer{width:92vw;height:78vh;padding:8px}.mfa-enroll-grid{grid-template-columns:1fr}.mfa-qr{justify-self:center}}
/* Gate 2.1.2 type-aware secure document viewer */
.portal-image-viewer{display:flex;flex-direction:column;min-height:480px}.portal-image-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0}.portal-image-zoom-label{min-width:54px;text-align:center;font-weight:800;color:#415166}.portal-image-stage{min-height:380px;max-height:68vh;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:#eef2f6;border:1px solid #d9e1ea;border-radius:12px;padding:16px}.portal-secure-image{display:block;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:top center}.portal-document-pages{max-height:68vh;overflow:auto;padding:8px}.portal-pdf-page{display:flex;flex-direction:column;align-items:center;margin:0 auto 18px}.portal-pdf-page canvas{max-width:100%;height:auto;box-shadow:0 2px 12px rgba(16,32,51,.12);background:white}.portal-pdf-page-label{font-size:12px;font-weight:800;color:#687587;margin:0 0 6px}


/* Gate 2.1.3 — responsive secure document viewer sizing */
.modal.document-viewer-modal{width:min(1240px,calc(100vw - 40px))!important;max-width:none!important;height:min(94dvh,980px)!important;max-height:calc(100dvh - 32px)!important;padding:18px!important}
.modal.document-viewer-modal>.panel-head{flex:0 0 auto;margin-bottom:10px!important}
.modal.document-viewer-modal>.modal-body{flex:1 1 auto;min-height:0;overflow:hidden!important;display:flex!important}
.modal.document-viewer-modal>.actions{flex:0 0 auto;margin-top:10px!important}
.modal.document-viewer-modal .portal-document-viewer{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;padding:10px!important;overflow:hidden!important;display:flex;flex-direction:column}
.modal.document-viewer-modal .portal-document-loading{flex:0 0 auto}
.modal.document-viewer-modal .portal-image-toolbar{flex:0 0 auto;flex-wrap:wrap}
.modal.document-viewer-modal .portal-image-stage{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow:auto;align-items:flex-start;justify-content:center;padding:12px}
.modal.document-viewer-modal .portal-secure-image{flex:0 0 auto;object-fit:contain}
.modal.document-viewer-modal .portal-document-pages{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto!important;width:100%}
@media (min-width:761px) and (max-width:1180px){
  .modal.document-viewer-modal{width:calc(100vw - 28px)!important;height:calc(100dvh - 28px)!important;max-height:none!important}
}
@media (max-width:760px){
  .modal-back:has(.document-viewer-modal){inset:0!important;padding:0!important;align-items:stretch!important}
  .modal.document-viewer-modal{width:100%!important;height:calc(100dvh - env(safe-area-inset-bottom))!important;max-height:none!important;border-radius:0!important;padding:12px!important}
  .modal.document-viewer-modal>.panel-head{padding-top:max(4px,env(safe-area-inset-top))!important}
  .modal.document-viewer-modal .portal-document-viewer{padding:6px!important}
  .modal.document-viewer-modal .portal-image-stage{padding:6px}
  .modal.document-viewer-modal .portal-image-toolbar{gap:6px;padding:5px 0}
  .modal.document-viewer-modal>.actions{padding-bottom:max(4px,env(safe-area-inset-bottom))!important}
}

/* Registrar + MFA onboarding */
.registrar-onboarding-modal{max-width:720px}.svinn-guide-mark{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#087f8d;font-weight:800}.svinn-onboarding-example{padding:16px;border:1px solid #b9dce1;background:#f3fbfc;border-radius:12px;margin:14px 0}.svinn-onboarding-example span{display:block;margin-top:6px;color:#526a70}.wizard-progress.mini{grid-template-columns:repeat(4,1fr);margin-top:20px}.wizard-progress.mini .wizard-step b{display:none}

/* Multi-organization chooser: intentionally minimal — logo, organization name, role. */
.org-choice-grid.simple{grid-template-columns:repeat(auto-fit,minmax(260px,360px));justify-content:center;gap:16px}
.org-choice-grid.simple .org-choice-card{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;appearance:none;-webkit-appearance:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.org-choice-grid.simple .org-choice-card:hover,.org-choice-grid.simple .org-choice-card:focus-visible{transform:translateY(-2px);box-shadow:0 20px 52px rgba(0,0,0,.32);outline:2px solid var(--org-accent);outline-offset:2px}
.org-choice-grid.simple .org-choice-brand{min-height:72px}.org-choice-grid.simple .org-choice-brand img,.org-choice-grid.simple .org-choice-monogram{width:60px;height:60px}
.org-choice-grid.simple .org-choice-brand h2{font-size:1.22rem}.org-choice-grid.simple .org-choice-brand p{font-weight:800}
/* 2026-09-04 Admin workflow simplification */
@media (max-width:700px){
  .toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
  .toolbar .search,.toolbar .toolbar-summary,.toolbar .btn{grid-column:1/-1;min-width:0;width:100%}
  .toolbar select{min-width:0;width:100%;max-width:100%}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .document-option-grid{grid-template-columns:1fr!important}
  .document-option{background:#fff!important;color:#172233!important;border:1px solid #d7e1e8!important}
  .document-option span,.document-option b,.document-option small{color:#526174!important}
  .document-option.selected{background:#f7fcfd!important;border-color:#52bfd0!important}
  .document-option.selected b{color:#172233!important}
  .requirement-library-row{min-width:0;overflow:hidden}
  .requirement-library-meta{display:flex;flex-wrap:wrap;gap:6px}
  .requirement-library-meta span{max-width:100%;overflow-wrap:anywhere}
}

/* ============================================================
   SAMNERA v7.68.0-dev10 — ORG-ONLY ONBOARDING / BANE CLEANUP
   ============================================================ */
.sport-toggle,
html[data-theme="dark"] .sport-toggle{
  background:#fff!important;
  color:#102033!important;
  border-color:#d7e0e9!important;
  box-shadow:0 6px 18px rgba(25,48,73,.045)!important;
}
.sport-toggle:hover{background:#f8fbfd!important;border-color:#9cced9!important}
.sport-toggle.enabled,
html[data-theme="dark"] .sport-toggle.enabled{
  background:linear-gradient(135deg,#f1fbfd 0%,#ffffff 70%)!important;
  border-color:color-mix(in srgb,var(--accent) 58%,#cbd7e3)!important;
}
.sport-toggle-main b{color:#102033!important}
.sport-toggle-main small,.sport-state{color:#718096!important}
.sport-toggle.enabled .sport-state{color:#167f8d!important}
.program-tryout-inline{margin-top:12px;padding:14px;border:1px solid #dce4ec;border-radius:14px;background:#f8fbfd}
.setup-wizard .wizard-card,.setup-wizard .wizard-step{background:#fff!important;color:#102033!important;border-color:#dce4ec!important}
.setup-wizard .wizard-step.active{background:#f1fbfd!important;border-color:#77cdd9!important}
.setup-wizard .wizard-step.done{background:#f6fbf9!important}

/* Gate 3C.1 - Program Workspace */
.program-workspace{
  display:grid;
  gap:18px;
  min-width:0;
}

.modal:has(.program-workspace){
  width:min(1100px,96vw);
  max-height:92vh;
}

.program-workspace-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:4px 2px 10px;
  border-bottom:1px solid var(--line);
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.program-workspace-tabs::-webkit-scrollbar{
  height:6px;
}

.program-workspace-tab{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--muted);
  border-radius:10px;
  padding:10px 14px;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
  transition:.15s ease;
}

.program-workspace-tab:hover{
  border-color:var(--accent);
  color:var(--text);
}

.program-workspace-tab.active{
  border-color:var(--accent);
  background:#eef6ff;
  color:var(--accent-strong);
  box-shadow:inset 0 0 0 1px var(--accent);
}

.program-workspace-body{
  display:grid;
  gap:14px;
  min-width:0;
}

.program-workspace-body > h2{
  margin:2px 0 0;
}

.program-workspace-body > .notice{
  margin-top:4px;
}

.program-workspace-body .snapshot-hero{
  margin-bottom:0;
}

.program-workspace-body .snapshot-metrics{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.program-workspace-body .detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.program-workspace-body .detail-grid > div{
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  background:var(--panel);
}

.program-workspace-body .form-grid .full{
  grid-column:1/-1;
}

.program-workspace-body textarea{
  min-height:110px;
}

.program-workspace-body .snapshot-link{
  background:var(--panel);
}

@media(max-width:900px){
  .program-workspace-body .snapshot-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .program-workspace-body .detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .modal:has(.program-workspace){
    width:100%;
    max-width:100%;
    max-height:94vh;
    border-radius:14px;
    padding:16px;
  }

  .program-workspace{
    gap:14px;
  }

  .program-workspace-tabs{
    margin-left:-4px;
    margin-right:-4px;
    padding-left:4px;
    padding-right:4px;
  }

  .program-workspace-tab{
    padding:9px 12px;
    font-size:11px;
  }

  .program-workspace-body .snapshot-metrics,
  .program-workspace-body .detail-grid{
    grid-template-columns:1fr;
  }

  .program-workspace-body .snapshot-hero{
    align-items:flex-start;
  }

  .program-workspace-body .snapshot-hero > strong{
    font-size:26px;
  }

  .program-workspace-body .form-grid{
    grid-template-columns:1fr;
  }

  .program-workspace-body .form-grid .full{
    grid-column:auto;
  }
}

/* Gate 3C.2A - Program Requirements integration */
.program-requirement-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:16px 0 20px;
}

.program-requirement-metrics > div{
  background:#f8fafc;
  border:1px solid #dbe4ec;
  border-radius:14px;
  padding:14px 16px;
  min-width:0;
}

.program-requirement-metrics small{
  display:block;
  margin-bottom:5px;
}

.program-requirement-metrics b{
  display:block;
  font-size:1.35rem;
}

.program-requirement-section{
  margin-top:22px;
}

.program-requirement-section + .program-requirement-section{
  padding-top:22px;
  border-top:1px solid #e4eaf0;
}

.program-requirement-section h3{
  margin:2px 0 0;
}

.program-requirement-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:14px 16px;
  background:#fff;
  border:1px solid #dbe4ec;
  border-radius:14px;
}

.program-requirement-main{
  min-width:0;
  flex:1;
}

.program-requirement-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:5px;
}

.program-requirement-main small{
  display:block;
  line-height:1.45;
  overflow-wrap:anywhere;
}

@media (max-width:760px){
  .program-requirement-metrics{
    grid-template-columns:1fr;
  }

  .program-requirement-row{
    align-items:flex-start;
  }
}

/* Gate 3C.2B - Program Coach Operations */
.program-coach-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0 24px;
}

.program-coach-metrics > div{
  background:#f8fafc;
  border:1px solid #dbe4ec;
  border-radius:14px;
  padding:14px 16px;
  min-width:0;
}

.program-coach-metrics small{
  display:block;
  margin-bottom:5px;
}

.program-coach-metrics b{
  display:block;
  font-size:1.35rem;
}

.program-coach-section{
  margin-top:22px;
}

.program-coach-section + .program-coach-section{
  padding-top:22px;
  border-top:1px solid #e4eaf0;
}

.program-coach-section h3{
  margin:2px 0 0;
}

.program-staff-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:10px;
  padding:14px 16px;
  background:#fff;
  border:1px solid #dbe4ec;
  border-radius:14px;
  text-align:left;
  cursor:pointer;
}

.program-staff-row:hover{
  border-color:#9fdfe6;
  background:#fbfeff;
}

.program-staff-main{
  flex:1;
  min-width:0;
}

.program-staff-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:5px;
}

.program-staff-main small{
  display:block;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.program-coach-application-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:10px;
  padding:14px 16px;
  background:#fff;
  border:1px solid #dbe4ec;
  border-radius:14px;
}

.program-coach-application-row > div{
  min-width:0;
  flex:1;
}

.program-coach-application-row small{
  display:block;
  margin-top:3px;
  line-height:1.4;
}

.compact-actions{
  margin-top:14px;
}

@media (max-width:900px){
  .program-coach-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .program-coach-metrics{
    grid-template-columns:1fr;
  }

  .program-staff-row,
  .program-coach-application-row{
    align-items:flex-start;
  }
}

/* Gate 3C.2C - Program Team Operations */
.program-team-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0 24px;
}

.program-team-metrics > div{
  background:#f8fafc;
  border:1px solid #dbe4ec;
  border-radius:14px;
  padding:14px 16px;
  min-width:0;
}

.program-team-metrics small{
  display:block;
  margin-bottom:5px;
}

.program-team-metrics b{
  display:block;
  font-size:1.35rem;
}

.program-team-list{
  display:grid;
  gap:10px;
}

.program-team-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 16px;
  border:1px solid #dbe4ec;
  border-radius:14px;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:.15s ease;
}

.program-team-row:hover{
  border-color:var(--accent);
  box-shadow:0 4px 14px rgba(15,23,42,.06);
  transform:translateY(-1px);
}

.program-team-main{
  min-width:0;
  flex:1;
}

.program-team-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:6px;
}

.program-team-main small{
  display:block;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.program-team-list + .actions{
  margin-top:16px;
}

@media (max-width:900px){
  .program-team-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .program-team-metrics{
    grid-template-columns:1fr;
  }

  .program-team-row{
    align-items:flex-start;
  }
}

/* Gate 3C.3B - Program Requirement Assignment light-only treatment */
.program-assignment-grid .program-assignment-option{
  background:#fff;
  color:var(--text);
  border:1px solid #dbe4ec;
}

.program-assignment-grid .program-assignment-option:hover{
  background:#f8fafc;
  border-color:var(--accent);
}

.program-assignment-grid .program-assignment-option.selected{
  background:#f8fafc;
  color:var(--text);
  border-color:var(--accent);
}

.program-assignment-grid .program-assignment-option.inherited{
  background:#f8fafc;
}

.program-assignment-grid .program-assignment-option b{
  color:var(--text);
}

.program-assignment-grid .program-assignment-option small{
  color:var(--muted);
}

/* QA repair: keep long facility and notification content inside its card. */
[hidden]{display:none!important}

.facility-cards,
.facility-cards > *,
.notification-list,
.notification-card,
.notification-head{
  min-width:0;
}

.facility-cards .program-top,
.notification-head{
  flex-wrap:wrap;
}

.facility-cards{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  width:100%;
  max-width:100%;
  min-width:0;
}

.facility-cards .program-card{
  width:100%;
  max-width:100%;
  overflow:hidden;
  contain:inline-size;
}

.facility-cards .program-card *,
.facility-cards .program-top > *{
  min-width:0;
  max-width:100%;
}

.facility-cards .program-top > *{
  flex:1 1 180px;
  width:auto;
  white-space:normal;
  overflow-wrap:anywhere;
}

.facility-cards dl > div{
  min-width:0;
  gap:12px;
}

.facility-cards dt{flex:0 0 min(42%,180px)}
.facility-cards dd{flex:1 1 0;min-width:0;text-align:right}

.facility-cards dd,
.facility-cards .badge,
.notification-card h3,
.notification-card p,
.notification-detail-grid dd{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:1050px){.facility-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}}
@media(max-width:700px){.facility-cards{grid-template-columns:minmax(0,1fr)}}
