:root{color-scheme:light;--navy:#071a2d;--accent:#e91835;--accent-soft:#fbe7eb;--bg:#edf2f8;--surface:#fff;--surface-2:#e3edf7;--text:#0c233a;--muted:#506b87;--line:#c6d6e6;--success:#087b4f;--success-bg:#e3f6ec;--shadow:0 6px 24px #06182a0a;--radius:16px;--space:24px;font-family:Arial,Helvetica,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}body.dark{color-scheme:dark;--bg:#071a2d;--surface:#10283f;--surface-2:#18334e;--text:#f6f8ff;--muted:#b5cee9;--line:#264864;--accent:#ff243e;--accent-soft:#402334;--success:#40e687;--success-bg:#103d32;--shadow:0 10px 28px #0002;background:radial-gradient(ellipse at 60% 30%,#0b2238 0%,#071727 80%)}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button,select,input,textarea,.button{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:12px 16px}button:hover,.button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1{font-size:44px;letter-spacing:-1.2px;line-height:1.12}h2{font-size:25px;letter-spacing:-.6px;line-height:1.2}h3{font-size:18px;line-height:1.3}p{line-height:1.5}small,.muted{color:var(--muted)}.icon{width:25px;height:25px;flex-shrink:0;vertical-align:middle}.tile-icon{width:62px;height:66px;border-radius:19px;background:linear-gradient(130deg,#ff3448,#f31530);display:grid;place-items:center;color:white;flex-shrink:0;box-shadow:inset 0 1px 1px #ff8394}.tile-icon.blue{background:linear-gradient(135deg,#355a81,#2b4665);box-shadow:none}.tile-icon .icon{width:34px;height:34px}.demo-bar{padding:7px 20px;text-align:center;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted)}.demo-bar span{letter-spacing:0;font-weight:400;margin-left:12px}.shell{max-width:1600px;margin:auto;padding:12px 32px 0}.workspace{min-width:0}header{display:flex;align-items:center;gap:24px;border:1px solid var(--line);border-radius:15px;padding:12px 20px;background:var(--bg);min-height:78px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand b{font-size:21px;letter-spacing:-.4px}.marks{display:flex;gap:5px;align-items:center}.toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.toolbar select{max-width:116px;padding:10px 6px;font-size:13px;background:transparent;border-color:transparent}.icon-button{font-size:22px;padding:6px 10px;height:40px;min-width:40px}.notification-button{display:none}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}#nav{display:flex;align-items:center;gap:22px;flex:1;justify-content:center}#nav a{position:relative;display:flex;gap:9px;align-items:center;padding:14px 0;color:var(--muted);font-size:14px;white-space:nowrap}#nav a .icon{width:25px;height:25px}#nav a.active{color:var(--accent);font-weight:bold}#nav a.active:after{content:'';position:absolute;bottom:2px;height:4px;background:var(--accent);border-radius:5px;left:0;right:0}#bottom-nav{display:none}main{padding:30px 0;min-height:70vh}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-heading p{color:var(--muted);margin-top:8px;font-size:18px}.child-picker{display:flex;gap:14px;align-items:center;min-width:280px;background:var(--surface);border:1px solid var(--line);padding:10px 14px;border-radius:14px}.child-picker select{border:0;background:transparent;flex:1;min-width:0;font-weight:bold;font-size:18px;padding:6px}.avatar{border-radius:50%;background:linear-gradient(130deg,#365d86,#203c59);color:#e9f4ff;width:46px;height:46px;display:grid;place-items:center;flex-shrink:0}.avatar .icon{width:26px;height:26px;fill:currentColor}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-width:0}.dark .card{background:linear-gradient(110deg,#10273e,#132b43)}.card p{color:var(--muted)}.card-top{display:flex;align-items:center;gap:20px;margin-bottom:20px}.card-top>:last-child{margin-left:auto}.card-top>div{flex:1}.badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;font-size:.75rem;font-weight:700;border-radius:999px;min-height:2em;padding:.25em .65em;border:1px solid var(--line);background:var(--bg);line-height:1.4;max-width:100%;overflow-wrap:anywhere}.badge.red{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.badge.green{background:var(--success-bg);color:var(--success);border-color:var(--success)}.event-card{padding:20px}.event-link{display:flex;align-items:center;gap:18px;width:100%;background:transparent;border:0;padding:0;text-align:left}.event-link>span:nth-child(2){flex:1}.event-link h2{font-size:22px}.event-link p{margin-top:6px;font-size:16px}.event-link>.icon{width:20px}.event-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:18px;margin-top:18px;border-top:1px solid var(--line);gap:14px}.event-metrics>div+div{border-left:1px solid var(--line);padding-left:20px}.event-metrics small{display:block;font-size:14px}.event-metrics strong{display:block;font-size:25px;margin-top:6px;letter-spacing:-.5px}.event-card>.badge{margin-top:12px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px}.section-title.first{margin-top:0}.text-button{padding:3px;border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:500}.text-button:hover{color:var(--accent)}.quick-links{margin-top:18px}.quick-link{display:flex;align-items:center;gap:20px}.quick-link>div{flex:1}.quick-link>.icon:first-child{width:34px;height:34px}.quick-link>.icon:last-child{width:18px}.quick-link p{margin-top:8px;font-size:14px}.unread-dot{display:inline-block;width:11px;height:11px;background:var(--accent);border-radius:50%;margin-left:6px}.payment-link{display:flex;align-items:center;gap:18px;margin-top:18px;padding:20px 24px}.payment-link>div{flex:1}.payment-link p{margin-top:6px}.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:bold}.primary:hover{filter:brightness(1.1)}.button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;font-weight:bold}.button .icon:last-child{margin-left:auto}.wide{width:100%;margin-top:18px}.actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.actions>*{flex:1}.detail-line{display:flex;align-items:flex-start;gap:16px;margin:20px 0;line-height:1.5}.detail-line>.icon{width:28px;height:28px;color:var(--muted)}.detail-line .symbol{color:var(--accent)}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row>div{flex:1}.row p{font-size:14px;margin-top:5px}.row strong{display:block}.news-card{padding:0;overflow:hidden}.news-visual{height:190px;background-size:cover;background-position:50% 47%;max-width:100%;display:none}.news-copy{padding:22px}.news-copy h3{font-size:22px}.news-copy .text-button{display:block;margin-top:15px}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.overview-stats .card{display:flex;align-items:center;gap:20px;padding:22px}.overview-stats .card>div{flex:1}.overview-stats b{display:block;font-size:48px;letter-spacing:-1px;margin-top:8px}.overview-stats h3{font-size:19px}.overview-stats>.card>.icon{width:18px}.overview-grid{grid-template-columns:1.18fr 1fr}.attention-row{display:flex;gap:22px;align-items:center;background:var(--surface-2);padding:8px;border:1px solid var(--line);border-radius:10px;margin-top:10px}.attention-row:first-of-type{margin-top:20px}.attention-row .tile-icon{width:55px;height:55px;border-radius:15px}.attention-row strong{font-size:32px}.attention-row>span:not(.tile-icon){flex:1;font-size:16px}.attention-row>.icon{width:16px;margin-right:6px}.schedule-row{display:flex;width:100%;align-items:center;gap:18px;text-align:left;padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.schedule-row>strong{font-size:22px;padding-right:20px;border-right:1px solid var(--line)}.schedule-row>div{flex:1}.schedule-row p{font-size:13px;margin-top:5px}.team-dot{width:18px;height:18px;border-radius:50%;background:#2c80de;flex-shrink:0}.team-dot.red{background:var(--accent)}.team-dot.white{background:#ecf2fb}.overview-shortcuts{margin-top:18px}.overview-shortcuts .card{padding:22px 18px}.overview-shortcuts h2{font-size:22px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;align-items:flex-start;gap:20px}.stat b{display:block;font-size:42px;letter-spacing:-1px;margin:10px 0}.stat small{font-size:13px;line-height:1.5}.stat .tile-icon{width:55px;height:64px;border-radius:18px}.notice{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:14px;line-height:1.6;margin:18px 0;color:var(--muted)}.table-wrap{overflow:auto;margin-top:18px;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th,td{padding:16px 18px;border-bottom:1px solid var(--line);font-size:15px}th{font-size:14px;color:var(--muted);background:var(--surface-2)}tr:last-child td{border-bottom:0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chip{font-size:13px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:8px 10px}.coach-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}.stack{display:flex;flex-direction:column;gap:20px}.practice-detail .event-metrics{grid-template-columns:1fr 1fr;border:0;padding:0;margin:30px 0}.practice-detail .event-metrics strong{font-size:42px}.attendance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.attendance-stats .card{padding:20px}.attendance-stats b{font-size:42px;display:block;margin-top:12px}.bring-panel{display:flex;gap:18px;align-items:center}.bring-panel>div{flex:1}.bring-panel h2{font-size:23px}.bring-panel p{margin-top:8px}.bring-panel button{font-size:13px}.date-block{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;min-width:60px;text-align:center;padding:10px}.date-block b{font-size:25px;display:block}.date-block span{text-transform:uppercase;font-size:11px;color:var(--muted)}.calendar-list .row{align-items:flex-start}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:20px 0}.week-strip button{padding:12px 4px}.week-strip b{display:block;margin-top:10px;font-size:23px}.week-strip button.active{background:var(--accent);color:white;border-color:var(--accent)}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:20px}.calendar-controls>div{display:flex;gap:8px}.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.conversation{padding:0;overflow:hidden}.chat-top{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.messages{min-height:290px;max-height:420px;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.bubble{max-width:85%;padding:16px;background:var(--surface-2);border-radius:14px;overflow-wrap:anywhere;font-size:15px;border:1px solid var(--line)}.bubble.mine{align-self:flex-end}.bubble small{display:block;font-size:12px;margin-bottom:8px}.system{text-align:center;font-size:12px;color:var(--muted);line-height:1.6}.composer{display:flex;gap:10px;padding:20px;border-top:1px solid var(--line)}.composer input{flex:1;min-width:0}.inbox-item{width:100%;text-align:left;display:flex;gap:20px;margin-bottom:16px}.inbox-item p{margin-top:12px;font-size:16px;line-height:1.6}.inbox-item .tile-icon{width:56px;height:58px}.inbox-item>span:last-child{flex:1}.inbox-item h3{font-size:22px}.inbox-sender{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:18px;color:var(--muted);font-size:13px}.club-registration h2{margin:0 0 8px}.club-registration>.card-top{align-items:flex-start}.club-registration .primary{min-height:48px}.payment-filters{display:flex;gap:16px;margin-bottom:24px}.payment-filters select{min-width:180px}.payment-support{margin-top:20px}.payment-support .card{display:flex;gap:20px;align-items:flex-start}.payment-support p{margin-top:8px}.body-copy{margin:14px 0}.empty{padding:32px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:20px;padding:24px;width:min(540px,calc(100% - 28px));max-height:92dvh;box-shadow:0 24px 80px #0005}dialog::backdrop{background:#020d1bc9;backdrop-filter:blur(3px)}dialog .card-top{margin-bottom:24px}dialog h2{font-size:25px}dialog label{display:block;font-size:14px;margin:18px 0 8px}dialog textarea{width:100%;min-height:100px;resize:vertical}dialog .match-card{margin-top:14px}dialog .match-card .event-metrics{grid-template-columns:1fr 1fr}dialog .match-card strong{font-size:34px}dialog .match-card .card-top{margin-bottom:0}dialog .going{background:#13b876;color:#fff;border-color:#13b876}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);border-radius:12px;background:var(--surface-2);color:var(--text);border:1px solid var(--line);padding:16px 22px;box-shadow:0 6px 30px #0003;z-index:10;display:none;line-height:1.5;font-size:14px}footer{padding:22px 4px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;line-height:1.6}footer .text-button{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1350px){header{gap:16px;padding:10px 14px}.brand b{font-size:18px}.marks{gap:2px}#nav{gap:17px}#nav a{font-size:12px;gap:6px}#nav a .icon{width:21px}.toolbar{gap:3px}.toolbar select{max-width:94px;font-size:12px}.overview-stats .card{gap:14px;padding:18px}.overview-stats .tile-icon{width:50px;height:58px}.stat{gap:14px;padding:18px}.stat .tile-icon{width:45px;height:54px}.stat b{font-size:36px}.bring-panel{flex-wrap:wrap}}@media(max-width:1100px){.shell{padding:10px 22px 0}header{flex-wrap:wrap}.brand b{font-size:22px}#nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line)}#nav a{font-size:14px}.toolbar select{max-width:120px}.page-heading{align-items:flex-start}.page-heading h1{font-size:36px}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr 1fr}.overview-shortcuts.grid.three{grid-template-columns:1fr}.coach-layout{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr}.chat-contacts{display:none}.quick-link{gap:14px}.event-metrics strong{font-size:22px}.event-metrics>div+div{padding-left:12px}.payment-filters{flex-wrap:wrap}.attention-row{gap:12px}.attention-row>span:not(.tile-icon){font-size:14px}.schedule-row{gap:12px}.schedule-row>strong{font-size:18px;padding-right:12px}}@media(max-width:700px){body{padding-bottom:84px}.demo-bar{padding:7px 12px;font-size:9px;letter-spacing:.5px}.demo-bar span{margin-left:6px;font-size:9px}.shell{padding:0 18px}header{padding:12px 0;border:0;border-radius:0;gap:8px;min-height:65px;flex-wrap:nowrap;background:transparent}.brand{gap:8px;min-width:0}.brand b{font-size:15px;white-space:nowrap;letter-spacing:-.3px}.marks{gap:1px}.toolbar{gap:4px}.toolbar select{width:72px;max-width:72px;font-size:10px;padding:4px 0}.icon-button{font-size:18px;min-width:28px;width:28px;height:30px;padding:3px;border:0;background:transparent}.notification-button{display:none}#nav{display:none}#bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;height:78px;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:16px 16px 0 0;background:var(--bg);justify-content:space-around;box-shadow:0 -8px 20px #0001}#bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--muted);min-width:64px;padding-bottom:6px}#bottom-nav .icon{width:25px;height:25px}#bottom-nav a.active{color:var(--accent);font-weight:bold}#bottom-nav a.active:after{content:'';height:3px;position:absolute;bottom:0;left:2px;right:2px;background:var(--accent);border-radius:4px}main{padding:8px 0 24px;min-height:65vh}.page-heading{display:block;margin-bottom:16px}.page-heading h1{font-size:29px;letter-spacing:-.7px}.page-heading p{font-size:14px;margin-top:7px}.child-picker{margin-top:12px;min-width:0;width:100%;padding:8px 10px;gap:12px;border-radius:13px}.child-picker .avatar{width:40px;height:40px}.child-picker select{font-size:16px}.section-title{margin:22px 0 12px}.section-title.first{margin-top:0}.section-title h2{font-size:20px}.section-title .text-button{font-size:12px}.grid,.grid.three,.overview-grid{grid-template-columns:1fr;gap:12px}.events-grid{gap:12px}.card{padding:16px;border-radius:14px}.event-link{gap:12px}.event-link .tile-icon{width:46px;height:48px;border-radius:13px}.event-link .tile-icon .icon{width:28px;height:28px}.event-link h2{font-size:18px;letter-spacing:-.3px}.event-link p{font-size:13px;margin-top:5px}.event-link>.icon{width:15px}.event-metrics{gap:8px;padding-top:13px;margin-top:13px}.event-metrics small{font-size:12px}.event-metrics strong{font-size:19px;margin-top:5px;letter-spacing:-.3px}.event-metrics>div+div{padding-left:10px}.quick-links{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.quick-link{gap:10px;flex-wrap:wrap;padding:15px}.quick-link>div{min-width:0}.quick-link>div h3{font-size:16px}.quick-link p{font-size:12px;line-height:1.5;margin-top:7px}.quick-link>.icon:first-child{width:25px;height:25px}.quick-links .quick-link>.icon:last-child{display:none}.payment-link{margin-top:12px;padding:15px;gap:11px;flex-wrap:wrap}.payment-link>div{flex:1;min-width:140px}.payment-link h3{font-size:14px}.payment-link p{font-size:12px}.payment-link>.icon:last-child{display:none}.news-copy{padding:0}.news-copy h3{font-size:19px}.news-copy p{font-size:13px}.overview-stats{gap:10px;margin-bottom:14px}.overview-stats .card{padding:15px;gap:12px;flex-wrap:wrap}.overview-stats .tile-icon{width:40px;height:44px;border-radius:12px}.overview-stats .tile-icon .icon{width:25px;height:25px}.overview-stats b{font-size:32px;margin-top:5px}.overview-stats h3{font-size:14px}.overview-stats>.card>.icon{display:none}.overview-grid h2{font-size:23px}.attention-row{gap:12px}.attention-row strong{font-size:26px}.attention-row .tile-icon{width:43px;height:45px;border-radius:13px}.attention-row .tile-icon .icon{width:27px;height:27px}.attention-row>span:not(.tile-icon){font-size:13px}.overview-shortcuts{margin-top:14px}.overview-shortcuts .quick-link{flex-wrap:nowrap}.overview-shortcuts .tile-icon{width:48px;height:52px;border-radius:14px}.overview-shortcuts h2{font-size:20px}.overview-shortcuts p{font-size:13px}.stat-grid{gap:10px}.stat{padding:14px;gap:10px;flex-direction:column}.stat .tile-icon{width:40px;height:42px;border-radius:12px}.stat .tile-icon .icon{width:26px;height:26px}.stat h3{font-size:16px}.stat b{font-size:32px;margin:8px 0}.stat small{font-size:11px}.notice{padding:14px;font-size:12px}.card-top{gap:12px;margin-bottom:16px}.card-top h2{font-size:22px}.card-top .tile-icon{width:48px;height:52px;border-radius:13px}.practice-detail .event-metrics strong{font-size:36px}.attendance-stats{gap:8px}.attendance-stats .card{padding:12px}.attendance-stats b{font-size:32px}.bring-panel .tile-icon{width:48px;height:52px;border-radius:14px}.bring-panel h2{font-size:21px}.bring-panel p{font-size:14px}.bring-panel button{width:100%}.chat-top{flex-wrap:wrap;padding:16px}.chat-top h3{font-size:17px}.messages{padding:16px;min-height:250px;max-height:360px}.bubble{padding:14px;font-size:14px}.composer{padding:12px;gap:8px}.composer button{font-size:12px;padding:10px}.composer input{font-size:14px;padding:10px}.inbox-item{gap:12px;padding:16px}.inbox-item h3{font-size:19px;margin-top:0!important}.inbox-item .tile-icon{width:42px;height:45px;border-radius:12px}.inbox-item .tile-icon .icon{width:25px;height:25px}.inbox-item p{font-size:14px}.inbox-sender{font-size:11px;gap:8px}.payment-filters{gap:8px;margin:16px 0}.payment-filters select{min-width:0;flex:1;padding:10px;font-size:12px}.payment-support .card{padding:16px;gap:14px}.payment-support .tile-icon{width:45px;height:50px;border-radius:12px}.payment-support h2{font-size:21px}.payment-support p{font-size:13px}.week-strip{gap:5px}.week-strip button{font-size:10px;padding:10px 2px;border-radius:9px}.week-strip b{font-size:20px;margin-top:8px}.calendar-controls h2{font-size:21px}.calendar-controls button{padding:6px 10px}.calendar-controls .icon{width:16px}.calendar-list .row{gap:12px}.calendar-list h3{font-size:17px}.body-copy{font-size:14px}.actions{gap:10px}.actions>*{min-width:110px}dialog{padding:18px;max-height:92dvh}dialog .card{padding:16px}dialog .card-top h2{font-size:22px}dialog .match-card strong{font-size:29px}dialog .actions button{font-size:14px;padding:12px 10px}.button{font-size:14px}.text-button{font-size:12px}footer{padding:16px 0;display:block;font-size:10px}footer>span{display:block;margin-bottom:8px}footer .text-button{font-size:10px}#toast{bottom:90px;font-size:12px;padding:12px 16px}}

/* Exact field-photo viewport from the user-supplied communication mockup. */
.news-visual{display:block;height:auto;aspect-ratio:429/153;background-image:url(/club/assets/communication-reference.png);background-size:358.042% auto;background-position:95.2123% 25.4879%;border-bottom:1px solid var(--line)}
@media(max-width:700px){.news-card{padding:0}.news-copy{padding:16px}}
.team-dot{display:inline-block;vertical-align:middle}.badge.pending{color:#ffc94e;border-color:#bc8c20;background:#463917}.dark .badge.pending{background:#293324}dialog .detail-line{margin:8px 0}dialog .match-card{margin-top:12px}dialog .match-card .wide{margin-top:12px}dialog .body-copy{margin:10px 0;font-size:12px}

.contact-president{display:flex;align-items:center;gap:18px;text-align:left;width:100%;margin-bottom:20px}.contact-president>span:nth-child(2){flex:1}.contact-president p{margin-top:5px}.contact-president small{font-size:11px}.contact-president>.icon{width:18px}@media(max-width:700px){.contact-president{gap:12px}.contact-president .tile-icon{width:46px;height:50px;border-radius:14px}.contact-president h3{font-size:18px}.contact-president p{font-size:13px}}

/* Shared with the public site v9: applied only to this application. */
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;--action:#df1437;--radius:14px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:20px;--space-5:24px;--space-6:32px;--space-7:36px;--space-8:48px}
body.dark{--accent:#ff243e;--action:#df1437;--bg:#071a2d;--surface:#10283f;--surface-2:#18334e;--text:#f6f8ff;--muted:#b5cee9;--line:#264864}
h1,h2,h3{font-weight:750}.page-heading h1{font-size:clamp(29px,4vw,44px)}p,.card p{line-height:1.6}.card,.stat{border-radius:14px}.primary{background:var(--action);border-color:var(--action)}.marks img{display:block;object-fit:contain;height:49px;width:auto}.marks{gap:8px}button,select,.button,.icon-button{min-height:44px}.icon-button{min-width:44px}.text-button{display:inline-flex;align-items:center}dialog .going{background:#08794e;border-color:#08794e}.toolbar select{font-weight:600}.section-title h2{font-size:clamp(24px,2.5vw,32px)}.news-copy h3{font-size:clamp(20px,2vw,27px)}
@media(max-width:1350px){.marks img{height:40px}.marks{gap:6px}}
@media(max-width:700px){.shell{padding-left:16px;padding-right:16px}.marks img{height:33px}.marks{gap:4px}.toolbar select{max-width:68px;width:68px}.brand b{font-size:14px}.toolbar{gap:0}.icon-button{padding:5px}.section-title h2{font-size:24px}.brand{gap:6px}.page-heading{margin-bottom:16px}}
@media(max-width:360px){header{flex-wrap:wrap}.toolbar{width:100%;justify-content:flex-end}.toolbar select{width:100px;max-width:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* API-connected UI; shared v9 palette and type tokens above remain unchanged. */
.login-card{max-width:620px;margin:36px auto}.login-card input,#edit-form input:not([type=checkbox]),#edit-form textarea,#edit-form select{width:100%}.login-card label,#edit-form label{display:block;margin:16px 0 8px;font-size:14px}.login-card h1{font-size:32px}#account-label{font-size:12px;max-width:120px;overflow-wrap:anywhere}#logout{white-space:nowrap}#form-error,#login-error{color:var(--accent);font-size:14px;margin-top:16px}.thread-choice{display:block;width:100%;text-align:left;margin-top:12px}.thread-choice.active{border-color:var(--accent)}.pending-invitations{padding:0 16px}.builder-field{border:1px solid var(--line);border-radius:14px;margin-top:20px;padding:16px}.builder-field input,.builder-field textarea,.builder-field select{display:block;width:100%}.builder-field input[type=checkbox]{width:auto;display:inline}.event-metrics .event-status{font-size:18px}.thread-list{max-height:640px;overflow:auto}#nav{gap:14px}#nav a{font-size:12px;gap:6px}#nav a .icon{width:20px}.chat-layout{grid-template-columns:280px minmax(0,1fr)}.messages{white-space:pre-wrap}.news-copy p{white-space:pre-wrap}#edit-form select[multiple]{min-height:110px}.table-wrap .text-button{white-space:nowrap}
@media(max-width:1350px){header{flex-wrap:wrap}#nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line)}.toolbar{margin-left:auto}}
@media(max-width:700px){.chat-layout{grid-template-columns:1fr}.thread-list{max-height:220px;margin-bottom:14px}.thread-list h2{font-size:21px}.toolbar{gap:0}#account-label{max-width:70px;font-size:10px}#logout{font-size:10px;padding:2px}.brand b{font-size:13px}header{flex-wrap:wrap}.toolbar{margin-left:auto}#nav{display:none}.login-card{margin:12px 0}.event-metrics .event-status{font-size:14px}.event-metrics strong{font-size:18px}.stat b{font-size:28px}.contact-president{margin-top:8px}.composer button{max-width:105px}.builder-field{padding:12px}}
.team-switch{display:flex;gap:16px;align-items:center;margin-bottom:24px}.team-switch label{font-size:14px;color:var(--muted)}@media(max-width:700px){.team-switch{flex-wrap:wrap;gap:8px}.team-switch select{flex:1}.team-switch .primary{width:100%}}
/* Keep both event times readable in narrow Matchday dialogs. */
@media(max-width:700px){dialog .event-metrics strong{font-size:clamp(18px,5.5vw,24px);white-space:nowrap}}
.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:16px}.week-days button{display:grid;gap:4px;padding:12px 4px}.week-days strong{font-size:22px}.week-days .selected strong{background:var(--accent);color:white;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;margin:auto}.calendar-list-heading,.records-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0}.records-heading input{max-width:330px;min-width:0}.event-page{max-width:900px;margin:auto}.event-page .match-card{margin:16px 0}.event-page .event-metrics strong{white-space:nowrap}.payment-link{display:flex;align-items:center;gap:16px}.payment-link>div{flex:1}.rsvp-stat{display:flex;align-items:center;gap:16px}.rsvp-stat h3{font-size:17px}.rsvp-stat b{font-size:40px}.rsvp-stat .tile-icon{width:50px;height:54px}.attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.rsvp-stat{padding:16px;gap:8px}.rsvp-stat .tile-icon{width:40px;height:44px}.rsvp-stat h3{font-size:14px}}
@media(max-width:700px){.week-days{gap:5px}.week-days button{font-size:12px;padding:8px 2px}.week-days strong{font-size:18px}.week-days .selected strong{width:29px;height:29px}.event-page .event-metrics strong{font-size:clamp(19px,6vw,28px)}.event-page .page-heading{margin-top:16px}.payment-link{gap:10px}.payment-link h3{font-size:15px}.payment-link p{font-size:13px}.records-heading{align-items:stretch;flex-direction:column}.records-heading input{max-width:none}.rsvp-stat{flex-direction:column;align-items:flex-start}.rsvp-stat b{font-size:30px}}
.event-title{display:flex;align-items:center;gap:12px}.event-title h1{font-size:28px}.event-page .page-heading h1{display:none}.event-page .page-heading{margin:16px 0}.event-page .match-card .wide{margin-top:12px}.event-page>.actions{margin-top:12px}
@media(max-width:700px){.event-view header .toolbar{display:none}.event-view header{padding:8px 0;margin-bottom:8px;min-height:48px}.event-view #app{padding-top:0}.event-title h1{font-size:22px}.event-title .icon-button{padding:8px}.event-page .page-heading{margin:8px 0}.event-page .child-picker{padding:8px 12px}.event-page .match-card{padding:14px;margin:10px 0}.event-page .match-card h2{font-size:20px}.event-page .match-card h3{font-size:16px}.event-page .match-card p{font-size:14px}.event-page .match-card .event-metrics{margin-top:12px;padding-top:12px}.event-page .match-card .tile-icon{width:44px;height:48px}.event-page .match-card .wide{padding:10px;margin-top:8px}.event-page>.body-copy{margin:8px 0;font-size:12px}.event-page>.actions{margin-top:8px}}
.event-page .match-card .event-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Matchday RSVP lives outside dialog; only its affirmative action is green. */
.event-page > .actions > button.going{background:#08794e;color:#fff;border-color:#08794e}
.event-page > .actions > button.going[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #fff}
.news-compact{display:flex;gap:16px;align-items:flex-start}.news-thumb{width:72px;height:72px;flex:0 0 72px;object-fit:cover;border-radius:10px;background:var(--surface-2);display:grid;place-items:center}.news-compact h3{margin-bottom:6px}.news-compact p{font-size:14px;margin-bottom:8px}.president-shortcut{font-size:14px;margin-bottom:8px}.notification-nudge{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-nudge p{font-size:14px}.messages .bubble{line-height:1.6;overflow-wrap:anywhere}.messages .bubble small{display:block;margin-bottom:6px}.chat-top{gap:16px}.chat-top h3{line-height:1.4}
@media(max-width:700px){.notification-nudge{align-items:flex-start;flex-direction:column}.news-thumb{width:56px;height:56px;flex-basis:56px}.news-compact{gap:12px}.chat-top{flex-wrap:wrap}.chat-top .text-button{margin-left:auto}}

.chat-actions{align-items:center;margin-top:12px}.chat-actions .president-shortcut{flex:0 0 auto;margin:0;padding:10px}.chat-layout{gap:16px}

.payment-status-note{display:block;margin-top:4px;font-size:12px;white-space:nowrap}.payment-status .badge{white-space:nowrap}
/* Team/family controls retain existing tokens and spacing. */
.attendance-row{padding:16px 0;border-bottom:1px solid var(--line)}
.attendance-row .actions{flex-wrap:wrap;margin-top:12px}
#nav{flex-wrap:wrap;column-gap:14px;row-gap:0}
#nav a{padding:8px 0}
details>summary{cursor:pointer;font-weight:700}
@media(max-width:700px){.row .actions{flex-wrap:wrap}.attendance-row .actions button{flex:1;min-width:105px}.row{flex-wrap:wrap}}
.builder-section,.form-definition fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:20px 0;padding:16px}
.form-definition label{display:block;margin:14px 0}.form-definition input:not([type=checkbox]),.form-definition select{width:100%;display:block;margin-top:6px}
.form-definition [hidden]{display:none!important}.preview-stage{overflow:auto;padding:16px 0}.preview-canvas{max-width:100%;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:auto}
dialog.preview-mode{width:min(960px,95vw);max-width:95vw}.registration-filters label{min-width:0}.registration-filters input,.registration-filters select{width:100%;display:block}

.conversations-back{display:none}@media(max-width:700px){.conversation-open .thread-list{display:none}.conversation-open .conversations-back{display:inline-flex}.conversation-open .chat-top{flex-wrap:wrap}}

@media(max-width:700px){body.chat-conversation .chat-directory,body.chat-conversation .chat-actions{display:none}body.chat-conversation .messages{min-height:140px;max-height:35vh}}

.builder-field [hidden]{display:none!important}
.form-definition input[type=radio]{width:auto;display:inline-block;margin:0 8px 0 0}.form-definition textarea{display:block;width:100%;margin-top:6px}
.registration-advanced{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.registration-advanced summary{cursor:pointer;line-height:1.5}.live-question-preview{margin-top:24px;padding:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.live-question-preview input:disabled,.live-question-preview textarea:disabled,.live-question-preview select:disabled{opacity:1;color:var(--text)}
#new-category-name[hidden]{display:none!important}.payment-filters label{display:flex;flex-direction:column;gap:6px;min-width:160px;flex:1}.payment-filters{flex-wrap:wrap}

/* Club sign-in: existing theme tokens, no separate authentication flow. */
.signed-out .notification-button,.signed-out #account-label,.signed-out footer{display:none}
.signed-out #app{padding-top:0}.signed-out header{max-width:1180px;margin:auto}
.login-layout{max-width:1080px;margin:72px auto 64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:72px}
.login-eyebrow{display:block;color:var(--muted);font-size:13px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;margin-bottom:20px}
.login-intro h1{font-size:clamp(38px,4.3vw,60px);line-height:1.08;letter-spacing:-1.8px}
.login-intro>p{color:var(--muted);font-size:17px;max-width:390px;margin:24px 0}
.login-benefits{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:18px;font-size:15px}
.login-benefits li{display:flex;align-items:center;gap:14px}.login-benefits .icon{color:var(--accent);width:22px;height:22px}
.login-layout .login-card{width:100%;margin:0;padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}
.login-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:28px}.login-card-heading .tile-icon{width:52px;height:56px;border-radius:14px}.login-card-heading .icon{width:28px;height:28px}
.login-card-heading h2{font-size:27px}.login-card-heading p{font-size:14px;color:var(--muted);margin-top:6px}
.login-card label{font-weight:600}.login-card input{min-height:48px;font-size:16px;background:var(--bg)}
.login-submit{margin-top:24px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px}
.login-submit .icon{width:19px;height:19px}.login-help{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:13px;line-height:1.6;color:var(--muted)}
.login-card #login-error:empty{display:none}.login-card #login-error:not(:empty){padding:12px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft);line-height:1.5}
@media(max-width:800px){.login-layout{gap:32px;margin:40px auto}.login-intro h1{font-size:40px}.login-layout .login-card{padding:24px}}
@media(max-width:600px){.login-layout{grid-template-columns:1fr;gap:24px;margin:28px auto 32px}.login-intro h1{font-size:34px;letter-spacing:-1px}.login-intro h1 br{display:none}.login-intro h1 br:after{content:' '}.login-intro>p{font-size:14px;margin:12px 0 0;max-width:none}.login-eyebrow{font-size:11px;margin-bottom:10px}.login-benefits{display:none}.login-layout .login-card{padding:24px}.login-card-heading{margin-bottom:22px}.login-card-heading h2{font-size:25px}.signed-out .shell{padding-bottom:16px}}
.install-help-button{font-size:12px;max-width:130px;line-height:1.4}.install-tip{max-width:1080px;margin:20px auto 0;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;align-items:center;gap:16px}.install-tip[hidden]{display:none}.install-tip>div{flex:1}.install-tip p{font-size:13px;color:var(--muted);margin-top:4px}.install-tip button{font-size:13px}.install-guide{max-width:520px}.install-guide p{margin-top:18px;line-height:1.6}.install-guide .muted{font-size:13px}.install-guide .actions{margin-top:24px}@media(max-width:600px){.install-tip{flex-wrap:wrap;padding:16px;gap:10px}.install-tip>div{flex-basis:100%}.install-help-button{font-size:11px;max-width:110px;padding:8px}.login-intro h1 br{display:initial}.login-intro h1{font-size:34px}}

#logout[hidden],.install-help-button[hidden],#install-native[hidden]{display:none!important}

/* Account recovery and registration use the existing sign-in tokens. */
#recovery-error,#registration-error,#pending-error{color:var(--red);overflow-wrap:anywhere}.registration-child{min-width:0;margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:12px}.registration-child input,.registration-child select{width:100%;box-sizing:border-box}

/* Stable mobile navigation: the safe area adds height, never steals label space. */
@media(max-width:600px){
 #bottom-nav{height:auto;min-height:calc(78px + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)));padding:8px 12px calc(8px + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)));align-items:stretch}
 #bottom-nav a{min-height:60px;min-width:0;flex:1;padding:4px 2px 10px;line-height:1.25}
 #bottom-nav a.active:after{bottom:0;left:12px;right:12px}
 .shell{padding-bottom:calc(100px + var(--safe-area-bottom,env(safe-area-inset-bottom,0px)))}
 .composer input{font-size:16px;min-width:0}
}

.day-event-count{min-height:1.4em;font-weight:700;color:var(--accent)}

.directions-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;text-align:center;width:100%;font-weight:600}

.coach-layout>.stack,.coach-layout .card-top>div,.coach-layout .detail-line>div{min-width:0}
.coach-layout h2,.coach-layout h3,.coach-layout p{overflow-wrap:anywhere}
@media(max-width:600px){.practice-detail .event-metrics strong{font-size:clamp(25px,7vw,36px)}}

.registration-row{align-items:flex-start;gap:16px;flex-wrap:wrap}.registration-row>div:first-child{min-width:0;flex:1 1 200px}.registration-row h3{overflow-wrap:anywhere}.registration-next{display:grid;gap:8px}.registration-next summary{cursor:pointer;color:var(--muted);padding:8px}.registration-summary{margin-bottom:16px}

/* Calendar markers: explicit 10px single event, readable multiple-event badge. */
.week-days .day-event-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin:2px auto 0;font-size:14px;line-height:1;font-weight:800;color:#fff;background:#bd1630;border-radius:11px;flex-shrink:0}
.week-days .day-event-count[data-count="0"]{background:transparent;color:transparent}
.week-days .day-event-count[data-count="1"]{background:transparent;font-size:0;color:#bd1630}
.week-days .day-event-count[data-count="1"]::before{content:"";display:block;width:10px;height:10px;border-radius:50%;background:currentColor}
.dark .week-days .day-event-count{background:#ff6b7b;color:#071a2d}
.dark .week-days .day-event-count[data-count="0"]{background:transparent;color:transparent}
.dark .week-days .day-event-count[data-count="1"]{background:transparent;color:#ff6b7b}
.week-days button.selected .day-event-count{background:#fff;color:#071a2d}
.week-days button.selected .day-event-count[data-count="1"]{background:transparent;color:var(--text)}
.week-days button.selected .day-event-count[data-count="0"]{background:transparent;color:transparent}

/* Explicit notification action; no changes to permission/subscription logic. */
.push-control{margin-top:16px;display:grid;gap:10px;min-width:0}
.push-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:32rem;min-height:48px;padding:12px 16px;background:#071a2d;color:#fff;border:2px solid #071a2d;font-weight:700;line-height:1.4;white-space:normal;text-align:center}
.push-toggle span{min-width:0;overflow-wrap:anywhere}.push-toggle .icon{width:24px;height:24px;flex:0 0 24px}
.dark .push-toggle{background:#e3edf7;color:#071a2d;border-color:#e3edf7}
.push-toggle:hover{border-color:var(--text)}.push-toggle:focus-visible{outline:3px solid var(--text);outline-offset:3px}
.push-toggle:disabled{opacity:1;cursor:wait}.push-toggle .action-pending{display:none}
.push-status{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.push-control[data-push-state="error"] .push-status{font-weight:700}

.push-diagnostics{margin-top:18px;min-width:0}.push-diagnostics summary{cursor:pointer;padding:12px 0;font-weight:700}.push-diagnostics summary:focus-visible{outline:3px solid var(--text);outline-offset:3px}.push-diagnostics dl{display:grid;gap:6px;margin:16px 0}.push-diagnostics dt{font-weight:700}.push-diagnostics dd{margin:0 0 10px;overflow-wrap:anywhere;color:var(--muted)}

/* Scoped payment cards; no checkout/network/auth behavior changes. */
.parent-payment-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.parent-payment-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--card);overflow-wrap:anywhere}
.parent-payment-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.parent-payment-card h3{margin:0}.parent-payment-card p{margin:10px 0}
.parent-payment-card dl{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.parent-payment-card dt{font-size:13px;color:var(--muted)}.parent-payment-card dd{margin:4px 0 0;font-weight:700}
.parent-payment-actions{display:grid;gap:8px}.parent-payment-actions button{min-height:48px;white-space:normal;overflow-wrap:anywhere;justify-content:center;width:100%}
.parent-payment-actions .payment-pay{background:#15385e;color:#fff;border:2px solid #15385e;font-weight:700;font-size:16px;padding:12px 16px}
body.dark .parent-payment-actions .payment-pay{background:#fff;color:#15385e;border-color:#fff}
.parent-payment-actions button:focus-visible{outline:3px solid var(--text);outline-offset:3px}

.demo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.demo-tabs button{min-height:44px;white-space:normal}.demo-banner{border:2px solid var(--text);overflow-wrap:anywhere}.demo-tabs button:focus-visible{outline:3px solid var(--text);outline-offset:3px}

/* Inbox content must shrink inside flex cards; full message remains in dialog. */
.inbox-item,.inbox-item .inbox-copy{min-width:0;max-width:100%}
.inbox-item .inbox-copy{flex:1 1 0;display:block}
.inbox-item .tile-icon{flex-shrink:0}
.inbox-item h3,.inbox-preview,.inbox-sender,.inbox-detail{overflow-wrap:anywhere;word-break:normal;min-width:0}
.inbox-item h3{white-space:normal;line-height:1.35}
.inbox-preview{white-space:normal}
.inbox-open{display:block;margin-top:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.inbox-sender{flex-wrap:wrap}
.inbox-detail{white-space:pre-wrap;line-height:1.65;max-width:100%}
#dialog-content{min-width:0}
#dialog-content>.card-top{align-items:flex-start}
#dialog-title{min-width:0;flex:1 1 0;overflow-wrap:anywhere}
#dialog-content>.card-top>[data-do="close"]{flex:0 0 44px;min-width:44px;min-height:44px;margin-left:auto}

#app-refresh-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;min-width:0}
#app-refresh-controls button{min-height:44px;max-width:100%;font:inherit;font-weight:600}
#refresh-status{flex:1 1 180px;min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:14px}

.badge.red{color:#bd102b}.dark .badge.red{color:#ff8090}
/* Shared read-only record groups: semantic rows, no implied actions. */
.record-list{list-style:none;margin:16px 0 0;padding:0}
.record-row{padding:16px 0;min-width:0;overflow-wrap:anywhere}
.record-row+.record-row{border-top:1px solid var(--line)}
.record-row:first-child{padding-top:0}.record-row:last-child{padding-bottom:0}
.record-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.record-heading>strong{min-width:0;flex:1 1 10rem;font-size:1rem;line-height:1.45;color:var(--text)}
.record-heading>.badge{flex:0 1 auto}
.record-secondary{margin-top:4px!important;font-size:.875rem;line-height:1.5!important;color:var(--muted)}
.record-values{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0 0}
.record-values>div{flex:1 1 5rem;min-width:0;overflow-wrap:anywhere}
.record-values dt{font-size:.75rem;line-height:1.5;color:var(--muted)}
.record-values dd{margin:4px 0 0;font-size:1rem;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--text)}
.record-group>h2{overflow-wrap:anywhere}.record-group .badge{white-space:normal;text-align:center}

/* Shared presentation across existing role views. No role/action/data changes. */
#app .card,#app .stack,#app .grid>*,#dialog-content .row{min-width:0}
#app .row,#dialog-content .row{gap:16px;padding-block:16px;align-items:flex-start;flex-wrap:wrap}
#app .row>div,#dialog-content .row>div{min-width:0;flex:1 1 12rem}
#app .row h3,#dialog-content .row h3{font-size:1rem;line-height:1.45;margin:0 0 6px}
#app .row p,#dialog-content .row p{line-height:1.6;margin:6px 0}
#app .row h3,#app .row p,#app .row small,#dialog-content .row h3,#dialog-content .row p{overflow-wrap:anywhere}
#app .row button,#dialog-content .row button{white-space:normal;max-width:100%;min-height:44px;overflow-wrap:anywhere}
#app .card h2,#app .card h3,#app .card p,#app .card small,.event-link>span,.event-metrics>div{min-width:0;overflow-wrap:anywhere}
#app .card-top{gap:12px;flex-wrap:wrap}#app .card-top>*{min-width:0}
#app .actions{flex-wrap:wrap;gap:8px}.event-metrics strong{overflow-wrap:anywhere}
#dialog-content>.record-values{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;margin-block:16px}
.record-table{width:100%;table-layout:fixed}.record-table th,.record-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:12px;line-height:1.5}
.record-table .cell-label{display:none}.record-table td button{white-space:normal;max-width:100%;min-height:44px}
@media(max-width:760px){
 .table-wrap:has(.record-table){overflow:visible}
 .record-table,.record-table tbody{display:block;min-width:0;width:100%}
 .record-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
 .record-table tbody tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}
 .record-table tbody tr:last-child{border-bottom:0}
 .record-table td{display:block;border:0;padding:6px 0;min-width:0;width:auto;text-align:left}
 .record-table td .cell-label{display:block;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:3px}
 .record-table td:first-child{font-weight:700;font-size:1rem}
 .record-table td[colspan]{font-weight:400}
 #app .row>button,#dialog-content .row>button{flex:0 1 auto}
}
#app .row>span,#dialog-content .row>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
#dialog-content button{white-space:normal;overflow-wrap:anywhere;max-width:100%;min-height:44px}
#dialog-content h3,#dialog-content p,#dialog-content small{overflow-wrap:anywhere;min-width:0}
#app .body-copy{min-width:0;overflow-wrap:anywhere}
#app button,#app .button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
#app h1,#app .page-heading>div,#app .event-title>h1{min-width:0;overflow-wrap:anywhere}
#app .payment-filters>label,#app .payment-filters select,#app input{min-width:0;max-width:100%}
#app .event-metrics strong{white-space:normal;overflow-wrap:anywhere;min-width:0}
#app .stat,#app .stat>div{min-width:0}#app .stat h3,#app .stat b,#app .stat small{overflow-wrap:anywhere;white-space:normal}

/* Local payment search: input remains mounted while results update. */
.finance-search-bar{margin-bottom:20px}.finance-search-bar>label{display:block;font-weight:700;margin-bottom:10px}.finance-search-controls{display:flex;gap:12px;align-items:center}.finance-search-controls input{flex:1;min-width:0;min-height:48px;font:inherit}.finance-search-controls button{min-height:48px;flex:none}.finance-search-bar p{margin:10px 0 0;font-size:.875rem;line-height:1.5}@media(max-width:480px){.finance-search-controls{flex-wrap:wrap}.finance-search-controls input{flex-basis:100%}}

/* Bounded finance result set; all filters run before pagination. */
.finance-pagination{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.finance-pagination span:first-child{margin-right:auto}.finance-pagination button{min-height:44px}.finance-table-wrap td{font-variant-numeric:tabular-nums}.finance-table-wrap small{display:inline-block;margin-top:.2rem}.finance-table-wrap th{position:sticky;top:0;z-index:1;background:var(--surface,#fff)}
@media(min-width:901px){.finance-table-wrap{max-height:70vh;overflow:auto}.finance-table-wrap table{width:100%}.finance-table-wrap td,.finance-table-wrap th{padding:.65rem .5rem}.dark .finance-table-wrap th{background:#17263b}}
@media(max-width:900px){.finance-pagination{gap:.4rem}.finance-pagination span:first-child{flex-basis:100%}.finance-table-wrap .record-table td{padding-top:.35rem;padding-bottom:.35rem}}

/* LOCAL CANDIDATE: shared role shell; route visibility remains nav() policy. */
.overview-stats .card{padding:16px;gap:12px}.overview-stats b{font-size:2rem;margin-top:4px}.overview-stats h3{font-size:1rem}.overview-stats .tile-icon{width:44px;height:44px;border-radius:12px}.overview-stats .tile-icon .icon{width:24px;height:24px}
.president-workspace{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(240px,1fr);gap:20px}.president-primary,.president-secondary{min-width:0}.president-primary>.card{margin-bottom:20px}.president-primary .overview-grid{grid-template-columns:1fr}.president-workspace table td,.president-workspace table th{padding:12px 8px;font-variant-numeric:tabular-nums}.president-workspace .record-row{padding:16px 0}.president-workspace h3,.president-workspace small{overflow-wrap:anywhere}.president-workspace .records-heading{flex-wrap:wrap;gap:12px}.president-workspace .table-wrap{max-width:100%}.stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-grid .stat{padding:16px}.stat-grid .stat b{font-size:1.6rem}.stat-grid .stat h3{font-size:.95rem}
@media(min-width:1100px){.signed-in-shell .workspace{display:grid;grid-template-columns:196px minmax(0,1fr);column-gap:24px;align-items:start}.signed-in-shell header{display:contents}.signed-in-shell .brand{grid-column:1/-1;grid-row:1;min-height:84px;padding:12px 0;border-bottom:1px solid var(--line)}.signed-in-shell .toolbar{grid-column:2;grid-row:1;z-index:1;align-self:center;justify-self:end;max-width:65%;flex-wrap:wrap}.signed-in-shell #nav{grid-column:1;grid-row:2;position:sticky;top:16px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:16px 8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;max-height:calc(100vh - 32px);overflow-y:auto}.signed-in-shell #nav a{white-space:normal;min-height:44px;padding:12px;line-height:1.3;overflow-wrap:anywhere;border-radius:9px}.signed-in-shell #nav a.active{background:var(--accent);color:#fff}.signed-in-shell #nav a.active:after{display:none}.signed-in-shell main{grid-column:2;grid-row:2;padding-top:16px;min-width:0}.signed-in-shell footer{grid-column:1/-1}.signed-in-shell #role-title{position:absolute}.signed-in-shell h1{font-size:2.2rem}.signed-in-shell .page-heading{margin-bottom:20px}.signed-in-shell .card{padding:20px}}
@media(max-width:1250px){.president-workspace{grid-template-columns:minmax(0,1fr)}.president-secondary{order:2}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats .card{padding:12px;gap:8px}.overview-stats .tile-icon{width:32px;height:32px}.overview-stats .card>.icon:last-child{display:none}.president-workspace .records-heading .button{width:100%}.president-workspace .overview-grid{display:grid;grid-template-columns:minmax(0,1fr)}}

.president-secondary>.card+.card{margin-top:20px}.president-primary .attention-row{padding:10px;gap:12px}.president-primary .attention-row .tile-icon{width:40px;height:40px;border-radius:12px}.president-primary .attention-row strong{font-size:1.5rem}.president-secondary .schedule-row{flex-wrap:wrap;gap:10px}.president-secondary .schedule-row>div{min-width:0;flex:1}

.admin-catalogs>summary,.payment-history>summary{cursor:pointer;min-height:44px;padding:14px 0;font-weight:700}.admin-catalogs>summary:focus-visible,.payment-history>summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.admin-catalogs[open]>.grid{margin-top:16px}@media(min-width:1100px){.signed-in-shell #app-refresh-controls{grid-column:2;grid-row:2;min-width:0;flex-wrap:wrap}.signed-in-shell #nav{grid-row:2/4}.signed-in-shell main{grid-row:3}.signed-in-shell footer{grid-row:4}}

#panel-topbar{display:flex;align-items:center;gap:20px;min-width:0}#panel-topbar[hidden]{display:none}#panel-topbar .toolbar{min-width:0;max-width:none;justify-self:auto;flex-wrap:wrap}#account-label{font-size:.85rem;line-height:1.4;overflow-wrap:anywhere;max-width:220px}.panel-search{position:relative;flex:1;min-width:0;max-width:480px}#panel-search{width:100%;min-width:0;min-height:44px}#panel-search-results{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px;max-height:60vh;overflow-y:auto}#panel-search-results>*{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}#panel-search-results>p{font-size:.8rem;padding-bottom:8px}#panel-search-results>a,#panel-search-results>button{padding:12px;margin-top:4px;min-height:44px}#panel-menu{display:none}
@media(min-width:1100px){.signed-in-shell #panel-topbar{grid-column:2;grid-row:2;padding:12px 0}.signed-in-shell #panel-topbar .toolbar{margin-left:auto}.signed-in-shell #nav{grid-row:2/5}.signed-in-shell #app-refresh-controls{grid-row:3}.signed-in-shell main{grid-row:4}.signed-in-shell footer{grid-row:5}}
@media(max-width:1099px){.signed-in-shell header{display:flex;flex-wrap:wrap;gap:12px}.signed-in-shell #panel-topbar{width:100%;flex-wrap:wrap;gap:12px}.signed-in-shell .panel-search{max-width:none;flex-basis:100%}.signed-in-shell #panel-topbar .toolbar{width:100%;justify-content:flex-end}.signed-in-shell #panel-menu{display:block;margin-right:auto;min-height:44px}.signed-in-shell #nav{display:none;width:100%;order:3}.signed-in-shell.nav-disclosed #nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.signed-in-shell.nav-disclosed #nav a{white-space:normal;padding:12px;min-height:44px}.signed-in-shell #account-label{max-width:40%}}

.home-events{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.home-events>.empty:only-child{grid-column:1/-1}.coach-layout>.stack{align-self:stretch}.coach-layout>.stack>.card:last-child{flex:1}.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.overview-stats{grid-template-columns:1fr}.coach-layout>.stack>.card:last-child{flex:initial}}

.signed-in-shell #panel-topbar{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.signed-in-shell #nav{background:var(--surface-2)}.signed-in-shell main{background:transparent}.dark.signed-in-shell .workspace{background:#071a2d}.dark.signed-in-shell #panel-topbar,.dark.signed-in-shell #nav{background:#102e4b}.panel-search input::placeholder{color:var(--muted);opacity:1}@media(min-width:1100px){.signed-in-shell #panel-topbar{margin-top:10px}.signed-in-shell #nav{margin-top:10px}.president-primary>.overview-payment-panel{margin-top:0}.president-workspace .card{margin-top:0}}

#panel-menu[hidden],.panel-search[hidden]{display:none}

/* Single-item catalogs use available width; no empty neighboring slot. */
.club-programs,.form-catalog{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:stretch}
.club-programs>.card,.form-catalog>.card{margin-top:0}

/* Compact reference shell: one brand/search/account header, no orphan refresh row. */
.signed-in-shell #app-refresh-controls{margin:0;position:relative;flex:0 0 auto}.signed-in-shell #refresh-status:empty{display:none}.signed-in-shell #refresh-status:not(:empty){position:absolute;right:0;top:100%;z-index:21;min-width:220px;max-width:320px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.signed-in-shell footer>span:first-child{display:none}
@media(min-width:1100px){
.signed-in-shell .workspace{grid-template-columns:200px minmax(0,1fr);column-gap:20px;row-gap:0}
.signed-in-shell header{display:flex;grid-column:1/-1;grid-row:1;min-height:72px;padding:10px 16px;background:var(--surface-2);border-radius:12px;gap:24px}
.signed-in-shell .brand{min-height:0;padding:0;border:0;flex:0 0 auto}.signed-in-shell .brand b{font-size:17px}.signed-in-shell .marks img{max-height:38px;width:auto}
.signed-in-shell #panel-topbar{margin:0;padding:0;border:0;border-radius:0;flex:1;justify-content:flex-end;background:transparent;gap:12px}
.signed-in-shell #panel-topbar .panel-search{max-width:340px;flex:1}.signed-in-shell #panel-topbar .toolbar{margin:0;flex-wrap:nowrap;gap:8px}.signed-in-shell #account-label{max-width:160px;font-size:.8rem}
.signed-in-shell #nav{grid-column:1;grid-row:2;margin-top:14px;padding:10px 8px;max-height:calc(100vh - 100px)}
.signed-in-shell header>#nav{display:none}.signed-in-shell main{grid-column:2;grid-row:2;padding-top:14px}.signed-in-shell footer{grid-row:3}
.signed-in-shell h1{font-size:1.8rem}.signed-in-shell h2{font-size:1.2rem}.signed-in-shell .page-heading{margin-bottom:14px}.signed-in-shell .card{padding:16px}.signed-in-shell .stat{padding:16px}.signed-in-shell .stat-grid{gap:14px;margin-bottom:16px}.signed-in-shell .president-primary,.signed-in-shell .president-workspace{gap:16px}
}
@media(max-width:1099px){.signed-in-shell #app-refresh-controls{margin-left:auto}.signed-in-shell #panel-topbar{gap:10px}.signed-in-shell #panel-topbar .toolbar{width:auto;flex:1}.signed-in-shell #refresh-status:not(:empty){max-width:calc(100vw - 40px)}}
/* Shared desktop tracks: lower panels align to the same three KPI columns. */
@media(min-width:1251px){.signed-in-shell .overview-stats,.signed-in-shell .president-workspace{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.signed-in-shell .president-primary{grid-column:1/span 2}.signed-in-shell .president-secondary{grid-column:3}}
/* Join only the frame background; menu items retain their existing position. */
@media(min-width:1100px){.signed-in-shell header{border-bottom-left-radius:0}.signed-in-shell #nav{border-top-left-radius:0;border-top-right-radius:0;overflow:visible}.signed-in-shell #nav:before{content:'';position:absolute;left:-1px;right:-1px;top:-15px;height:15px;background:var(--surface-2);border-left:1px solid var(--line);border-right:1px solid var(--line);pointer-events:none}.dark.signed-in-shell #nav:before{background:#102e4b}}
@media(min-width:1100px){.signed-in-shell header{position:relative}.signed-in-shell #nav{overflow-y:auto}.signed-in-shell #nav:before{display:none}.signed-in-shell header:after{content:'';position:absolute;left:-1px;top:100%;width:200px;height:15px;background:var(--surface-2);border-left:1px solid var(--line);border-right:1px solid var(--line);pointer-events:none}.dark.signed-in-shell header,.dark.signed-in-shell header:after{background:#102e4b}}

/* Utilities precede search; account remains at the right edge. */
.panel-utilities{position:relative;flex:0 0 auto}#panel-tools-toggle{display:none}#panel-tools-body{display:flex;align-items:center;gap:8px}#panel-tools-body #theme{min-height:44px;min-width:44px}
@media(min-width:1100px){.signed-in-shell #panel-topbar{justify-content:flex-end}.signed-in-shell .panel-utilities{margin-right:auto}.signed-in-shell .panel-search{max-width:340px}.signed-in-shell #panel-topbar .toolbar{flex:0 1 auto}}
@media(max-width:1099px){
.signed-in-shell header{padding:12px;gap:10px}.signed-in-shell .brand{width:100%}.signed-in-shell #panel-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;border:0;background:transparent;gap:10px}
.signed-in-shell #panel-topbar .toolbar{grid-column:1/-1;grid-row:1;display:flex;width:100%;align-items:center;gap:8px;flex-wrap:wrap}
.signed-in-shell #panel-menu{margin-right:0}.signed-in-shell #account-label{max-width:none;flex:1;min-width:80px;font-size:.875rem}.signed-in-shell #logout{min-height:44px;font-size:.875rem;padding:8px}
.signed-in-shell .panel-search{grid-column:1;grid-row:2;width:100%;max-width:none}.signed-in-shell .panel-utilities{grid-column:2;grid-row:2}
#panel-tools-toggle{display:block;min-height:44px}#panel-tools-body{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:25;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);width:max-content;max-width:calc(100vw - 48px);flex-wrap:wrap}.tools-open #panel-tools-body{display:flex}
.signed-in-shell main{padding-top:18px}.signed-in-shell h1{font-size:1.75rem}.signed-in-shell .page-heading{margin-bottom:16px;gap:12px}.signed-in-shell .page-heading p{font-size:1rem}.signed-in-shell .card{padding:16px}.signed-in-shell .event-card{padding:16px}.signed-in-shell .event-card h2{font-size:1.2rem}.signed-in-shell .card-top{gap:12px}.signed-in-shell .child-picker{min-width:0;width:100%}
}
@media(max-width:600px){.signed-in-shell .payment-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:12px}.signed-in-shell .payment-filters label,.signed-in-shell .payment-filters select{min-width:0;width:100%}.signed-in-shell .record-values{grid-template-columns:minmax(0,1fr);gap:12px}.signed-in-shell .record-values>div{min-width:0}}

/* Unread indicators: render only existing counts; preserve exact accessible total. */
.signed-in-shell #nav a>.nav-unread,.signed-in-shell #panel-menu>.nav-unread{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:1.75em;height:1.75em;padding:0 .35em;border-radius:999px;background:#c8102e;color:#fff;font-size:12px;font-weight:750;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.signed-in-shell #nav a>.nav-unread{margin-left:auto}.signed-in-shell #panel-menu>.nav-unread{margin-left:6px}
.signed-in-shell #nav a>span:not(.nav-unread):not(.sr-only){min-width:0;overflow-wrap:anywhere}

@media(min-width:1100px){.signed-in-shell .panel-utilities{margin-left:auto;margin-right:0}}

#panel-account{position:relative;min-width:0}#panel-account[hidden],#account-dropdown[hidden]{display:none}#account-toggle{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:transparent;padding:4px;color:var(--text);text-align:left;max-width:100%}.account-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#355b7c;color:white;font-size:13px;font-weight:700}.account-copy{min-width:0}.account-copy strong,.account-copy small{display:block;overflow-wrap:anywhere}.account-copy strong{font-size:13px}.account-copy small{font-size:12px;line-height:1.4}#account-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:210px;max-width:calc(100vw - 40px);padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:30}#account-dropdown a,#account-dropdown button{display:flex;align-items:center;width:100%;min-height:44px;padding:10px;text-align:left;font-size:14px;background:transparent;color:var(--text);border:0}#account-dropdown a:hover,#account-dropdown button:hover{background:var(--surface-2)}#account-dropdown #logout{border-top:1px solid var(--line);border-radius:0}@media(max-width:1099px){#panel-account{margin-left:auto;flex:1;max-width:calc(100% - 100px)}#account-toggle{margin-left:auto}.account-copy strong{font-size:14px}}

#account-dropdown #theme{justify-content:space-between;gap:16px;height:auto;min-width:0}.theme-switch-track{width:36px;height:22px;flex:0 0 36px;border-radius:20px;background:#526575;position:relative}.theme-switch-track:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff}#theme[aria-checked="true"] .theme-switch-track{background:#c8102e}#theme[aria-checked="true"] .theme-switch-track:after{transform:translateX(14px)}
/* With theme in the account menu, Refresh remains directly beside search. */
@media(max-width:1099px){.signed-in-shell #panel-tools-toggle{display:none}.signed-in-shell #panel-tools-body{display:flex;position:static;padding:0;border:0;box-shadow:none;background:transparent;width:auto}.signed-in-shell #panel-tools-body #refresh-data{padding:8px;min-height:44px}.signed-in-shell #app-refresh-controls{margin:0}}

/* Audit remediation: retain the approved shell; prioritize payment summaries on narrow screens. */
.finance-table-wrap table{table-layout:auto}.finance-table-wrap td:first-child{min-width:10rem}.finance-table-wrap td:nth-child(2){min-width:12rem;max-width:22rem;overflow-wrap:anywhere}.finance-table-wrap td:nth-child(n+5):nth-child(-n+8){font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.event-venue{margin:8px 0}
@media(max-width:600px){.finance-table-wrap td:first-child,.finance-table-wrap td:nth-child(2){min-width:0;max-width:none}.finance-table-wrap tr:has(td){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:14px}.finance-table-wrap td{min-width:0;padding:0!important}.finance-table-wrap td:nth-child(1),.finance-table-wrap td:nth-child(2){grid-column:1/-1}.finance-table-wrap td:nth-child(3),.finance-table-wrap td:nth-child(4),.finance-table-wrap td:nth-child(5),.finance-table-wrap td:nth-child(6),.finance-table-wrap td:nth-child(7){display:none!important}.finance-table-wrap td:nth-child(8){text-align:left}.finance-table-wrap td:nth-child(10){grid-column:1/-1}.finance-table-wrap td[colspan]{display:block!important;grid-column:1/-1}.payment-filters{gap:8px}.finance-search-bar{margin-top:12px}}

.finance-filter-disclosure>summary{font-weight:700;cursor:pointer;padding:8px 0}.finance-filter-disclosure[open]>summary{margin-bottom:12px}@media(max-width:600px){.finance-totals-disclosure>.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finance-totals-disclosure>.stat-grid .stat{padding:12px;min-height:0}.finance-totals-disclosure>.stat-grid .stat b{font-size:1.3rem}.finance-totals-disclosure>.stat-grid .stat h3{font-size:.875rem;line-height:1.35;margin:0 0 8px}}

.finance-totals-disclosure{margin:16px 0}.finance-totals-disclosure>summary{font-weight:700;padding:12px;cursor:pointer}.finance-totals-disclosure[open]>summary{margin-bottom:8px}

/* Continuous desktop frame; retain the navigation item positions. */
@media(min-width:1100px){
.signed-in-shell #nav{margin-top:0;border-top:0;padding-top:25px}
.signed-in-shell header:after{top:auto;bottom:-1px;left:0;width:198px;height:1px;border:0}
}

/* Narrow shell: navigation, identity and account share one row. */
@media(max-width:1099px){
.signed-in-shell header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px}
.signed-in-shell #panel-topbar,.signed-in-shell #panel-topbar .toolbar{display:contents}
.signed-in-shell .brand{grid-column:2;grid-row:1;width:auto;min-width:0;gap:6px;padding:0;border:0}
.signed-in-shell .brand b{font-size:.875rem;line-height:1.2;overflow-wrap:normal}
.signed-in-shell .brand .marks{gap:4px;flex-shrink:0}
.signed-in-shell .brand .marks img{height:30px;width:auto;max-height:30px;object-fit:contain}
.signed-in-shell #panel-menu{grid-column:1;grid-row:1;min-height:44px;min-width:44px;margin:0;padding:8px;font-size:.875rem}
.signed-in-shell #panel-account{grid-column:3;grid-row:1;max-width:none;margin:0;min-width:44px}
.signed-in-shell #account-toggle{min-width:44px;min-height:44px;justify-content:center}
.signed-in-shell .account-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.signed-in-shell .panel-search{grid-column:1/3;grid-row:2;width:100%;min-width:0;max-width:none}
.signed-in-shell .panel-utilities{grid-column:3;grid-row:2;min-width:0}
.signed-in-shell #panel-tools-body{display:block;max-width:none}
.signed-in-shell #app-refresh-controls{display:flex;align-items:stretch;gap:8px;flex-wrap:nowrap}
.signed-in-shell #app-refresh-controls>button{box-sizing:border-box;min-height:44px;height:auto;width:7.25rem;min-width:0;flex:1 1 0;padding:10px 12px;border-radius:10px;font-size:.875rem;line-height:1.3;white-space:normal}
.signed-in-shell #app-refresh-controls>button[hidden]{display:none!important}
.signed-in-shell header:has(#update-app:not([hidden])) .panel-search{grid-column:1/-1}
.signed-in-shell header:has(#update-app:not([hidden])) .panel-utilities{grid-column:1/-1;grid-row:3}
.signed-in-shell header:has(#update-app:not([hidden])) #app-refresh-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.signed-in-shell header:has(#update-app:not([hidden])) #app-refresh-controls>button{width:100%;height:100%}
.signed-in-shell #refresh-status:not(:empty){right:0;min-width:0;width:min(300px,calc(100vw - 48px))}
}
@media(max-width:370px){.signed-in-shell .brand{flex-wrap:wrap;justify-content:center}.signed-in-shell .brand b{font-size:.75rem}.signed-in-shell #panel-menu>.nav-unread{margin-left:3px}}
@media(max-width:1099px){.signed-in-shell .brand{flex-wrap:wrap;justify-content:center}.signed-in-shell .brand b{white-space:normal;text-align:center}.signed-in-shell .brand .marks{display:flex}.signed-in-shell #app-refresh-controls>button{width:auto;max-width:7.25rem}}
@media(max-width:1099px){.signed-in-shell header:has(#update-app:not([hidden])) #app-refresh-controls>button{max-width:none}}
@media(min-width:601px) and (max-width:1099px){.signed-in-shell header:has(#update-app:not([hidden])) .panel-search{grid-column:1/3;grid-row:2}.signed-in-shell header:has(#update-app:not([hidden])) .panel-utilities{grid-column:3;grid-row:2}.signed-in-shell header:has(#update-app:not([hidden])) #app-refresh-controls{width:15rem;max-width:38vw}}
.roster-workspace{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:16px;align-items:start}.roster-workspace>.card{margin-top:0;min-width:0}.roster-directory label{display:block;margin-bottom:8px;font-weight:700}.roster-directory input{width:100%;min-width:0}.roster-directory #roster-count{margin:10px 0;color:var(--muted)}.roster-team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px}.roster-team-row strong,.roster-team-row small{display:block;overflow-wrap:anywhere}.roster-team-row[aria-pressed=true]{background:var(--accent-soft);border-radius:10px}.roster-team-row small{margin-top:4px;color:var(--muted)}
@media(max-width:650px){.roster-workspace{grid-template-columns:minmax(0,1fr)}.roster-directory #roster-team-list{max-height:330px;overflow:auto;scroll-padding:8px}.roster-directory #roster-team-list:focus-within{outline-offset:4px}}

/* Login utilities stay inside the viewport; theme remains a direct switch. */
body:not(.signed-in-shell) #theme{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;width:auto}
@media(max-width:1099px){body:not(.signed-in-shell) header{position:relative}body:not(.signed-in-shell) .panel-utilities{position:static}body:not(.signed-in-shell) #panel-tools-body{left:12px;right:12px;top:calc(100% + 8px);width:auto;max-width:none;box-sizing:border-box}body:not(.signed-in-shell) #app-refresh-controls{display:flex;flex-wrap:wrap;width:100%;gap:8px}body:not(.signed-in-shell) #app-refresh-controls>button{flex:1 1 0;min-width:0;min-height:44px;padding:10px 12px;white-space:normal}body:not(.signed-in-shell) .toolbar{gap:8px;flex-wrap:wrap}body:not(.signed-in-shell) .install-help-button{font-size:.875rem;min-height:44px;white-space:normal}}

.my-profile-photo{display:block;width:80px;height:80px;flex:none;margin-block:1rem .75rem;object-fit:cover;border-radius:50%}.account-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* Calendar series controls: preserve words and comfortable touch targets. */
.series-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.series-actions button{min-width:0;width:100%;word-break:normal;overflow-wrap:normal;white-space:normal}
@media(max-width:360px){.series-actions{grid-template-columns:1fr}}

.offer-state{margin-block:.7rem;padding:.7rem;border-inline-start:3px solid var(--accent,#ba2230);overflow-wrap:anywhere}.offer-state .actions{display:flex;flex-wrap:wrap;gap:.5rem}.offer-state p{margin:.35rem 0}

/* Localized controls retain readable labels at narrow widths and text zoom. */
.language-control{display:flex;align-items:center;gap:.35rem;max-width:100%;font-size:.8rem;min-width:0}
.language-control select{width:auto;min-width:6rem;max-width:100%;margin:0;padding:.4rem}
.language-control>span{white-space:normal}
#nav a span,.button,button,label,.record-values dt{overflow-wrap:anywhere}
@media(max-width:600px){.language-control>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-control select{min-width:5rem;max-width:7rem}.toolbar{flex-wrap:wrap}.week-days button{min-width:0}.week-days button span{overflow-wrap:anywhere}}

html:not(.app-ready) header,html:not(.app-ready) footer,html:not(.app-ready) .demo-bar,html:not(.app-ready) #bottom-nav{display:none!important}
.startup-copy{padding:1.5rem;margin:1rem;overflow-wrap:anywhere}.startup-copy details{padding:1rem}.startup-copy summary{cursor:pointer;font-weight:700}
