@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Work+Sans:wght@400;500;600;700&display=swap";:root{--bg: #f5f8ff;--bg-muted: #eaf0fb;--page-background: radial-gradient(circle at top left, rgba(123, 58, 163, .1), transparent 24%), radial-gradient(circle at top right, rgba(115, 214, 247, .12), transparent 22%), radial-gradient(circle at bottom center, rgba(142, 186, 51, .05), transparent 26%), linear-gradient(180deg, #fbfcff 0%, #f1f5ff 100%);--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--ink: #17245f;--ink-soft: #44507a;--navy: #17217b;--navy-deep: #0f165b;--aqua: #73d6f7;--aqua-soft: rgba(115, 214, 247, .18);--sand: #b4d047;--gold: #7b3aa3;--lime: #8eba33;--lime-deep: #5f8f1d;--danger: #9c4332;--danger-bg: #f7e4df;--success: #366b1c;--success-bg: #e5f2d6;--line: rgba(23, 36, 95, .12);--shadow: 0 22px 60px rgba(15, 22, 91, .12);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--shell: min(1880px, calc(100vw - 32px) );--site-header-height: 0px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%;background-color:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:transparent;color:var(--ink);font-family:Work Sans,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p,ul{margin:0}ul{padding-left:18px}#root{min-height:100vh;background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative;isolation:isolate;min-height:100vh;background:transparent}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--page-background);background-color:var(--bg)}.shell-width{width:var(--shell);margin:0 auto}.announcement-bar{background:linear-gradient(90deg,#0f165b,#17217b 55%,#0f165b);color:#eff8d7;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(142,186,51,.28);box-shadow:inset 0 -1px #73d6f72e}.announcement-inner{display:flex;justify-content:space-between;gap:24px;padding:12px 0;text-shadow:0 1px 0 rgba(0,0,0,.16)}.announcement-inner span{color:#eef9ff}.site-header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f9fbffd6;border-bottom:1px solid rgba(18,38,58,.08)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-logo{width:62px;height:48px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font-size:1.1rem;line-height:1.1}.brand-copy span{color:var(--ink-soft);font-size:.86rem}.menu-toggle{display:none;border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:var(--surface-strong);color:var(--ink)}.header-nav-wrap,.site-nav,.header-actions,.button-row,.badge-row,.inline-form,.inline-head{display:flex;align-items:center;gap:12px}.header-nav-wrap{flex:1;justify-content:flex-end}.site-nav{flex-wrap:wrap;justify-content:flex-end}.nav-link,.secondary-btn,.danger-btn{border:1px solid var(--line);background:#ffffffc2;color:var(--ink)}.nav-link,.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:999px;font-weight:600;transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease;cursor:pointer}.nav-link:hover,.secondary-btn:hover,.danger-btn:hover,.primary-btn:hover{transform:translateY(-1px)}.nav-link.active{background:#7b3aa31f;border-color:#7b3aa352}.primary-btn{border:1px solid transparent;background:linear-gradient(135deg,var(--gold) 0%,var(--navy) 100%);color:#fdf8ef;box-shadow:0 12px 26px #17245f3d}.secondary-btn:hover,.nav-link:hover{background:#73d6f724}.danger-btn{color:var(--danger);background:var(--danger-bg);border-color:#9c433233}.signed-in-pill{padding:10px 14px;border-radius:999px;background:#13324b14;color:var(--ink-soft);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sticky-nav{position:sticky;top:var(--site-header-height);z-index:35;padding:10px 0;background:#f5f8ffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,38,58,.08);overflow:hidden}.admin-sticky-nav-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;max-width:var(--shell);min-width:0;overflow:visible}.admin-sticky-link{flex:0 1 auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#ffffffc7;color:var(--ink);font-weight:700;font-size:.9rem;white-space:nowrap}.admin-sticky-link.active{border-color:#7b3aa357;background:#7b3aa321}.main-home,.page-wrap{padding-bottom:72px}.page-wrap{padding-top:40px}.hero-band,.section-band{padding:36px 0}.hero-layout,.page-intro,.content-grid,.split-panels,.auth-layout{display:grid;gap:24px}.hero-layout{grid-template-columns:1.4fr .9fr;align-items:stretch}.hero-copy,.season-card,.panel{border:1px solid rgba(18,38,58,.1);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow)}.hero-copy{padding:42px;background:linear-gradient(145deg,#fffffff5,#f4f7ffe6),var(--surface)}.hero-title{max-width:11ch}.season-card,.panel{padding:28px}.season-card{display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg,#17217bf5,#0f165bf2),var(--navy);color:#f7f0e5}.season-card .eyebrow,.season-card p,.season-card span{color:#f7f0e5d1}.season-line{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;border-bottom:1px solid rgba(255,248,237,.12)}.season-line strong{font-size:1.1rem;color:#fff9ef}.season-note{font-size:.94rem}.page-intro{grid-template-columns:1.5fr .9fr;align-items:start;margin-bottom:8px}.page-intro-copy,.stack-xl,.stack-md{display:flex;flex-direction:column}.page-intro-copy{gap:14px}.stack-xl{gap:24px}.stack-md{gap:16px}.page-stack{display:flex;flex-direction:column;gap:24px}.narrow-page{max-width:760px}.section-band.muted{background:#eaf0fb8f;border-top:1px solid rgba(18,38,58,.06);border-bottom:1px solid rgba(18,38,58,.06)}.program-grid,.card-grid,.member-grid,.schedule-grid,.dashboard-grid,.split-panels{display:grid;gap:20px;align-items:start}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split-panels,.content-grid,.auth-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{align-items:start}.dashboard-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid{grid-template-columns:1.4fr 1fr}.portal-grid>*{min-width:0}.portal-dashboard-aside{display:grid;gap:14px;align-content:start}.portal-preference-link{width:100%;min-height:54px}.card-grid,.member-grid,.user-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.employee-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.schedule-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.span-full{grid-column:1 / -1}.program-card,.mini-card,.member-card,.schedule-slot,.group-card,.stat-panel,.warning-panel{background:var(--surface-strong)}.program-card,.mini-card,.schedule-slot,.group-card,.user-card{display:flex;flex-direction:column;gap:12px}.program-card h3,.panel h3,.user-card h3{font-size:1.28rem}.eyebrow{color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h2,h3{font-family:Fraunces,serif;line-height:1.05}h2{font-size:clamp(2.1rem,4vw,4.2rem)}h3{color:var(--ink)}p,li,span,td,th,label,input,select,textarea{color:var(--ink-soft)}.intro-text{max-width:60ch;font-size:1.02rem}.summary-badge{min-width:132px;padding:16px 18px;border-radius:var(--radius-md);background:#ffffffc7;border:1px solid rgba(18,38,58,.08)}.summary-badge strong{display:block;font-size:1.1rem;color:var(--ink)}.summary-badge span{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.portal-stat-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.portal-stat-panel .summary-badge{min-width:0;min-height:70px;padding:10px 12px}.portal-stat-panel .summary-badge strong{font-size:1.08rem}.portal-stat-panel .summary-badge span{font-size:.76rem;line-height:1.25}button.summary-badge-btn{cursor:pointer;transition:border-color .15s,background .15s;text-align:left;font:inherit}button.summary-badge-btn:hover{border-color:var(--navy)}button.summary-badge-btn.active{border-color:var(--navy);background:var(--aqua-soft)}.detail-panel,.warning-panel{display:flex;flex-direction:column;gap:14px}.detail-list{display:flex;flex-direction:column;gap:10px}.detail-note{padding-top:4px;border-top:1px solid var(--line)}.form-grid,.subsection,.agreement-list,.danger-zone,.mini-stats{display:flex;flex-direction:column;gap:16px}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.family-student-stack{display:flex;flex-direction:column;gap:16px}.family-student-head,.family-student-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.family-student-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid rgba(18,38,58,.08);border-radius:20px;background:linear-gradient(180deg,#f8fbfffa,#f1f6ffeb),#ffffffe0}.family-student-fields{gap:14px}.family-student-override{grid-column:1 / -1;padding:12px 14px;border-radius:14px;background:#ffffffbd;border:1px dashed rgba(18,38,58,.12)}.family-option-stack{display:flex;flex-direction:column;gap:14px}.family-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.family-option-group{display:flex;flex-direction:column;gap:10px}.family-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.family-option-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;border:1px solid rgba(18,38,58,.1);background:linear-gradient(180deg,#fffffff5,#f2f7fce6),#ffffffe0;text-align:left;color:inherit}.family-option-card.active{border-color:#207b928c;box-shadow:0 10px 24px #207b921f}.family-option-card p{margin:0;color:var(--ink-soft)}.family-option-list{display:flex;flex-direction:column;gap:4px;color:var(--ink);font-size:.95rem}.family-manual-preference-grid{margin-top:4px}.span-2{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px}.field>span{color:var(--ink);font-weight:600}.field small{font-size:.82rem}.address-autocomplete-shell{position:relative}.address-suggestion-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;display:flex;flex-direction:column;gap:4px;max-height:268px;overflow-y:auto;padding:6px;border:1px solid rgba(18,38,58,.14);border-radius:8px;background:#fffffffa;box-shadow:0 18px 46px #142a3d2e}.address-suggestion-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 11px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left}.address-suggestion-option:hover,.address-suggestion-option.active{background:#65b8c824}.address-suggestion-option span,.address-suggestion-state{color:var(--ink-soft);font-size:.86rem}.address-suggestion-state{padding:10px 11px}.address-city-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(84px,.34fr) minmax(110px,.44fr);gap:16px}input,select,textarea{width:100%;border:1px solid rgba(18,38,58,.14);background:#fff;border-radius:14px;padding:13px 15px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#65b8c8cc;box-shadow:0 0 0 4px #65b8c829}textarea{resize:vertical}.toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.toggle input{width:auto;margin-top:3px;accent-color:var(--navy)}.radio-group{display:flex;flex-direction:column;gap:8px}.communications-page .page-intro{align-items:stretch}.comm-tabs,.comm-segment-row{display:flex;flex-wrap:wrap;gap:.5rem}.comm-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.comm-refresh-btn{flex:0 0 auto;min-height:42px;padding:.62rem .9rem}.comm-tabs button,.segment-toggle{border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-weight:700;padding:.7rem .95rem}.comm-tabs button.active,.segment-toggle.active{border-color:var(--accent);box-shadow:0 0 0 2px #17217b1f}.segment-toggle input{position:absolute;opacity:0;pointer-events:none;width:auto}.communications-shell{align-items:start;display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1rem}.thread-list-panel,.thread-detail-panel,.recipients-panel{min-width:0}.thread-detail-panel{display:flex;flex-direction:column;max-height:calc(100vh - var(--site-header-height, 110px) - 170px);min-height:0;overflow:hidden}.communications-page .thread-list-panel{display:flex;flex-direction:column;overflow:hidden;padding:0}.thread-list-panel .field{padding:1rem 1rem .8rem}.thread-list-panel .field span{color:var(--ink);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.thread-list-panel .field input{border-radius:10px;margin-top:.45rem;padding:.72rem .82rem}.thread-list-panel .check-row{align-items:center;background:#eaf0fb9e;border-block:1px solid var(--line);gap:.6rem;padding:.72rem 1rem}.thread-list-panel .check-row input{accent-color:var(--navy);flex:0 0 auto;margin:0;width:auto}.thread-list-panel .check-row span{color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.25}.thread-list{margin:0;max-height:520px;overflow:auto}.thread-list-item{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink-soft);display:flex;gap:.85rem;justify-content:space-between;padding:.82rem 1rem;text-align:left;width:100%}.thread-list-item:hover{background:#73d6f71f}.thread-list-item.active{background:#17217b12;box-shadow:inset 4px 0 0 var(--navy)}.thread-list-item>span:first-child{min-width:0}.thread-list-select{background:transparent;border:0;color:inherit;cursor:pointer;flex:1 1 auto;min-width:0;padding:0;text-align:left}.thread-list-context{align-items:flex-end;display:flex;flex:0 0 min(42%,210px);flex-direction:column;gap:.35rem;min-width:130px}.thread-list-family-link{max-width:100%}.thread-list-item strong,.thread-list-item small{overflow:hidden;text-overflow:ellipsis}.thread-list-item strong{color:var(--ink);display:block;line-height:1.25;white-space:nowrap}.thread-list-item small,.recipient-identity small{color:var(--ink-soft);display:block;line-height:1.35;margin-top:.18rem}.thread-list-item small{white-space:nowrap}.thread-list-context>small{max-width:100%}.thread-list-item .role-badge{background:#73d6f729;color:var(--navy);flex:0 0 auto;font-size:.68rem;min-height:24px;padding:4px 8px}.thread-list-item .role-badge.verified{background:#285f3f1f;color:var(--success)}.thread-list-item .role-badge.pending{background:#b3885229;color:var(--gold)}.thread-list-item .role-badge.inactive{background:#17245f14;color:var(--ink-soft)}.thread-badge-stack{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:.3rem}.thread-list>.detail-note{padding:1rem}.campaign-recipient-preview{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem;min-width:150px}.campaign-recipient-count{color:var(--ink);font-weight:800}.campaign-recipient-preview small{color:var(--ink-soft);line-height:1.3}.thread-detail-head,.preference-card-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.message-history{background:linear-gradient(180deg,#f5f8ffdb,#eaf0fba8),#f7faff;border:1px solid rgba(23,36,95,.12);border-radius:18px;box-shadow:inset 0 1px #ffffffc7;display:flex;flex:1 1 auto;flex-direction:column;gap:.85rem;margin:1rem 0;max-height:min(34vh,360px);min-height:160px;overflow:auto;padding:1rem}.message-bubble{border:1px solid rgba(23,36,95,.14);border-radius:14px;box-shadow:0 12px 26px #0f165b14;max-width:min(760px,88%);padding:.9rem 1rem;position:relative}.message-bubble.outbound{align-self:flex-end;background:linear-gradient(180deg,#17217bf5,#0f165bf5);border-color:#0f165b47;color:#fff}.message-bubble.inbound{align-self:flex-start;background:#fff;border-color:#5f8f1d42;box-shadow:inset 4px 0 #8eba33bd,0 12px 26px #0f165b12}.message-bubble p{color:inherit;font-size:1rem;font-weight:700;line-height:1.45;white-space:pre-wrap}.message-bubble small{align-items:center;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:700;letter-spacing:.06em;line-height:1.25;margin-top:.65rem;max-width:100%;overflow-wrap:anywhere;padding:.28rem .5rem;text-transform:uppercase;white-space:normal}.message-meta-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.message-meta-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:800;letter-spacing:.06em;line-height:1.25;max-width:100%;overflow-wrap:anywhere;padding:.28rem .5rem;text-transform:uppercase}.message-bubble.inbound .message-meta-pill{background:#8eba3321;color:var(--lime-deep)}.message-bubble.outbound .message-meta-pill{background:#ffffff24;color:#ffffffe0}.message-meta-pill.command,.message-meta-pill.preference{background:#b388522e;color:var(--gold)}.message-bubble.inbound small{background:#8eba3321;color:var(--lime-deep)}.message-bubble.outbound small{background:#ffffff24;color:#ffffffe0}.message-bubble .danger-text{background:var(--danger-bg);color:var(--danger);display:flex;margin-right:auto}.thread-reply-dock{background:linear-gradient(180deg,#fffffff0,#f7fafffa);border-top:1px solid var(--line);flex:0 0 auto;margin:0 -1.25rem -1.25rem;padding:.72rem 1.25rem .9rem;position:sticky;bottom:0;z-index:2}.thread-reply-dock textarea{min-height:74px}.compose-grid{align-items:start;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem}.compose-panel,.recipients-panel{display:flex;flex-direction:column;gap:.9rem}.compose-panel-head,.recipient-panel-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.compose-panel-head h3,.recipient-panel-head h3{margin-top:.2rem}.compose-panel-head .detail-note{margin-top:.35rem}.compose-target-count{align-items:center;background:#17217b12;border:1px solid rgba(23,33,123,.14);border-radius:12px;display:inline-flex;flex:0 0 auto;gap:.45rem;min-height:42px;padding:.55rem .7rem}.compose-target-count strong{color:var(--navy);font-size:1.2rem;line-height:1}.compose-target-count span{color:var(--ink-soft);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.compose-segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.compose-panel .segment-toggle{align-items:center;display:flex;justify-content:center;min-height:42px;padding:.62rem .72rem}.compose-panel .segment-toggle span{color:var(--ink);line-height:1.2}.sms-segment-box{display:grid;gap:10px;padding:12px;border:1px solid rgba(23,36,95,.12);border-radius:var(--radius-md);background:#ffffffc7}.sms-segment-box>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.sms-segment-box strong{color:var(--ink)}.sms-segment-box span{font-size:.84rem;line-height:1.35}.sms-count-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px}.sms-count-row span{color:var(--ink-soft);font-size:.78rem}.sms-count-row strong{color:var(--ink);font-size:.9rem;line-height:1.2;overflow-wrap:anywhere}.sms-count-track{height:8px;min-width:0;overflow:hidden;border-radius:999px;background:#12263a1a}.sms-count-track span{display:block;height:100%;border-radius:inherit;background:var(--navy)}.sms-segment-box.green .sms-count-track span{background:#366b1c}.sms-segment-box.yellow .sms-count-track span{background:#9f6b13}.sms-segment-box.red .sms-count-track span{background:#9c4332}.sms-segment-box.green{border-color:#366b1c3d;background:#e5f2d69e}.sms-segment-box.yellow{border-color:#7b3aa33d;background:#fff9e2c2}.sms-segment-box.red{border-color:#9c433247;background:#f7e4dfb8}.sms-segment-meta{display:flex;gap:7px;flex-wrap:wrap}.sms-segment-meta span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#ffffffad;color:var(--ink);font-size:.72rem;font-weight:700}.sms-segment-actions{justify-content:flex-start}.email-sms-review-card{border-color:#17217b29;background:#ffffffd1}.email-sms-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.email-sms-review-head strong{color:var(--ink)}.email-sms-recipient-note{display:grid;gap:7px;padding:10px 12px;border:1px solid rgba(23,33,123,.14);border-radius:var(--radius-sm);background:#f7faffdb}.email-sms-recipient-note.warning{border-color:#9f6b1347;background:#fff9e2db}.email-sms-recipient-note.ready{border-color:#366b1c38;background:#e5f2d6a3}.email-sms-recipient-note span,.email-sms-recipient-note small{color:var(--ink-soft);font-size:.84rem;line-height:1.35}.email-sms-missing-list{display:flex;flex-wrap:wrap;gap:6px}.email-sms-missing-list span{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border-radius:999px;background:#ffffffb8;color:var(--ink);font-size:.72rem;font-weight:700}.email-sms-fallback-review{display:grid;gap:8px}.email-sms-fallback-review>strong{color:var(--ink);font-size:.92rem}.compact-note{font-size:.9rem;line-height:1.45}.compose-check-row{align-items:center;background:#eaf0fb9e;border:1px solid var(--line);border-radius:12px;padding:.72rem .85rem}.compose-check-row input{accent-color:var(--navy);flex:0 0 auto;margin:0;width:auto}.compose-check-row span{color:var(--ink);font-weight:700;line-height:1.25}.compose-message-field textarea{min-height:170px}.compose-manual-field input{max-width:320px}.recipient-summary-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.recipient-summary-grid .summary-badge{min-width:0}.recipient-actions{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.recipient-actions .secondary-btn{min-height:42px;padding:.62rem .7rem}.recipient-filter-grid{display:grid;gap:.65rem;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr)}.recipient-list{border:1px solid var(--line);border-radius:14px;max-height:640px;overflow:auto}.recipient-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:.55rem .8rem;grid-template-columns:28px minmax(130px,.8fr) minmax(260px,1.5fr) minmax(170px,1fr) auto;padding:.58rem .8rem}.recipient-row:last-child{border-bottom:0}.recipient-check,.check-row{align-items:flex-start;display:flex;gap:.5rem}.recipient-check,.recipient-identity,.recipient-detail-line,.recipient-indicators{min-width:0}.recipient-identity strong{color:var(--ink);display:block;line-height:1.25}.recipient-detail-line{align-items:flex-start;color:var(--ink-soft);display:flex;flex-direction:column;gap:.18rem;line-height:1.3}.recipient-contact-summary{display:flex;flex-wrap:wrap;gap:.18rem .7rem;min-width:0}.recipient-detail-line span,.recipient-contact-summary{min-width:0;overflow-wrap:anywhere}.recipient-topic-summary{color:var(--ink);font-weight:700}.recipient-row .table-link{flex:0 0 auto;justify-self:end;white-space:nowrap}.recipient-indicators{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem}.recipient-indicators .role-badge{font-size:.64rem;min-height:22px;padding:3px 7px}.compose-send-bar{align-items:center;justify-content:space-between}.comm-toolbar-actions{flex:0 0 auto;justify-content:flex-end}.recipient-row input,.check-row input{margin-top:.25rem;flex:0 0 auto;width:auto;accent-color:var(--navy)}.recipient-row input{margin-top:0}.sms-preferences-page{max-width:1260px;margin:0 auto;width:100%}.sms-preference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:20px;align-items:start}.preference-card{display:flex;flex-direction:column;gap:1.15rem;padding:24px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffffff5,#f7faffe6),var(--surface-strong)}.preference-card-head{align-items:flex-start;padding-bottom:.95rem;border-bottom:1px solid var(--line)}.preference-card-head>div:first-child{min-width:0}.preference-card-head h3{margin-top:.2rem}.preference-contact-line{margin:.35rem 0 0;color:var(--ink-soft);line-height:1.35;overflow-wrap:anywhere}.preference-card-status{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.6rem}.preference-card-status .primary-btn,.preference-card-status .secondary-btn{min-height:38px;padding:8px 14px}.preference-card .role-badge{min-height:28px;padding:5px 10px;font-size:.68rem}.preference-card .status-active{background:var(--success-bg);color:var(--success);border-color:#366b1c2e}.preference-card .status-cancelled{background:var(--danger-bg);color:var(--danger);border-color:#9c43322e}.sms-topic-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem}.sms-topic-choice{align-items:center;min-height:54px;padding:.74rem .86rem;border:1px solid rgba(23,36,95,.11);border-radius:14px;background:#eaf0fb80;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.sms-topic-choice:hover{background:#73d6f71f;border-color:#17245f2e}.sms-topic-choice:has(input:checked){background:#e5f2d68f;border-color:#366b1c38}.sms-topic-choice:has(input:disabled){cursor:not-allowed;opacity:.62}.sms-topic-choice input{width:18px;height:18px;margin:0}.sms-topic-choice span{color:var(--ink);font-weight:600;line-height:1.25}.admin-sms-toggle{align-items:center;margin:0}.preference-card-footnote{margin:0;padding-top:.85rem;font-size:.92rem}@media(max-width:640px){.preference-card-head{flex-direction:column}.preference-card-status{align-items:stretch;width:100%}.preference-card .role-badge{align-self:flex-start}.sms-topic-list{grid-template-columns:1fr}}.danger-text{color:var(--danger)}.button-row.right{justify-content:flex-end}@media(max-width:900px){.communications-shell,.compose-grid{grid-template-columns:1fr}.thread-detail-panel{max-height:none;min-height:0}.thread-list,.recipient-list{max-height:360px}.comm-toolbar{align-items:stretch;flex-direction:column}.comm-refresh-btn{width:100%}.comm-toolbar-actions{display:grid;grid-template-columns:1fr}.recipient-filter-grid{grid-template-columns:1fr}.recipient-row{align-items:start;grid-template-columns:28px minmax(0,1fr) auto}.recipient-detail-line,.recipient-indicators{grid-column:2 / -1}.recipient-row .table-link{grid-column:3;grid-row:1}.compose-send-bar{background:#fffffff5;border:1px solid var(--line);border-radius:12px;bottom:.75rem;box-shadow:0 18px 44px #0f165b29;padding:.65rem;position:sticky;z-index:2}}@media(max-height:720px)and (min-width:901px){.thread-detail-panel{max-height:none;overflow:visible}.thread-list{max-height:calc(100vh - var(--site-header-height, 110px) - 210px)}.message-history{max-height:160px}}.radio-group-label{font-weight:600;margin:0}.sms-consent-box{padding:16px;border:1px solid rgba(18,38,58,.1);border-radius:18px;background:linear-gradient(180deg,#ffffffeb,#edf7fad1),#ffffffd6}.sms-consent-box small,.sms-consent-ack span{line-height:1.55}.sms-consent-box a,.sms-consent-ack a,.policy-panel a,.detail-note a{color:var(--navy);font-weight:700;text-decoration:underline;text-decoration-color:#17217b38;text-underline-offset:.18em}.policy-page{margin:0 auto}.policy-panel{display:flex;flex-direction:column;gap:16px}.policy-panel h3{margin-top:6px}.text-updates-page .content-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.sms-proof-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sms-proof-card .summary-badge{min-width:0}.sms-topic-section{padding:18px;border:1px solid rgba(18,38,58,.08);border-radius:20px;background:#f5f8ffb3}.sms-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sms-topic-card{padding:14px;border-radius:16px;background:#ffffffd1}.sms-consent-ack{padding:16px;border-radius:18px;border:1px solid rgba(123,58,163,.2);background:#7b3aa312}.sms-compliance-page{max-width:1180px;margin:0 auto}.sms-review-summary{display:grid;grid-template-columns:1fr;gap:10px}.sms-proof-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sms-proof-step{display:flex;flex-direction:column;gap:12px;min-height:100%}.sms-proof-step h3,.sms-proof-step p{margin:0}.sms-proof-step ul{display:flex;flex-direction:column;gap:8px;margin:0;padding-left:18px}.sms-proof-step .secondary-btn{margin-top:auto;align-self:flex-start}.sms-proof-details{grid-template-columns:repeat(2,minmax(0,1fr))}.status-banner{padding:14px 16px;border-radius:var(--radius-md);font-weight:600}.status-banner.error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(156,67,50,.18)}.status-banner.success{background:var(--success-bg);color:var(--success);border:1px solid rgba(40,95,63,.18)}.contact-help-banner{padding:14px 16px;border-radius:var(--radius-md);background:var(--success-bg);border:1px solid rgba(40,95,63,.18);color:var(--text);text-align:center}.contact-help-banner a{font-weight:600;white-space:nowrap}.assign-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#7b3aa33d;background:linear-gradient(140deg,#fffcf9f0,#e8f0d5e6),var(--surface)}.schedule-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.compact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact-form-grid .span-2{grid-column:1 / -1}.compact-list{display:grid;gap:8px}.compact-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 12px;border:1px solid rgba(23,36,95,.1);border-radius:12px;background:#ffffffbd}.compact-list-row strong{color:var(--ink);font-size:.94rem}.compact-list-row span{font-size:.84rem}.weather-batch-row{align-items:flex-start;flex-direction:column}.weather-batch-row>div:first-child{display:grid;gap:2px;width:100%}.weather-batch-controls{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr) auto;gap:8px;width:100%;align-items:center}.weather-batch-member-list{display:grid;gap:8px;width:100%}.makeup-open-card{display:grid;gap:14px}.makeup-open-summary-list,.makeup-open-booked-list{gap:8px}.makeup-open-booked-list{padding-top:4px;border-top:1px solid rgba(23,36,95,.08)}.weather-batch-member-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,1.2fr);gap:10px;align-items:center;width:100%;padding:9px 10px;border:1px solid rgba(23,36,95,.08);border-radius:10px;background:#f8fbffd1}.weather-batch-member-row>div:first-child,.weather-batch-member-controls{min-width:0}.weather-batch-member-row>div:first-child{display:grid;gap:2px}.weather-batch-member-controls{display:grid;grid-template-columns:minmax(128px,1fr) minmax(108px,.8fr) auto;gap:8px;align-items:center}@media(max-width:1100px){.weather-batch-controls,.weather-batch-member-row,.weather-batch-member-controls{grid-template-columns:1fr}}.segmented{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:#13324b14;border:1px solid rgba(18,38,58,.08)}.segmented button{border:none;border-radius:999px;padding:10px 18px;background:transparent;color:var(--ink-soft);font-weight:600;cursor:pointer}.segmented .active{background:var(--navy);color:#fff8ef}.auth-page{max-width:1120px;margin:0 auto}.auth-stage,.auth-form-card,.auth-support-card,.auth-token-panel,.delivery-strip{display:flex;flex-direction:column;gap:18px}.auth-stage{padding:34px;background:linear-gradient(145deg,#fffffffa,#f1f6fff0),var(--surface)}.auth-stage-header{display:flex;flex-direction:column;gap:12px}.auth-card-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;align-items:start}.auth-form-card,.auth-support-card,.auth-token-panel{padding:24px;border-radius:22px;border:1px solid rgba(23,36,95,.08)}.auth-form-card{background:#ffffffd1}.auth-support-card,.auth-token-panel{background:linear-gradient(180deg,#f8fbfff5,#eef4ffeb),#ffffffd6}.auth-feature-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.auth-feature-list li{position:relative;padding-left:18px}.auth-feature-list li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:var(--lime);box-shadow:0 0 0 4px #8eba3324}.auth-inline-actions{display:flex;flex-wrap:wrap;gap:12px}.auth-inline-actions .primary-btn,.auth-inline-actions .secondary-btn{min-width:180px}.auth-quiet-note{font-size:.92rem;color:var(--ink-soft)}.verification-resend-prompt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(23,36,95,.1);border-radius:16px;background:#ffffffb8}.verification-resend-prompt p{margin:0;font-weight:600}.verification-resend-form{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid rgba(23,36,95,.1);border-radius:16px;background:#ffffffb8}.auth-token-page{margin:0 auto}.home-action-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.home-account-card{background:linear-gradient(160deg,#0f165bf5,#273e8eeb),var(--navy)}.home-account-card h3,.home-account-card p,.home-account-card .eyebrow{color:#f6fbff}.home-account-card .eyebrow{color:#f6fbffb8}.home-account-card .primary-btn{box-shadow:none;background:#fff;color:var(--navy)}.table-wrap{overflow:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffffbd}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(18,38,58,.08)}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;background:#13324b0f}tr:last-child td{border-bottom:none}.mini-card,.member-card,.schedule-slot,.group-card{border:1px solid rgba(18,38,58,.08);border-radius:var(--radius-md);padding:18px}.mini-card>*{min-width:0}.mini-card strong,.mini-card span,.mini-card small,.mini-card p{overflow-wrap:anywhere}.compact-table th,.compact-table td{padding:10px 12px}.table-cell-note{display:block;margin-top:4px;color:var(--muted);line-height:1.35}.season-usage-table-wrap{container-type:inline-size;overflow:visible;scrollbar-gutter:stable}.season-usage-table{width:100%;min-width:0;table-layout:fixed}.season-usage-table th,.season-usage-table td{white-space:normal;vertical-align:middle}.season-usage-table th{font-size:.68rem;letter-spacing:.08em}.season-usage-table th:first-child,.season-usage-table td:first-child{width:108px;white-space:nowrap}.season-usage-table th:not(:first-child),.season-usage-table td:not(:first-child){text-align:right}.season-usage-table td{position:relative;padding-top:12px;padding-bottom:12px;font-variant-numeric:tabular-nums}.usage-header-label{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;max-width:100%}.info-tip,.usage-metric{position:relative}.info-tip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;outline:none}.info-tip-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid rgba(23,36,95,.18);background:#ffffffd1;color:var(--navy);font-size:.72rem;font-weight:800;line-height:1}.info-tip-bubble,.usage-tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:90;width:min(250px,calc(100vw - 36px));padding:10px 12px;border:1px solid rgba(23,36,95,.16);border-radius:12px;background:#fffffffa;box-shadow:0 18px 44px #0f165b2e;color:var(--ink-soft);font-size:.78rem;font-weight:500;line-height:1.35;letter-spacing:0;text-align:left;text-transform:none;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.info-tip:hover .info-tip-bubble,.info-tip:focus-visible .info-tip-bubble,.usage-metric:hover .usage-tooltip,.usage-metric:focus-visible .usage-tooltip{opacity:1;transform:translateY(0)}.usage-metric{display:inline-flex;flex-direction:column;align-items:flex-end;max-width:100%;outline:none}.usage-main{color:var(--ink);font-size:1.02rem;font-weight:700;line-height:1.2}.usage-subline{display:none}.usage-tooltip{display:grid;gap:4px}.usage-tooltip strong{color:var(--ink)}@container (max-width: 620px){.season-usage-table-wrap{overflow:visible;border:0;background:transparent}.season-usage-table{display:block}.season-usage-table thead{display:none}.season-usage-table tbody{display:grid;gap:8px}.season-usage-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffc7}.season-usage-table td{display:flex;justify-content:space-between;gap:12px;padding:0;border-bottom:0;text-align:right}.season-usage-table td:before{content:attr(data-label);color:var(--ink-soft);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}.season-usage-table td:first-child{grid-column:1 / -1;width:auto;padding-bottom:5px;border-bottom:1px solid rgba(18,38,58,.08);font-weight:700;text-align:left}.season-usage-table td:first-child:before{display:none}}.compact-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.mini-card strong,.group-card strong,.user-card h3{color:var(--ink)}.danger-zone{margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.portal-delete-account{text-align:center;font-size:.88rem;color:var(--muted)}.danger-link{color:var(--danger, #c0392b)}.role-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 12px;border-radius:999px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent;white-space:nowrap}.role-badge.admin{background:#13324b1a;color:var(--navy)}.role-badge.customer{background:#d8c3a338;color:#6b5331}.role-badge.employee{background:#65b8c824;color:#21596a}.role-badge.verified{background:#285f3f1f;color:var(--success)}.role-badge.pending{background:#b3885229;color:var(--gold)}.role-badge.current{background:#65b8c829;color:#21596a}.role-badge.inactive{background:#17245f14;color:var(--ink-soft)}.role-badge-warning,.role-badge.role-badge-warning{background:#f59e0b29;color:#8a4b0e;border-color:#8a4b0e2e}.button-field{align-self:end}.portal-action-row,.portal-priority-grid,.portal-card-list{display:grid;gap:10px}.portal-action-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.portal-priority-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-priority-card{min-height:104px;padding:14px;gap:4px}.portal-lesson-card,.portal-makeup-card{min-width:0;gap:6px}.portal-next-list,.portal-action-list,.portal-lesson-groups,.portal-schedule-list,.portal-attendance-plan,.portal-secondary-grid{display:grid;gap:10px}.portal-action-list{align-content:start}.portal-next-list p{display:grid;gap:2px;margin:0}.portal-next-list span{color:var(--muted);font-size:.88rem}.portal-swimmer-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portal-swimmer-card,.portal-schedule-row,.portal-lesson-group,.portal-getting-started{min-width:0}.portal-swimmer-card-head,.portal-lesson-group-head,.portal-schedule-row{display:flex;gap:12px}.portal-swimmer-card-head,.portal-lesson-group-head{align-items:flex-start;justify-content:space-between}.portal-lesson-groups{display:block;gap:14px}.portal-lesson-group{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff9e;break-inside:avoid;page-break-inside:avoid}.portal-lesson-group h4{margin:0;color:var(--ink)}.portal-lesson-group-head span{color:var(--muted);font-size:.88rem}@media(min-width:1100px){.portal-lesson-groups[data-layout-count="1"]{max-width:760px}.portal-lesson-groups[data-layout-count="2"],.portal-lesson-groups[data-layout-count="3"],.portal-lesson-groups[data-layout-count=many]{column-count:2;column-gap:14px}}@media(min-width:1600px){.portal-lesson-groups[data-layout-count="3"],.portal-lesson-groups[data-layout-count=many]{column-count:3}}.portal-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 10px;padding:10px 12px;border:1px solid rgba(18,38,58,.08);border-radius:8px;background:var(--surface-strong)}.portal-schedule-row.is-expanded,.portal-makeup-card.is-expanded{border-color:#225c783d;box-shadow:0 10px 30px #12263a12}.portal-schedule-main,.portal-attendance-status{display:grid;align-content:start;gap:2px;min-width:0}.portal-schedule-main{align-content:center}.portal-attendance-status{justify-items:end}.portal-schedule-action{display:grid;align-content:center;min-width:130px}.portal-schedule-action .secondary-btn{width:100%}.portal-attendance-plan{grid-column:1 / -1;grid-template-columns:minmax(180px,1.3fr) minmax(140px,.8fr) minmax(160px,1fr) auto;align-items:end;margin-top:4px;padding-top:12px;border-top:1px solid rgba(18,38,58,.08)}.portal-schedule-row .portal-attendance-plan{grid-template-columns:1fr}.portal-attendance-plan .field{min-width:0}.portal-attendance-plan>small{grid-column:1 / -1}.portal-makeup-warning,.portal-makeup-limit-note,.portal-makeup-error{grid-column:1 / -1}.portal-makeup-error{color:var(--danger);font-weight:700}.portal-makeup-card .portal-attendance-plan{grid-template-columns:1fr;margin-top:2px}.portal-makeup-modal-panel{width:min(780px,100%)}.portal-makeup-modal-stack{gap:14px}.portal-makeup-summary-card{gap:3px;padding:10px 12px;background:#ffffffc7}.portal-makeup-summary-card span{color:var(--muted)}.portal-makeup-options-card{gap:12px}.portal-makeup-details-card{gap:10px;padding:12px 14px}.portal-makeup-details-card summary{display:grid;gap:3px;cursor:pointer;color:var(--ink);font-weight:800;list-style-position:inside}.portal-makeup-details-card summary small{color:var(--muted);font-weight:600}.portal-makeup-details-card[open] summary{margin-bottom:10px}.portal-makeup-option-list{display:grid;gap:8px}.portal-makeup-option-card{display:grid;grid-template-columns:auto minmax(116px,.55fr) minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid rgba(18,38,58,.1);border-radius:8px;background:var(--surface-strong);cursor:pointer}.portal-makeup-option-card:hover,.portal-makeup-option-card.selected{border-color:#225c785c;background:#f0f9fceb;box-shadow:0 8px 22px #12263a12}.portal-makeup-option-card input{width:18px;height:18px;margin:0}.portal-makeup-option-main,.portal-makeup-option-detail{min-width:0}.portal-makeup-option-main{display:grid;gap:2px}.portal-makeup-option-main strong{color:var(--ink)}.portal-makeup-option-main span,.portal-makeup-option-detail{color:var(--muted)}.portal-makeup-option-detail{overflow-wrap:anywhere}.portal-makeup-option-card .role-badge{justify-self:end;white-space:nowrap}.portal-makeup-detail-grid{grid-template-columns:minmax(180px,.65fr) minmax(220px,1fr)}.portal-makeup-modal-actions{justify-content:flex-end;position:sticky;bottom:0;z-index:2;margin:0 -4px -4px;padding:12px 4px 4px;background:linear-gradient(180deg,#f6f9ff00,#f6f9fffa 24%),#f6f9fffa}.portal-makeup-guidance{margin:-4px 0 0}.portal-attendance-plan .primary-btn,.portal-attendance-plan .secondary-btn,.portal-secondary-grid .primary-btn,.portal-secondary-grid .secondary-btn{width:100%}.portal-secondary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.makeup-help-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;align-items:start}.portal-help-list,.makeup-help-actions{display:grid;gap:10px}.portal-help-list p,.makeup-help-actions>div{display:grid;gap:3px;margin:0;padding:10px 12px;border:1px solid rgba(18,38,58,.08);border-radius:8px;background:var(--surface-strong)}.portal-help-list span,.makeup-help-actions span,.makeup-help-examples span{color:var(--muted)}.makeup-help-actions code,.makeup-help-examples code{white-space:normal;line-height:1.5}.makeup-help-examples .mini-card,.portal-lesson-list{gap:8px}.portal-lesson-list .portal-lesson-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.makeup-target-note{margin:2px 0;padding:8px 10px}.portal-invite-form{margin-top:14px;align-items:end}.lesson-registration-panel{position:sticky;top:calc(var(--site-header-height) + 16px)}.lesson-form-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px}.lesson-progress-step{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#ffffffb3}.lesson-progress-step strong{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border-radius:999px;background:#17245f14;color:var(--ink);font-size:.82rem}.lesson-progress-step span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700}.lesson-progress-step.active{border-color:#7b3aa359;box-shadow:0 0 0 3px #7b3aa314}.lesson-progress-step.complete strong{background:var(--success-bg);color:var(--success)}.lesson-form-section{scroll-margin-top:110px}.schedule-exception-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.schedule-exception-card{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);cursor:pointer}.schedule-exception-card strong{color:var(--ink);font-size:1.35rem}.schedule-exception-card span{font-size:.82rem;font-weight:700;text-align:right;text-transform:uppercase;letter-spacing:.08em}.schedule-exception-card.active{border-color:#b4d0478c;background:#b4d0471f}.schedule-makeup-review{scroll-margin-top:100px}.makeup-review-card .field{margin-top:4px}.compact-toggle{align-items:center}.family-card-column-action{min-width:0;padding-right:0}.family-recommended-action,.family-duplicate-suggestions,.family-setup-group{display:grid;gap:8px}.family-recommended-action{justify-items:start;justify-self:end;width:100%;max-width:190px;margin-left:auto;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-sizing:border-box}.family-recommended-action strong{font-size:.88rem;line-height:1.15;overflow-wrap:anywhere;white-space:normal}.family-recommended-action span{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase}.family-recommended-action.warning{border-color:#9c433247;background:#f7e4df75}.family-recommended-action.review{border-color:#80482b47;background:#fcf1e0cc}.family-recommended-action.info{border-color:#2a52982e;background:#ffffffbd}.family-duplicate-suggestions{padding:12px;border:1px solid rgba(156,67,50,.18);border-left:4px solid var(--danger);border-radius:8px;background:#f7e4df6b}.family-setup-group{gap:12px}.family-setup-group-head{display:flex;align-items:center;justify-content:space-between}.thread-list-item.urgent{border-color:#9c433252;background:#f7e4df80}.thread-detail-actions{align-items:flex-start}.recipient-identity .table-link{justify-content:flex-start;width:fit-content}@media(max-width:900px){.portal-action-row,.portal-priority-grid,.portal-attendance-plan,.schedule-exception-strip{grid-template-columns:1fr}.portal-schedule-row{display:grid;grid-template-columns:1fr}.portal-attendance-status{justify-items:start;width:100%}.portal-schedule-action{min-width:0;width:100%}.lesson-registration-panel{position:static}.lesson-form-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-progress-step:last-child{grid-column:1 / -1}}@media(max-width:560px){.lesson-form-progress{grid-template-columns:1fr}.lesson-progress-step:last-child{grid-column:auto}.schedule-exception-card{min-height:56px}}.inline-head{justify-content:space-between;flex-wrap:wrap}.inline-head>div{display:flex;flex-direction:column;gap:4px}.schedule-filters{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;align-items:center;justify-content:flex-end}.inline-head>.schedule-filters{flex-direction:row}.schedule-filters select,.schedule-filters .secondary-btn{width:auto;flex:0 0 auto}.schedule-filter-trigger{display:inline-flex;align-items:center;gap:8px}.schedule-filter-trigger.active{border-color:#17217b3d;background:#73d6f72e}.schedule-filter-trigger strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:2px 7px;border-radius:999px;background:var(--navy);color:#fff;font-size:.76rem}.schedule-filter-clear{min-height:42px;padding-inline:14px}.season-filter-summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.season-filter-summary-strip span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;border:1px solid rgba(23,36,95,.1);background:#ffffffb8;color:var(--navy);font-size:.78rem;font-weight:700}.table-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.pending-action-row{justify-content:flex-start}.user-table-actions>*{flex:0 0 auto}.season-card-panel{display:flex;flex-direction:column;gap:14px}.session-trigger{width:100%;text-align:left;cursor:pointer;background:transparent;border:none;padding:0}.session-trigger:hover{background:transparent}.schedule-slot{gap:10px;padding:16px}.schedule-slot h3{font-size:.95rem;letter-spacing:.02em}.schedule-slot-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.slot-heading-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.compact-empty-slot{padding:12px;gap:8px;border-style:dashed;border-color:#13324b24;background:#ffffff6b;box-shadow:none}.compact-empty-slot-heading{align-items:flex-start}.compact-empty-slot-heading>div{display:flex;min-width:0;flex-direction:column;gap:2px}.compact-empty-slot-details{display:grid;gap:8px}.compact-empty-slot-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:7px 9px;border:1px solid rgba(18,38,58,.08);border-radius:8px;background:#ffffffa8;color:var(--ink-soft);cursor:pointer;font-size:.78rem;font-weight:800}.compact-empty-slot-details summary::-webkit-details-marker{display:none}.compact-empty-slot-details[open] summary{border-color:#17245f33;color:var(--navy)}.compact-empty-slot-cards{display:grid;gap:8px}.group-card{gap:8px;padding:14px}.assignable-card{border-color:#8eba3370;box-shadow:inset 0 0 0 1px #8eba332e;background:linear-gradient(180deg,#fbfdf6f5,#eff7ddf0)}.over-capacity-card{border-color:#b8463857;box-shadow:inset 0 0 0 1px #b846381f;background:linear-gradient(180deg,#fff9f7fa,#fff0ecf0)}.blocked-slot-card{border-color:#7878784d;box-shadow:inset 0 0 0 1px #7878781a;background:repeating-linear-gradient(-45deg,#f0f0f099,#f0f0f099 6px,#fafafa99 6px 12px)}.blocked-capacity{color:var(--ink-soft);background:#7878781f}.empty-slot-card{border-style:dashed;border-color:#13324b26;background:transparent;gap:6px;padding:10px;color:#1f2b34c7}.slot-action-btn{margin-top:4px;font-size:.78rem;padding:4px 8px}.slot-heading-actions .slot-action-btn{margin-top:0}.session-instructor-label{display:block;color:#21596a;font-weight:700}.session-card-meta{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.group-card ul{margin:0;padding-left:16px;line-height:1.55}.schedule-swimmer-list{display:flex;flex-direction:column;gap:10px}.schedule-swimmer-item{display:list-item}.schedule-swimmer-item::marker{color:var(--ink-soft)}.schedule-swimmer-details{display:inline-flex;flex-direction:column;gap:2px;vertical-align:top}.schedule-swimmer-details p{margin:0}.schedule-swimmer-details strong{font-size:.88rem}.empty-slot{min-height:98px;justify-content:center}.session-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.session-age-label{display:block;font-size:.82rem}.session-card-type{font-size:.9rem;color:var(--ink-soft)}.queue-card,.swimmer-edit-card{gap:12px}.roster-modal-stack{gap:18px}.roster-summary-card,.modal-section-card,.roster-swimmer-card{gap:14px}.roster-summary-row,.roster-swimmer-meta{display:flex;flex-wrap:wrap;gap:10px}.roster-summary-pill{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid rgba(23,36,95,.08);background:linear-gradient(180deg,#f4f8fff5,#ffffffe0);color:var(--navy);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.roster-swimmer-card{display:flex;flex-direction:column}.roster-swimmer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.roster-swimmer-meta{color:var(--ink-soft);font-size:.94rem}.roster-action-row{display:flex;flex-wrap:wrap;gap:10px}.roster-action-row>*{flex:1 1 210px}.modal-section-card{display:flex;flex-direction:column}.schedule-filter-modal-panel{width:min(1040px,100%)}.schedule-filter-modal{gap:18px}.schedule-filter-section{display:flex;flex-direction:column;gap:12px}.schedule-filter-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.inline-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.schedule-filter-section-head strong{color:var(--ink)}.schedule-filter-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.schedule-filter-day-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px;border:1px solid rgba(23,36,95,.1);border-radius:var(--radius-md);background:#ffffffb8;cursor:pointer;text-align:left}.schedule-filter-day-card.active{border-color:#17217b57;box-shadow:0 0 0 2px #73d6f72e;background:#f0f9fceb}.schedule-filter-day-card strong{color:var(--ink)}.schedule-filter-day-card>span{color:var(--gold);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.schedule-filter-day-card div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.schedule-filter-day-card div span{display:flex;flex-direction:column;gap:1px;min-width:0;color:var(--ink-soft);font-size:.72rem;line-height:1.2}.schedule-filter-day-card b{color:var(--ink);font-size:1rem}.season-age-filter-field{display:flex;flex-direction:column;gap:8px}.season-filter-group-list{display:grid;gap:12px}.season-filter-group-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px;border:1px solid rgba(23,36,95,.1);border-radius:var(--radius-md);background:#ffffffb8}.season-filter-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.season-filter-group-head strong{color:var(--ink)}.field-label{color:var(--ink);font-weight:700}.season-age-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.season-age-filter-option{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid rgba(23,36,95,.1);border-radius:12px;background:#ffffffb8;cursor:pointer}.season-age-filter-option input{width:16px;height:16px;flex:0 0 auto}.season-age-filter-option span{color:var(--ink);font-size:.88rem;font-weight:700}.modal-action-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.blocking-impact-card{display:flex;flex-direction:column;gap:12px}.scheduling-context-card{gap:12px}.modal-form-grid{align-items:end}.support-edit-form{gap:12px}.support-edit-form .form-columns{grid-template-columns:1fr;gap:12px}.support-edit-summary{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffffad}.session-action-panel{display:flex;flex-direction:column;gap:16px}.session-move-grid{align-items:end}.queue-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.makeup-dispatch-panel{display:flex;flex-direction:column;gap:16px}.makeup-dispatch-toggle{align-items:stretch}.makeup-dispatch-toggle>div:first-child{flex:1 1 360px;min-width:0}.makeup-dispatch-toggle-side{display:flex;flex:0 1 650px;align-items:flex-start;justify-content:flex-end;gap:12px;min-width:0}.makeup-dispatch-head,.makeup-dispatch-toolbar,.makeup-dispatch-column-head,.dispatch-slot-primary,.dispatch-makeup-row-head,.dispatch-confirm-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.makeup-dispatch-head{flex-wrap:wrap}.makeup-dispatch-head>div:first-child{flex:1 1 360px;min-width:0}.makeup-dispatch-summary{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.makeup-dispatch-summary .summary-badge{min-width:118px;padding:12px 14px}.makeup-dispatch-toolbar{align-items:flex-end;flex-wrap:wrap;padding:12px;border:1px solid rgba(23,36,95,.08);border-radius:var(--radius-md);background:#ffffffad}.makeup-dispatch-toolbar .field{flex:1 1 260px}.dispatch-search-control{display:flex;gap:8px;align-items:center}.dispatch-search-control input{min-width:0;flex:1 1 auto}.dispatch-search-clear{flex:0 0 auto;min-height:42px;padding:9px 12px}.makeup-dispatch-board{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr);gap:16px;align-items:stretch}.makeup-dispatch-column{min-width:0;min-height:0;max-height:clamp(380px,calc(100vh - var(--site-header-height, 0px) - 220px),760px);display:flex;flex-direction:column;gap:12px;overflow:hidden}.makeup-dispatch-column-head{align-items:baseline}.makeup-dispatch-column-head h4{margin:0;font-size:1.02rem}.makeup-dispatch-column-head>span{color:var(--muted);font-size:.86rem;font-weight:700;white-space:nowrap}.dispatch-slot-list,.dispatch-makeup-list{display:flex;flex-direction:column;flex:1 1 auto;gap:10px;min-height:240px;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.dispatch-group-list{align-content:start}.dispatch-collapsible-group{flex:0 0 auto;min-width:0;overflow:hidden;border:1px solid rgba(23,36,95,.1);border-radius:var(--radius-md);background:#ffffff94}.dispatch-collapsible-group.has-selected{border-color:#17217b47;box-shadow:0 0 0 2px #73d6f71f}.dispatch-group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dispatch-group-toggle:hover{background:#f0f9fcb8}.dispatch-group-toggle>span:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}.dispatch-group-toggle strong{color:var(--ink)}.dispatch-group-toggle small,.dispatch-group-toggle-side>span:not(.role-badge):not(.disclosure-action){color:var(--muted);font-size:.82rem;font-weight:700}.dispatch-group-toggle-side{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;white-space:nowrap}.dispatch-group-body{display:grid;gap:10px;padding:0 10px 10px}.dispatch-fit-group .dispatch-group-body{padding-top:0}.dispatch-slot-card,.dispatch-makeup-row,.dispatch-selected-slot,.dispatch-fit-review{border:1px solid rgba(23,36,95,.1);border-radius:var(--radius-md);background:#ffffffc7}.dispatch-slot-card{width:100%;min-width:0;padding:12px;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:8px}.dispatch-slot-card:hover,.dispatch-slot-card.selected{border-color:#17217b57;box-shadow:0 0 0 2px #73d6f729;background:#f0f9fcf5}.dispatch-slot-primary{align-items:baseline}.dispatch-slot-primary strong,.dispatch-makeup-row-head strong,.dispatch-selected-slot strong,.makeup-dispatch-confirm-summary strong{color:var(--ink)}.dispatch-slot-primary>span,.dispatch-slot-card small{color:var(--muted);font-size:.84rem}.dispatch-slot-meta,.dispatch-makeup-meta{display:grid;gap:8px;min-width:0}.dispatch-slot-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.dispatch-slot-meta span,.dispatch-makeup-meta span,.makeup-dispatch-confirm-summary span{color:var(--ink-soft);font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}.dispatch-fit-row{gap:6px}.dispatch-fit-row .role-badge,.dispatch-makeup-row .role-badge{min-height:26px;padding:4px 8px;font-size:.68rem}.dispatch-selected-slot,.dispatch-fit-review{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.dispatch-selected-slot-head{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.dispatch-selected-slot-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}.dispatch-selected-slot-head .secondary-btn{flex:0 0 auto}.dispatch-selected-slot span,.dispatch-fit-review p{margin:0;color:var(--ink-soft);font-size:.88rem}.dispatch-makeup-row{display:flex;flex-direction:column;gap:10px;padding:12px}.dispatch-makeup-row.needs-grant{border-color:#8a4b0e33;background:#fffbf1db}.dispatch-makeup-row-head{align-items:flex-start}.dispatch-makeup-row-head>div{display:flex;min-width:0;flex-direction:column;gap:2px}.dispatch-makeup-row-head>div>span{color:var(--muted);font-size:.85rem}.dispatch-makeup-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-makeup-meta b{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.dispatch-warning-list{display:flex;flex-wrap:wrap;gap:6px}.dispatch-warning-list span{padding:4px 8px;border-radius:999px;background:#f59e0b1f;color:#8a4b0e;font-size:.76rem}.dispatch-makeup-row .primary-btn:disabled{cursor:not-allowed;border-color:#17245f1a;background:#17245f14;color:var(--muted);box-shadow:none}.makeup-dispatch-modal-panel{width:min(760px,100%)}.makeup-open-modal-panel{width:min(820px,100%)}.makeup-open-form{gap:14px}.makeup-open-hour-list{display:grid;gap:8px;max-height:min(58vh,620px);overflow:auto;padding-right:4px}.makeup-open-count-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.makeup-open-hour-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid rgba(23,36,95,.1);border-radius:var(--radius-md);background:#ffffffbd}.makeup-open-hour-row.blocked{background:#17245f0a}.makeup-open-hour-main{display:grid;gap:2px;min-width:0}.makeup-open-hour-main strong{color:var(--ink)}.makeup-open-hour-main span,.makeup-open-hour-main small,.makeup-open-hour-control span{color:var(--ink-soft);font-size:.84rem}.makeup-open-hour-control{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.session-count-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(23,36,95,.16);border-radius:999px;background:#ffffffdb;color:var(--ink);font-weight:800;cursor:pointer}.session-count-btn.selected{border-color:#7b3aa380;background:#7b3aa321;color:var(--navy)}.session-count-btn:disabled{cursor:not-allowed;opacity:.38}.makeup-dispatch-confirm-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.makeup-dispatch-confirm-summary>div{display:flex;min-width:0;flex-direction:column;gap:4px}.makeup-dispatch-confirm-form textarea{resize:vertical}.dispatch-confirm-toggle{justify-content:flex-start;padding:10px 12px;border:1px solid rgba(23,36,95,.08);border-radius:var(--radius-md);background:#ffffffb8}@media(max-width:980px){.makeup-dispatch-board{grid-template-columns:1fr}.makeup-dispatch-column{max-height:clamp(340px,calc(100vh - var(--site-header-height, 0px) - 180px),640px)}}@media(max-width:640px){.makeup-dispatch-toggle,.makeup-dispatch-toggle-side,.makeup-dispatch-summary,.makeup-dispatch-toolbar,.dispatch-search-control,.makeup-dispatch-column-head,.dispatch-slot-primary,.dispatch-selected-slot-head,.dispatch-makeup-row-head,.dispatch-group-toggle{align-items:stretch;flex-direction:column}.makeup-dispatch-toggle-side,.makeup-dispatch-summary{justify-content:flex-start}.makeup-dispatch-column{max-height:clamp(320px,calc(100vh - var(--site-header-height, 0px) - 150px),560px)}.dispatch-slot-list,.dispatch-makeup-list{padding-right:0}.dispatch-group-toggle-side{justify-content:space-between;white-space:normal}.dispatch-slot-meta,.dispatch-makeup-meta,.makeup-dispatch-confirm-summary{grid-template-columns:1fr}.makeup-open-hour-row,.makeup-open-hour-control,.makeup-open-count-summary{align-items:stretch;grid-template-columns:1fr;justify-content:flex-start}.makeup-open-hour-control{flex-wrap:wrap}}.session-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#8eba3329;color:var(--lime-deep);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.capacity-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#13324b14;color:var(--navy);font-size:.78rem;font-weight:700}.capacity-pill.full-capacity{background:#d8c3a338;color:#6b5331}.capacity-pill.over-capacity{background:#b8463829;color:#9b3123}.queue-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.queue-form input:last-child{grid-column:1 / -1}.panel-divider{height:1px;background:#12263a14;margin:8px 0}.control-grid,.season-row-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.slot-head,.section-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.slot-head-actions{justify-content:flex-end;flex-wrap:wrap}.slot-meta{color:var(--ink-soft)}.section-toggle{width:100%;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.disclosure-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:92px;min-height:34px;padding:8px 14px;border:1px solid rgba(23,36,95,.14);border-radius:999px;background:#ffffffc7;color:var(--navy);font-size:.82rem;font-weight:800;letter-spacing:0;text-align:center;text-transform:none;box-shadow:0 10px 24px #0f165b0f}.disclosure-action.is-open{background:#6f4ab51f;border-color:#6f4ab53d}.section-panel{display:flex;flex-direction:column;gap:16px}.attention-panel{border-color:#7b3aa342;background:linear-gradient(145deg,#fffcf9fa,#f4eefff0),var(--surface);box-shadow:0 24px 54px #17245f24}.attention-panel .section-toggle .disclosure-action{display:inline-flex;align-items:center;gap:8px;color:var(--navy)}.attention-panel .section-toggle .disclosure-action:before{content:"";width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--navy));box-shadow:0 0 0 5px #7b3aa31f}.day-schedule-panel{order:1}.season-schedule-panel{order:2}.day-blocks-panel{order:3}.lower-schedule-grid{order:4}.duplicate-card-stack,.duplicate-section-stack,.duplicate-entry-list{display:grid;gap:12px}.duplicate-group-card{display:flex;flex-direction:column;gap:12px}.duplicate-group-head,.duplicate-entry-row,.duplicate-entry-actions{display:flex;gap:12px;flex-wrap:wrap}.duplicate-group-head,.duplicate-entry-row{align-items:flex-start;justify-content:space-between}.duplicate-group-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:4px;font-size:.9rem;color:var(--text-muted)}.duplicate-entry-row{padding-top:12px;border-top:1px solid rgba(23,36,95,.1)}.duplicate-entry-row:first-child{padding-top:0;border-top:none}.duplicate-entry-actions{align-items:center;justify-content:flex-end}.table-link{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:#17217b3d;text-underline-offset:.18em;transition:color .14s ease,text-decoration-color .14s ease}button.table-link{border:0;padding:0;background:transparent;cursor:pointer}.table-link:hover{color:var(--gold);text-decoration-color:#7b3aa375}.user-family-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.user-family-link{font-size:.98rem}.family-link-results{display:grid;gap:12px}.family-link-option{width:100%;text-align:left;border:1px solid rgba(23,36,95,.1);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.family-link-option:hover{transform:translateY(-1px);border-color:#17245f38;box-shadow:0 14px 30px #17245f14}.family-link-option.selected{border-color:#8eba3394;box-shadow:inset 0 0 0 1px #8eba3342;background:linear-gradient(180deg,#fafdf4fa,#eff7ddeb)}.family-link-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-actions{justify-content:flex-end}.swimmer-toolbar{background:linear-gradient(145deg,#fffffffa,#f1f6fff0),var(--surface)}.swimmer-summary-row{justify-content:flex-end;flex-wrap:wrap}.swimmer-table strong,.table-person strong{color:var(--ink)}.table-person{display:flex;flex-direction:column;gap:4px}.swimmer-modal-form{gap:18px}.swimmer-parent-note{align-items:flex-start}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.admin-overview-grid>*{min-width:0}.admin-overview-card{min-height:100%}.season-overview-card{grid-column:span 2}.season-count-pill{display:inline-flex;align-items:center;width:fit-content;margin-top:8px;padding:6px 10px;border-radius:999px;background:#65b8c824;color:var(--navy);font-size:.82rem;font-weight:700}.season-filter-controls{margin-bottom:12px}.filter-result-count{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.dashboard-action-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:100%;border:1px solid rgba(17,26,115,.08);background:var(--surface);color:inherit;text-decoration:none;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.dashboard-action-card:hover{transform:translateY(-2px);border-color:#17217b2e;box-shadow:0 28px 58px #0f165b29}.dashboard-action-card.attention-card{border-color:#7b3aa342;background:linear-gradient(145deg,#fffcf9fa,#f4eefff0),var(--surface)}.metric-card-meta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.metric-card-meta:after{content:"->";letter-spacing:0}.admin-overview-wide{grid-column:span 2}.employee-staffing-grid{align-items:start}.employee-directory-panel{display:flex;flex-direction:column;gap:18px}.employee-directory-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.employee-directory-toolbar h3{font-size:1.18rem}.employee-directory-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.employee-filter-grid{grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(132px,.8fr));gap:12px}.employee-table-wrap{scrollbar-gutter:stable}.employee-table{min-width:940px;table-layout:fixed}.employee-table th:nth-child(1),.employee-table td:nth-child(1){width:22%}.employee-table th:nth-child(2),.employee-table td:nth-child(2){width:14%}.employee-table th:nth-child(3),.employee-table td:nth-child(3){width:22%}.employee-table th:nth-child(4),.employee-table td:nth-child(4){width:20%}.employee-table th:nth-child(5),.employee-table td:nth-child(5){width:12%}.employee-table th:nth-child(6),.employee-table td:nth-child(6){width:10%}.employee-sort-button{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-height:30px;padding:0;border:0;background:transparent;color:var(--navy);cursor:pointer;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit}.employee-sort-button:hover,.employee-sort-button:focus-visible{color:var(--teal-dark)}.employee-sort-indicator{position:relative;display:inline-flex;width:9px;height:14px;flex:0 0 9px;color:var(--ink-soft);opacity:.42}.employee-sort-indicator:before{content:"";position:absolute;left:1px;border-right:4px solid transparent;border-left:4px solid transparent}.employee-sort-indicator:before{top:5px;border-top:5px solid currentColor}.employee-sort-indicator.asc:before{top:2px;border-top:0;border-bottom:6px solid currentColor}.employee-sort-indicator.desc:before{top:6px;border-top:6px solid currentColor}.employee-sort-button:hover .employee-sort-indicator,.employee-sort-button:focus-visible .employee-sort-indicator,.employee-sort-button.active .employee-sort-indicator{color:currentColor;opacity:1}.employee-table-wrap:focus{outline:3px solid rgba(101,184,200,.42);outline-offset:3px}.employee-name-cell,.employee-contact-cell,.employee-coverage-cell,.employee-invite-cell{overflow-wrap:anywhere}.employee-name-cell strong,.employee-contact-cell span,.employee-invite-cell span{display:block;color:var(--ink);line-height:1.25}.employee-name-cell small,.employee-contact-cell small,.employee-coverage-note,.employee-invite-cell small{display:block;margin-top:4px;color:var(--ink-soft);line-height:1.3}.employee-table-badges{align-items:flex-start;gap:6px}.employee-identity-badges{margin-top:8px}.employee-table-badges .role-badge,.employee-table .role-badge{min-height:24px;padding:4px 7px;font-size:.66rem;white-space:normal}.employee-actions-head,.employee-actions-cell{position:sticky;right:0;z-index:1;background:#fffffff5;box-shadow:-10px 0 18px #0f165b0f}.employee-actions-head{z-index:2;background:#f2f6fafa;text-align:right}.employee-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px}.employee-row-actions .secondary-btn{min-height:38px;min-width:0;padding:8px 10px;font-size:.75rem;line-height:1.15;white-space:normal}.employee-row-actions .employee-action-primary{flex-basis:100%}.staffing-queue-meta,.staffing-queue-pagination{align-items:center;justify-content:space-between}.staffing-queue-pagination{margin-top:4px}.staffing-action-stack{display:flex;flex-direction:column;gap:10px;min-width:260px}.employee-modal-stack{gap:18px}.employee-modal-section{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid rgba(23,36,95,.1);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffffeb,#f7faffc7),#ffffffd1}.employee-modal-section-head{display:flex;flex-direction:column;gap:4px}.employee-modal-section-head h3{font-size:1.18rem}.employee-identity-grid{grid-template-columns:minmax(180px,1fr) minmax(240px,1.2fr) minmax(170px,.8fr)}.employee-modal-split{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(180px,.8fr);gap:16px}.employee-modal-wide{grid-column:1 / -1}.employee-subhead{display:block;color:var(--ink);font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}.employee-capability-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.employee-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:10px}.employee-option-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.employee-choice-card{align-items:flex-start;display:flex;gap:.7rem;min-height:58px;padding:.78rem .86rem;border:1px solid rgba(23,36,95,.12);border-radius:14px;background:#eaf0fb75;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.employee-choice-card:hover{background:#73d6f71f;border-color:#17245f33;transform:translateY(-1px)}.employee-choice-card:has(input:checked){background:#e5f2d694;border-color:#366b1c3d}.employee-choice-card:has(input:disabled){cursor:not-allowed;opacity:.62;transform:none}.employee-choice-card input{flex:0 0 auto;width:18px;height:18px;margin-top:.16rem;accent-color:var(--navy)}.employee-choice-card span{display:flex;min-width:0;flex-direction:column;gap:2px}.employee-choice-card strong{color:var(--ink);line-height:1.2}.employee-choice-card small{color:var(--ink-soft);line-height:1.32}.communication-extra-permissions{margin-top:4px}.employee-modal-actions{justify-content:flex-end}.admin-program-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-program-card{min-height:100%;scroll-margin-top:clamp(96px,16vw,160px)}.admin-program-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.admin-program-head-clickable{cursor:pointer}.admin-program-head-clickable:hover .disclosure-action,.family-card-header:hover .disclosure-action,.section-toggle:hover .disclosure-action{border-color:#17245f47;background:#fffffff2}.admin-program-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.admin-program-badges{justify-content:flex-end;flex-wrap:wrap}.program-status-list{display:flex;flex-direction:column;gap:12px}.program-status-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.95fr);gap:16px;border:1px solid rgba(23,36,95,.08)}.program-status-item.pending-item{border-color:#c28e1f47;background:linear-gradient(180deg,#fffaf0fa,#fff6e6f5)}.program-status-main,.program-status-actions{display:flex;flex-direction:column;gap:12px}.program-status-head{display:flex;flex-direction:column;gap:4px}.program-status-head strong{color:var(--ink)}.program-status-head span{color:var(--ink-soft)}.program-status-members,.program-status-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.program-status-billing{display:flex;flex-direction:column;gap:8px}.compact-toggle{padding:10px 12px;border:1px solid rgba(23,36,95,.08);border-radius:12px;background:#ffffffc2}.program-status-button-row{margin-top:auto}.delivery-strip{justify-content:space-between;min-height:100%}.delivery-strip-body{display:flex;flex-direction:column;gap:14px}.delivery-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.delivery-stat{padding:14px 16px;border-radius:16px;border:1px solid rgba(23,36,95,.08);background:#ffffffc7}.delivery-stat span{display:block;margin-bottom:4px;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.delivery-stat strong{display:block;color:var(--ink);font-size:.98rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.delivery-note{padding:12px 14px;border-radius:14px;border:1px solid rgba(23,36,95,.08);background:#ffffffb3}.delivery-note code{overflow-wrap:anywhere}.recommendation-list,.season-list{display:flex;flex-direction:column;gap:12px}.suggestion-card,.lookup-item,.inline-note,.schedule-block-card,.day-block-card{border:1px solid rgba(18,38,58,.08);border-radius:14px;background:#ffffffc2}.suggestion-card{padding:10px}.schedule-block-card,.day-block-card{display:flex;flex-direction:column;gap:8px}.closed-block{border-color:#b846382e;background:linear-gradient(180deg,#fff7f4fa,#ffede7f5)}.event-block{border-color:#1c789633;background:linear-gradient(180deg,#f2fbfffa,#e4f5fcf5)}.block-continuation{justify-content:center;min-height:84px}.suggestion-card small,.lookup-item small,.inline-note span{color:var(--ink-soft)}.suggestion-btn{justify-content:flex-start;text-align:left;width:100%}.slot-assign-btn{width:100%}.lookup-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.lookup-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:10px 12px;cursor:pointer;text-align:left}.lookup-item:hover{border-color:#6f4ab547;background:#6f4ab512}.lookup-empty{display:block;padding:2px 2px 0;color:var(--ink-soft)}.inline-note{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px}.placement-preview-note{margin-top:4px}.empty-slot-alert{border-color:#9c433238;background:var(--danger-bg)}.empty-slot-picker{gap:12px}.open-slot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.single-availability-panel{display:grid;gap:14px;padding:16px;border:1px solid rgba(18,38,58,.08);border-radius:var(--radius-md);background:#ffffffb8}.single-availability-head,.single-availability-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.single-availability-head strong,.single-availability-day-head strong{color:var(--ink)}.single-availability-days{display:grid;gap:10px}.compact-availability-days{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.single-availability-day{display:grid;gap:10px;padding:12px;border:1px solid rgba(18,38,58,.08);border-radius:8px;background:#ffffffc7}.single-availability-day-head span{color:var(--ink-soft);font-size:.86rem}.single-availability-slots{display:flex;flex-wrap:wrap;gap:8px}.slot-choice-btn{min-height:38px;padding:8px 12px}.slot-choice-btn.active{border-color:var(--navy);background:var(--aqua-soft)}.waitlist-choice-toggle{align-items:center;margin-top:2px}.family-availability-note{align-items:flex-start}.inline-note strong{color:var(--ink)}.queue-actions,.slot-head{flex-wrap:wrap}.season-row{padding:18px;border:1px solid rgba(18,38,58,.08);border-radius:var(--radius-md);background:#ffffffbd}.season-manager-panel{display:grid;gap:16px;padding:20px}.season-manager-head,.season-section-head,.season-row-head,.season-row-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.season-manager-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.season-manager-head .detail-note{max-width:430px;padding:9px 11px;border:1px solid rgba(23,36,95,.1);border-radius:8px;background:#eaf0fbb8}.season-section-stack{display:grid;gap:14px}.season-compact-section{display:grid;gap:9px}.season-section-head{align-items:center}.season-section-head h4,.season-row-head h4{margin:0;color:var(--ink);font-size:1rem;line-height:1.25}.compact-season-list{gap:8px}.compact-season-row{display:grid;gap:11px;padding:13px;border-radius:10px;box-shadow:none}.waitlist-mode-row{border-color:#9c433238;background:linear-gradient(180deg,#fff9f6fa,#f7e4df80)}.season-row-head{align-items:center}.season-row-head>div:first-child{min-width:220px}.season-row-head span{color:var(--ink-soft);font-size:.88rem}.compact-season-grid{grid-template-columns:minmax(180px,1.35fr) repeat(5,minmax(116px,1fr));gap:10px;align-items:end}.compact-season-grid .field{gap:4px}.compact-season-grid .field>span{font-size:.78rem}.compact-season-grid input,.compact-season-grid select{min-height:38px;padding:8px 10px;border-radius:9px}.season-row-actions{align-items:center;padding-top:10px;border-top:1px solid rgba(23,36,95,.08)}.season-row-actions .button-row{margin-left:auto}.season-tool-panel{padding:18px 20px}.season-tool-panel summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px}.season-tool-panel[open] summary{padding-bottom:12px;border-bottom:1px solid var(--line)}.document-panel{gap:18px}.document-link-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.document-link{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid rgba(18,38,58,.1);border-radius:var(--radius-md);background:#ffffffd6}.document-link:hover{border-color:#6f4ab547;background:#6f4ab512}.admin-seasons-layout{align-items:start}.season-admin-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.collapsed-panel summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.collapsed-panel summary::-webkit-details-marker{display:none}.collapsed-panel[open]{display:flex;flex-direction:column;gap:18px}.modal-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#12263a6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-panel{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;border-radius:var(--radius-xl);border:1px solid rgba(18,38,58,.08);background:linear-gradient(180deg,#fffffffa,#f6f9fffa),#fff;box-shadow:0 26px 70px #12263a47}.modal-panel.employee-modal-panel{width:min(1120px,100%)}.modal-panel-wide{width:min(1360px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.modal-close{width:auto}.modal-stack{display:flex;flex-direction:column;gap:14px}.user-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.user-card{padding:22px;min-height:0;min-width:0}.user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.user-card-head>div,.user-card .detail-list,.user-card .detail-list p{min-width:0}.user-card h3,.user-card .detail-list p{overflow-wrap:anywhere}.user-card .badge-row{flex-wrap:wrap;align-items:flex-start;row-gap:10px}.user-card .role-badge{max-width:100%;white-space:normal;text-align:center}.user-card .button-row{flex-wrap:wrap;align-items:stretch}.user-card .button-row .primary-btn,.user-card .button-row .secondary-btn,.user-card .button-row .danger-btn{flex:1 1 118px;min-width:0}.mini-stats{gap:10px}@media(max-width:1080px){.hero-layout,.page-intro,.content-grid,.split-panels,.auth-layout,.dashboard-grid,.portal-grid,.makeup-help-grid,.program-grid{grid-template-columns:1fr}.schedule-grid,.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-card-grid,.admin-overview-grid,.admin-program-grid,.delivery-stat-grid{grid-template-columns:1fr}.admin-overview-wide,.season-overview-card{grid-column:span 1}.employee-capability-layout,.employee-identity-grid,.employee-modal-split{grid-template-columns:1fr}.employee-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-filter-grid .field:first-child{grid-column:1 / -1}.employee-table{min-width:900px}.employee-actions-head,.employee-actions-cell{position:static;box-shadow:none}.hero-title{max-width:none}.text-updates-page .content-grid{grid-template-columns:1fr}.sms-proof-flow,.sms-proof-details{grid-template-columns:1fr 1fr}}@media(max-width:980px){.header-inner{flex-wrap:wrap;gap:14px;padding:14px 0}.menu-toggle{display:inline-flex;width:auto}.header-nav-wrap{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:8px}.header-nav-wrap.open{display:flex}.site-nav,.header-actions{width:100%;flex-direction:column;align-items:stretch}.nav-link,.header-actions .primary-btn,.header-actions .secondary-btn,.signed-in-pill{width:100%}.signed-in-pill{max-width:none;text-align:center}.admin-sticky-nav-inner{justify-content:center}}@media(max-width:900px){.employee-table{min-width:730px}.employee-table th:nth-child(1),.employee-table td:nth-child(1){width:27%}.employee-table th:nth-child(2),.employee-table td:nth-child(2){width:16%}.employee-table th:nth-child(3),.employee-table td:nth-child(3){display:none}.employee-table th:nth-child(4),.employee-table td:nth-child(4){width:27%}.employee-table th:nth-child(5),.employee-table td:nth-child(5){width:15%}.employee-table th:nth-child(6),.employee-table td:nth-child(6){width:15%}.employee-actions-head,.employee-actions-cell{position:static;box-shadow:none}}@media(min-width:641px)and (max-width:1180px){.announcement-inner{padding:8px 0;font-size:.74rem}.header-inner{gap:12px;padding:10px 0}.brand{gap:10px}.brand-logo{width:50px;height:38px}.brand-copy strong{font-size:.98rem}.brand-copy span{font-size:.76rem}.header-nav-wrap,.site-nav,.header-actions{gap:8px}.nav-link,.primary-btn,.secondary-btn,.danger-btn{min-height:38px;padding:8px 12px;font-size:.88rem}.signed-in-pill{padding:8px 11px;font-size:.86rem;max-width:190px}.menu-toggle{min-height:38px;padding:8px 12px;font-size:.88rem}.admin-sticky-nav{padding:6px 0}.admin-sticky-nav-inner{gap:6px}.admin-sticky-link{min-height:32px;padding:6px 9px;font-size:.78rem}}@media(max-width:820px){:root{--shell: min(1180px, calc(100vw - 28px) )}.announcement-inner{flex-direction:column;gap:6px}.header-inner{flex-wrap:wrap}.menu-toggle{display:inline-flex}.header-nav-wrap{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:8px}.header-nav-wrap.open{display:flex}.site-nav,.header-actions{width:100%;flex-direction:column;align-items:stretch}.nav-link,.primary-btn,.secondary-btn,.danger-btn,.signed-in-pill{width:100%}.signed-in-pill{max-width:none;text-align:center}.hero-copy,.panel,.season-card,.auth-stage,.auth-form-card,.auth-support-card,.auth-token-panel{padding:22px}.page-wrap{padding-top:28px}.form-columns,.address-city-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.schedule-grid,.queue-form,.control-grid,.season-row-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-card-top{align-items:flex-start}.swimmer-summary-row{justify-content:flex-start}.program-status-item{grid-template-columns:1fr}.admin-program-head{flex-direction:column}.admin-program-head-actions{width:100%;align-items:stretch}.modal-panel{padding:20px}.portal-makeup-option-card{grid-template-columns:auto minmax(110px,.7fr) minmax(0,1fr)}.portal-makeup-option-card .role-badge{grid-column:2 / -1;justify-self:start}.schedule-filter-day-grid,.season-age-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-ops-grid,.compact-form-grid{grid-template-columns:1fr}.compact-form-grid .span-2{grid-column:auto}.weather-batch-controls{grid-template-columns:1fr}.roster-swimmer-head,.roster-action-row{flex-direction:column;align-items:stretch}.roster-action-row>*{flex-basis:auto}}@media(max-width:640px){.admin-sticky-nav{padding:8px 0}.admin-sticky-nav-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-sticky-link{width:100%;min-height:36px;padding:7px 8px;font-size:.82rem}.employee-directory-toolbar{flex-direction:column}.employee-directory-summary{justify-content:flex-start}.employee-filter-grid{grid-template-columns:1fr}.employee-filter-grid .field:first-child{grid-column:auto}.employee-table{min-width:730px}.employee-actions-head,.employee-actions-cell{position:static;box-shadow:none}.season-usage-table-wrap{overflow:visible;border:0;background:transparent}.season-usage-table{display:block;min-width:0}.season-usage-table thead{display:none}.season-usage-table tbody{display:grid;gap:8px}.season-usage-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffc7}.season-usage-table td{display:flex;justify-content:space-between;gap:12px;padding:0;border-bottom:0;white-space:normal;text-align:right}.season-usage-table td:before{content:attr(data-label);color:var(--ink-soft);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left}.season-usage-table td:first-child{grid-column:1 / -1;width:auto;padding-bottom:5px;border-bottom:1px solid rgba(18,38,58,.08);font-weight:700;text-align:left}.season-usage-table td:first-child:before{display:none}}@media(max-width:560px){.hero-band,.section-band{padding:24px 0}h2{font-size:clamp(1.9rem,9vw,2.8rem)}.button-row,.badge-row,.inline-form,.auth-inline-actions{flex-direction:column;align-items:stretch}th,td{padding:12px}.announcement-inner,.modal-head{flex-direction:column;align-items:flex-start}.schedule-grid,.queue-form,.document-link-list,.control-grid,.season-row-grid,.metric-grid,.portal-makeup-detail-grid{grid-template-columns:1fr}.portal-makeup-option-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.portal-makeup-option-detail,.portal-makeup-option-card .role-badge{grid-column:2}.inline-head>.schedule-filters{flex-wrap:wrap;justify-content:flex-start}.schedule-filters select,.schedule-filters .secondary-btn{flex:1 1 128px;justify-content:center}.schedule-filter-day-grid,.season-age-filter-grid,.sms-topic-grid,.sms-proof-card,.sms-proof-flow,.sms-proof-details{grid-template-columns:1fr}.staffing-action-stack,.employee-option-grid,.employee-option-grid.compact{min-width:0;grid-template-columns:1fr}.employee-modal-section{padding:14px}.employee-modal-actions{align-items:stretch}.session-card-top{flex-wrap:wrap}.session-age-label,.session-card-type{font-size:.84rem}.schedule-slot,.group-card{padding:14px}.modal-backdrop{padding:12px}.modal-panel{max-height:calc(100vh - 24px);padding:16px;border-radius:22px}.roster-summary-pill{width:100%;justify-content:center}.roster-attendance-row{flex-direction:column;align-items:stretch}}@media(max-width:360px){.admin-sticky-link{padding:6px 5px;font-size:.74rem}}.family-card-list{display:flex;flex-direction:column;gap:12px}.family-card{contain:layout paint;transition:box-shadow .15s ease}.family-card.expanded{box-shadow:var(--shadow)}.family-card-header{display:flex;align-items:center;cursor:pointer;padding:2px 0;min-width:0}.family-card-overview{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(140px,1.05fr) minmax(130px,.9fr) minmax(180px,1.35fr) minmax(140px,1fr) minmax(150px,1fr) minmax(92px,auto);gap:10px 16px;flex:1 1 auto;align-items:center;min-width:0;width:100%}.family-card-column{display:flex;flex-direction:column;gap:4px;min-width:0;padding-right:8px;border-right:1px solid rgba(23,36,95,.09)}.family-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:0 0 auto;min-width:0}.family-card-title strong{min-width:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-card-subtitle{color:var(--ink-soft);font-size:.86rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-card-label{color:var(--ink-soft);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.family-card-column strong{font-size:.98rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-card-column span{min-width:0}.family-card-secondary{color:var(--ink-soft);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-card-program-badges{display:flex;flex-wrap:wrap;gap:6px}.family-card-column-programs{padding-right:0}.family-card-column-lessons{border-right:none;padding-right:0}.family-card-disclosure{flex:0 0 auto;justify-self:end}.family-card-body{display:flex;flex-direction:column;gap:20px;padding-top:16px;border-top:1px solid var(--line);margin-top:12px}.family-section{display:flex;flex-direction:column;gap:10px}.family-member-row,.family-swimmer-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 0;border-bottom:1px solid var(--line)}.family-member-row:last-of-type,.family-swimmer-row:last-of-type{border-bottom:none}.family-member-info{display:flex;flex-wrap:wrap;gap:4px 12px;flex:1 1 200px;align-items:baseline}.family-swimmer-info{flex-direction:column;align-items:flex-start;gap:4px}.family-member-badges{display:flex;flex-wrap:wrap;gap:6px}.family-member-actions{justify-content:flex-end}.family-swimmer-placement{color:var(--ink);font-size:.92rem;font-weight:600}.family-program-lesson-state{display:flex;flex-direction:column;gap:12px}.family-program-lesson-state .inline-head{align-items:flex-start}.family-program-editor{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.family-program-editor .field{min-width:min(280px,100%);flex:0 1 320px}.family-program-editor-actions{margin-left:auto}.family-review-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--danger-bg);border-left:4px solid var(--danger)}.family-review-banner-btn{width:auto;flex:0 0 auto}.family-account-setup-section{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.family-account-setup-head{align-items:flex-start}.family-account-setup-details{margin-top:10px}.family-toolbar{display:flex;flex-direction:column}.merge-family-form{display:block}.merge-modal-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.merge-modal-stack *,.merge-confirm-summary *,.merge-confirm-card *{min-width:0}.merge-search-card{display:flex;flex-direction:column;gap:12px}.merge-search-head,.merge-family-column-head,.merge-field-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.merge-candidate-list,.merge-record-list,.merge-field-list{display:flex;flex-direction:column;gap:10px}.merge-suggestion-strip{display:grid;gap:8px}.merge-candidate-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;overflow-wrap:anywhere;text-align:left}.merge-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0}.merge-family-column{display:flex;flex-direction:column;gap:14px;min-width:0;overflow-wrap:anywhere}.merge-family-column h3,.merge-family-detail-list,.merge-field-card,.merge-editor-card,.merge-confirm-summary,.merge-confirm-card,.merge-record-row{min-width:0;overflow-wrap:anywhere}.merge-family-detail-list p{margin:2px 0}.merge-family-section{display:flex;flex-direction:column;gap:10px}.merge-survivor-note{margin-top:-6px}.merge-record-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.merge-record-row:last-child{border-bottom:none}.merge-record-row>div{display:flex;flex-direction:column;gap:4px;flex:1 1 190px}.merge-record-actions,.merge-editor-head,.merge-editor-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.merge-survivor-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.merge-summary-badges{align-items:flex-start;flex-wrap:wrap}.merge-field-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-lg);background:#ffffffc7;border:1px solid rgba(18,38,58,.08)}.merge-field-note{display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.merge-editor-list,.merge-editor-card,.merge-confirm-summary,.merge-confirm-card{display:flex;flex-direction:column;gap:12px}.merge-editor-card{padding:14px;border-radius:var(--radius-lg);background:#ffffffc7;border:1px solid rgba(18,38,58,.08)}.merge-editor-card-head>div:first-child,.merge-editor-head>div:first-child{display:flex;flex-direction:column;gap:4px}.merge-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.merge-source-note{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--radius-md);background:#16235c0d;border:1px dashed rgba(22,35,92,.16);color:var(--text-muted)}.merge-primary-toggle.active{background:#16235c1f;border-color:#16235c47;color:var(--navy)}.merge-empty-note{margin:0}.merge-modal-stack .button-row,.merge-modal-stack .table-actions,.merge-confirm-card .button-row{flex-wrap:wrap}.merge-modal-stack input,.merge-modal-stack textarea,.merge-modal-stack select{max-width:100%}.family-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.family-filter-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.detail-list p{margin:2px 0}@media(max-width:1260px)and (min-width:1101px){.family-card-column-action{grid-column:1 / span 6;border-right:none}.family-recommended-action{justify-self:start;margin-left:0;max-width:260px}.family-card-disclosure{grid-column:7;grid-row:1 / span 2;align-self:center}}@media(max-width:1100px){.family-card-overview{grid-template-columns:minmax(220px,1.5fr) minmax(170px,1fr) minmax(150px,.9fr) 24px}.family-card-column-programs,.family-card-column-lessons{border-right:none;padding-right:0}.family-card-column-programs{grid-column:1 / span 2}.family-card-column-lessons{grid-column:3}.family-card-column-action{grid-column:1 / span 3;border-right:none;padding-right:0}.family-card-disclosure{grid-column:4;grid-row:1 / span 3;align-self:center}}@media(max-width:1180px){.merge-modal-grid,.merge-editor-grid{grid-template-columns:1fr}.merge-family-column-head,.merge-field-head,.merge-record-actions,.merge-editor-head,.merge-editor-card-head{flex-direction:column;align-items:stretch}}@media(max-width:720px){.family-card-overview{grid-template-columns:1fr}.family-card-header{flex-direction:column;align-items:stretch}.family-card-disclosure{align-self:flex-end;justify-self:end}.family-card-column{border-right:none;padding-right:0}.family-card-subtitle,.family-card-column strong,.family-card-secondary{white-space:normal}.family-member-actions{width:100%;justify-content:flex-start}.family-program-editor-actions{margin-left:0;width:100%}.family-review-banner,.merge-search-head,.merge-record-actions,.merge-editor-head,.merge-editor-card-head{flex-direction:column;align-items:stretch}}.access-badge-manager{background:var(--success-bg);color:var(--success)}.access-badge-view_only{background:var(--aqua-soft);color:var(--navy)}.access-badge-contact_only{background:var(--bg-muted);color:var(--ink-soft)}.roster-attendance-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;background:var(--bg-muted)}.attendance-label{font-size:.85rem;color:var(--ink-soft);font-weight:600;min-width:80px}.attendance-btn{font-size:.82rem;padding:4px 12px}.attendance-btn.active{background:var(--success-bg);color:var(--success);border-color:var(--success)}.attendance-btn.active.absent{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.attendance-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--line);vertical-align:middle}.attendance-dot.present{background:var(--success)}.attendance-dot.absent{background:var(--danger)}.muted{color:var(--ink-soft);font-style:italic}.attendance-page{width:min(1780px,100%);gap:14px}.attendance-page .page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:0}.attendance-page .page-intro-copy{gap:7px}.attendance-page .page-intro h2{font-size:clamp(1.9rem,2.8vw,2.8rem)}.attendance-page .intro-text{max-width:92ch;font-size:.92rem}.attendance-page .page-intro .button-row{gap:8px;flex-wrap:wrap}.attendance-page .page-intro .primary-btn,.attendance-page .page-intro .secondary-btn{min-height:36px;padding:8px 13px}.attendance-toolbar,.attendance-date-control,.attendance-time-head,.attendance-class-head,.attendance-time-toggle,.attendance-time-actions,.attendance-class-actions{display:flex;align-items:center;gap:10px}.attendance-toolbar{justify-content:space-between;flex-wrap:wrap;padding:14px 16px}.attendance-date-control{min-width:min(100%,420px)}.attendance-date-control .field{min-width:220px}.attendance-metrics{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:8px;flex:1;min-width:min(100%,680px)}.attendance-metrics .summary-badge{min-width:0;padding:8px 10px;border-radius:8px}.attendance-metrics .summary-badge strong{font-size:.96rem}.attendance-metrics .summary-badge span{font-size:.66rem}.attendance-roster-stack,.attendance-class-stack,.attendance-table-actions,.attendance-note-cell,.attendance-message-modal,.attendance-swimmer-modal,.attendance-release-confirm-modal,.attendance-future-lesson-list,.attendance-past-lesson-list,.attendance-makeup-picker{display:flex;flex-direction:column;gap:8px}.attendance-time-block{padding:0;overflow:hidden}.attendance-time-head{justify-content:space-between;padding:10px 12px;background:linear-gradient(90deg,#17217b12,#73d6f714),#ffffffb8}.attendance-time-block.is-open .attendance-time-head{border-bottom:1px solid var(--line)}.attendance-time-toggle{flex:1;min-width:0;justify-content:flex-start;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.attendance-time-toggle:hover .disclosure-action{border-color:#17245f47;background:#fffffff2}.attendance-time-summary{color:var(--ink-soft);font-size:.82rem;font-weight:700;white-space:nowrap}.attendance-time-actions{flex:0 0 auto}.attendance-time-head h3,.attendance-class-head h4{margin:0}.attendance-class-stack{padding:8px}.attendance-class-card{display:flex;flex-direction:column;gap:5px;padding:6px;border:1px solid rgba(23,36,95,.12);border-radius:8px;background:#ffffffc7}.attendance-class-head{justify-content:space-between;align-items:center;gap:10px}.attendance-class-title{min-width:190px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.attendance-class-title .eyebrow{flex:0 0 100%;font-size:.64rem;letter-spacing:.13em}.attendance-class-actions{justify-content:flex-end;flex-wrap:wrap;flex:1}.attendance-instructor-field{display:grid;grid-template-columns:auto minmax(170px,260px);align-items:center;gap:5px;color:var(--ink-soft);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.attendance-instructor-field select{min-height:28px;padding:3px 8px;border-radius:8px;font-size:.82rem;letter-spacing:0;text-transform:none}.attendance-suggestion-row{gap:6px}.attendance-warning{padding:6px 8px;border-radius:8px;background:var(--danger-bg);color:var(--danger)}.attendance-inline-warning{min-height:20px;padding:2px 6px;font-size:.58rem;letter-spacing:.06em}.attendance-table-wrap{border-radius:8px}.attendance-table{min-width:1060px;font-size:.82rem}.attendance-table th{font-size:.62rem;letter-spacing:.07em;padding:4px 7px}.attendance-class-card+.attendance-class-card .attendance-table thead{display:none}.attendance-table td{padding:3px 7px;line-height:1.2;vertical-align:middle}.attendance-table-actions{align-items:center;flex-direction:row;flex-wrap:nowrap;gap:5px;min-width:260px}.attendance-mark-buttons{gap:4px;flex-wrap:nowrap}.attendance-note-cell{align-items:center;flex-direction:row;min-width:330px;gap:5px}.attendance-note-cell textarea,.attendance-message-modal textarea{width:100%;resize:vertical}.attendance-note-cell textarea{flex:1;min-width:130px;min-height:25px;padding:3px 6px;border-radius:8px;font-size:.78rem}.attendance-compact-btn,.attendance-btn{min-height:25px;padding:4px 8px;border-radius:999px;font-size:.72rem;line-height:1}.attendance-btn.active{border-color:#1f7a4b52;background:#1f7a4b1f;color:var(--success)}.attendance-btn.active.absent{border-color:#c3543852;background:var(--danger-bg);color:var(--danger)}.attendance-disclosure{min-width:64px;min-height:30px;padding:6px 10px;font-size:.76rem}.attendance-table .role-badge{min-height:24px;padding:3px 7px;font-size:.62rem;white-space:nowrap}.attendance-table .table-cell-note{display:inline;margin:0 0 0 6px;font-size:.68rem}button.attendance-swimmer-link{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;width:100%;min-height:32px;padding:3px 0;font:inherit;line-height:1.2;text-align:left;text-decoration:none}button.attendance-swimmer-link strong{text-decoration:underline;text-decoration-color:#17217b3d;text-underline-offset:.18em}button.attendance-swimmer-link:hover strong{text-decoration-color:#7b3aa375}.attendance-swimmer-link .table-cell-note{margin:0;color:var(--ink-soft);font-weight:700}.attendance-day-alert{align-items:center}.attendance-recipient-preview{margin-top:10px}.attendance-swimmer-modal-panel{width:min(760px,calc(100vw - 28px))}.attendance-swimmer-summary-card,.attendance-future-lessons-head,.attendance-future-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-swimmer-summary-card h4,.attendance-future-lessons-head h4{margin:0}.attendance-swimmer-metrics{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:8px;min-width:min(100%,340px)}.attendance-makeup-credit-card{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;row-gap:2px}.attendance-makeup-credit-card strong,.attendance-makeup-credit-card span,.attendance-makeup-credit-card small{min-width:0}.attendance-makeup-credit-card small{color:var(--ink-soft);font-size:.68rem;font-weight:700;line-height:1.15}.attendance-makeup-credit-actions{display:inline-flex;grid-column:2;grid-row:1 / span 3;gap:4px}.attendance-credit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border-radius:999px;font-size:.9rem;font-weight:800;line-height:1}.attendance-credit-btn:disabled{opacity:.46}.attendance-future-lessons-card,.attendance-past-lessons-card{display:flex;flex-direction:column;gap:10px}.attendance-future-lessons-head{align-items:flex-start}.attendance-future-lesson-row{flex-wrap:wrap;align-items:stretch;padding:9px;border:1px solid rgba(23,36,95,.11);border-radius:8px;background:#ffffffb8}.attendance-past-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px;border:1px solid rgba(23,36,95,.1);border-radius:8px;background:#ffffffa8}.attendance-past-lesson-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.attendance-past-lesson-row span,.attendance-past-lesson-row small{color:var(--ink-soft)}.attendance-past-lesson-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.attendance-future-lesson-main{display:flex;flex-direction:column;gap:3px;min-width:0}.attendance-future-lesson-main span,.attendance-future-lesson-main small{color:var(--ink-soft)}.attendance-release-warning{color:var(--danger)!important;font-weight:700}.attendance-future-lesson-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:160px}.attendance-makeup-picker{flex:1 0 100%;padding-top:8px;border-top:1px solid rgba(23,36,95,.1)}.attendance-makeup-option-list{display:grid;gap:8px}@media(max-width:1100px){.attendance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-class-head{align-items:stretch;flex-direction:column}.attendance-class-actions{justify-content:flex-start}.attendance-instructor-field{grid-template-columns:1fr;min-width:min(100%,280px)}.attendance-time-summary{white-space:normal}}@media(max-width:720px){.attendance-toolbar,.attendance-date-control,.attendance-time-head,.attendance-time-toggle{align-items:stretch;flex-direction:column}.attendance-time-actions{width:100%}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.attendance-class-actions,.attendance-class-actions .secondary-btn,.attendance-class-actions .primary-btn,.attendance-time-head .secondary-btn{width:100%}.attendance-swimmer-summary-card,.attendance-future-lessons-head,.attendance-future-lesson-row,.attendance-past-lesson-row{align-items:stretch;flex-direction:column}.attendance-swimmer-metrics{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.attendance-makeup-credit-card{grid-column:1 / -1}.attendance-future-lesson-actions{justify-content:flex-start;min-width:0}}.day-pass-page,.admin-day-passes-page{width:min(1260px,100%);margin:0 auto}.day-pass-stat-panel{display:grid;grid-template-columns:1fr;gap:10px}.day-pass-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.day-pass-form-panel,.day-pass-checkin-panel,.day-pass-admin-toolbar{background:linear-gradient(145deg,#fffffffa,#f1f9fff0),var(--surface)}.day-pass-form{margin-top:16px}.day-pass-rules-toggle{align-items:flex-start}.day-pass-checkin-panel{align-self:start;display:flex;flex-direction:column;gap:14px}.day-pass-table-wrap{margin-top:14px}.day-pass-detail-stack{gap:18px}.day-pass-reviewed-toggle{align-self:end;min-height:48px}.waiver-account-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(145deg,#fafdf4fa,#e5f2d6b8),var(--surface)}@media(max-width:900px){.day-pass-layout,.waiver-account-prompt{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.day-pass-reviewed-toggle{align-self:stretch}}.waiver-page{width:min(1260px,100%);margin:0 auto;gap:18px}.waiver-page .page-intro{grid-template-columns:minmax(0,1.4fr) minmax(260px,.65fr);gap:18px;margin-bottom:0}.waiver-page .page-intro-copy{gap:10px}.waiver-page .stat-panel{display:grid;grid-template-columns:1fr;gap:10px;padding:18px}.waiver-page .summary-badge{min-height:0;padding:14px 16px}.signature-pad{display:flex;flex-direction:column;gap:10px;width:100%}.signature-pad canvas{display:block;width:100%;height:clamp(240px,58vh,520px);height:clamp(240px,58svh,520px);min-height:0;border:1px solid rgba(23,36,95,.18);border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #73d6f71a;cursor:crosshair;overscroll-behavior:contain;touch-action:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.signature-pad-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:.9rem;font-weight:600}.waiver-signing-layout{display:grid;align-items:start;justify-content:center;grid-template-columns:minmax(0,900px);gap:18px}.waiver-signing-layout>.panel{padding:22px}.waiver-form{gap:16px}.waiver-participant-stack,.waiver-participant-list,.waiver-file-list,.waiver-year-list{display:flex;flex-direction:column;gap:12px}.waiver-participant-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,220px) auto;align-items:end;gap:12px;padding:12px;border:1px solid rgba(23,36,95,.1);border-radius:14px;background:#ffffff9e}.waiver-status-panel,.paper-waiver-panel,.waiver-admin-toolbar{background:linear-gradient(145deg,#fffffffa,#f1f9fff0),var(--surface)}.waiver-mode-tabs{margin:14px 0 16px}.waiver-auth-tabs{width:min(100%,520px)}.waiver-auth-tabs button{flex:1 1 0}.signature-launch-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(23,36,95,.12);border-radius:16px;background:linear-gradient(145deg,#fffffffa,#f1f9fff0),var(--surface)}.signature-launch-card.signed{border-color:#366b1c47;background:linear-gradient(145deg,#fafdf4fa,#e5f2d6b8),var(--surface)}.waiver-review-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(23,36,95,.12);border-radius:16px;background:linear-gradient(145deg,#fffffffa,#faf6e8eb),var(--surface)}.waiver-review-panel>div{min-width:0}.waiver-review-panel .intro-text{margin-top:6px}.signature-launch-card>div:first-child{display:flex;min-width:0;flex-direction:column;gap:3px}.signature-launch-card strong{color:var(--ink)}.signature-launch-card span{color:var(--ink-soft);font-size:.92rem}.signature-modal-panel{width:min(1040px,calc(100vw - 28px));min-height:min(820px,calc(100vh - 28px));min-height:min(820px,calc(100svh - 28px));display:flex;flex-direction:column;overscroll-behavior:contain}.modal-backdrop:has(.signature-modal-panel){align-items:stretch;padding:14px}.signature-modal-panel .modal-head{margin-bottom:14px}.signature-modal-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:16px}.signature-modal-body .signature-pad{flex:1;min-height:0}.signature-modal-body .signature-pad canvas{flex:0 0 auto;height:clamp(360px,64vh,640px);min-height:0}.signature-modal-actions{margin-top:auto}.signature-modal-actions .primary-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.waiver-swimmer-checklist{display:grid;gap:8px;padding:14px;border:1px solid rgba(23,36,95,.1);border-radius:14px;background:#ffffffa8}.waiver-family-results{grid-column:1 / -1;max-height:340px;overflow:auto;padding-right:4px}.waiver-admin-grid{align-items:start}.waiver-admin-grid>.paper-waiver-panel{grid-column:1 / -1}.waiver-table-wrap{margin-top:14px}.waiver-table td{vertical-align:top}.compact-badge-row{gap:5px}.compact-badge-row .role-badge{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waiver-year-card,.waiver-participant-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.waiver-year-card>div:first-child,.waiver-participant-card>div:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.waiver-year-card span,.waiver-year-card small,.waiver-participant-card span,.waiver-participant-card small{color:var(--ink-soft)}.waiver-participant-card select{min-width:220px}.waiver-detail-stack{gap:18px}.waiver-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.waiver-detail-summary .mini-card{min-height:92px}.waiver-detail-summary span{color:var(--ink-soft);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.waiver-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.waiver-file-link{align-items:flex-start}.waiver-signature-preview{display:block;width:100%;max-height:220px;object-fit:contain;border:1px solid rgba(23,36,95,.12);border-radius:10px;background:#fff}.waiver-detail-modal .detail-list{display:grid;gap:6px;color:var(--ink-soft)}@media(max-width:900px){.waiver-page,.waiver-page .page-intro{gap:24px}.waiver-page .page-intro,.waiver-signing-layout{grid-template-columns:1fr}.waiver-page .stat-panel{padding:22px}.waiver-page .summary-badge{padding:18px}.waiver-auth-tabs{width:100%}.waiver-auth-tabs button{padding:10px 8px;font-size:.86rem;white-space:nowrap}.waiver-participant-row,.waiver-detail-columns,.waiver-detail-summary,.waiver-review-panel{grid-template-columns:1fr;align-items:stretch}.waiver-review-panel{flex-direction:column}.waiver-participant-card,.waiver-year-card,.signature-pad-actions,.signature-launch-card{align-items:stretch;flex-direction:column}.signature-modal-panel{width:100%;min-height:100%;max-height:100%;border-radius:0}.modal-backdrop:has(.signature-modal-panel){padding:0}.signature-modal-body .signature-pad canvas{height:clamp(210px,58vh,560px);height:clamp(210px,58svh,560px);min-height:0}.waiver-participant-card select{width:100%;min-width:0}}
