:root{--maroon:#6f1521;--deep:#260a0f;--ink:#21181a;--gold:#efb52e;--cream:#fff5df;--paper:#fff;--canvas:#f7f6f4;--muted:#685f61;--line:#e4dcde;--green:#24654b;--red:#982938;--radius:12px;font:16px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0}a{color:var(--maroon)}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--maroon);color:white;border:1px solid var(--maroon);border-radius:8px;padding:.7rem 1rem;font-weight:650;text-decoration:none;cursor:pointer;min-height:44px}button:hover,.button:hover{background:var(--deep)}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:#fff;color:var(--maroon);border-color:var(--line)}.secondary:hover{background:var(--cream)}.danger{color:var(--red);background:white;border-color:#e4bcc2}input,select,textarea{width:100%;padding:.65rem .75rem;border:1px solid #bdb1b4;border-radius:7px;background:#fff;color:var(--ink);min-height:44px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--maroon);flex-shrink:0}label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:650;margin-bottom:1rem}label.check{flex-direction:row;align-items:flex-start;font-weight:500;gap:.65rem}textarea{min-height:105px;resize:vertical}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.12}h1{font:700 2.5rem/1.14 Georgia,serif;letter-spacing:-.03em;margin-bottom:.65rem}h2{font:700 1.65rem/1.2 Georgia,serif}h3{font-size:1.1rem;margin-bottom:.6rem}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{font-size:.8rem;letter-spacing:.13em;font-weight:750;color:var(--maroon)}.notice{background:var(--cream);border:1px solid #e5cd8e;border-radius:8px;padding:.7rem 1rem;font-size:.9rem;margin-bottom:1.25rem}.notice.error{background:#fff0f1;border-color:#e0acb4;color:#741b28}.notice.success{background:#edf7f0;border-color:#b2d5bc;color:var(--green)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--deep);color:var(--cream);padding:clamp(2rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center;position:relative;border-bottom:7px solid var(--gold)}.login-brand .eyebrow{color:var(--gold);margin-top:2rem}.login-brand h1{font-size:clamp(2.5rem,4.5vw,4.5rem)}.login-brand>p:not(.eyebrow){max-width:360px;color:#e4d3d4}.season-tag{margin-top:2rem;border-top:1px solid #67353d;padding-top:1rem;font-size:.875rem}.login-card{width:min(480px,100%);padding:2rem;margin:auto}.login-card form{margin-top:1.75rem}.login-card button{width:100%}.text-link{font-weight:650}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--deep);color:white;padding:1.5rem 1rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--cream);margin-bottom:2rem;padding:0 .5rem}.brand img{width:55px;height:55px;object-fit:contain}.brand strong{font-family:Georgia,serif;font-size:1.25rem;display:block}.brand small{font-size:.75rem;color:#d7bcc1}.nav{display:flex;flex-direction:column;gap:.35rem}.nav a{color:#dfccd0;text-decoration:none;padding:.7rem .85rem;border-radius:7px;font-size:.95rem;display:flex;align-items:center;gap:.75rem}.nav a:hover{background:#42121b}.nav a.active{background:var(--cream);color:var(--maroon);font-weight:750}.nav .symbol{width:1.2rem;text-align:center}.sidebar-bottom{margin-top:auto;padding:.8rem .5rem 0;color:#d7bcc1}.sidebar-bottom button{font-size:.875rem;background:transparent;border-color:#76444e}.main{min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar .context{font-size:.875rem;color:var(--muted)}.topbar select{max-width:280px;margin:0}.avatar{width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--maroon);display:grid;place-items:center;font-weight:750}.identity{display:flex;align-items:center;gap:.75rem}.content{max-width:1350px;padding:2rem;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.5rem}.page-heading p{margin:0}.actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.stat{background:white;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:1.2rem}.stat strong{font:700 2.2rem Georgia,serif;display:block;color:var(--maroon);line-height:1.1;margin:.6rem 0}.stat p{margin:0;font-size:.875rem;color:var(--muted)}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:1.25rem}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;min-width:0}.card-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.card-title h2,.card-title h3{margin:0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-weight:650;color:var(--muted);font-size:.8rem;letter-spacing:.02em;background:#faf8f7}td,th{padding:.85rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td strong{font-weight:650}.badge{display:inline-flex;padding:.2rem .65rem;border-radius:99px;background:#f0ebec;font-size:.8rem;white-space:nowrap;color:#59484d;font-weight:650}.badge.good{background:#e9f4ec;color:var(--green)}.badge.warn{background:var(--cream);color:#755211}.badge.bad{background:#fae9ec;color:var(--red)}.badge.maroon{background:#f1e2e6;color:var(--maroon)}.rows{list-style:none;padding:0;margin:0}.rows>li{padding:1rem 0;border-bottom:1px solid var(--line)}.rows>li:last-child{border:0}.rows p{margin:.25rem 0 0}.split{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}.full{grid-column:1/-1}.empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.empty strong{display:block;font:700 1.4rem Georgia,serif;color:var(--ink);margin-bottom:.5rem}.detail-heading{background:var(--maroon);color:var(--cream);padding:1.7rem;border-radius:12px;margin-bottom:1.25rem;display:flex;justify-content:space-between;gap:1rem}.detail-heading .eyebrow{color:var(--gold)}.detail-heading h1{font-size:2.1rem}.detail-heading p{margin-bottom:0}.detail-heading .badge{background:var(--cream)}dl{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:.75rem;margin:0}dt{color:var(--muted);font-size:.9rem}dd{margin:0;overflow-wrap:anywhere}.timeline{border-left:2px solid var(--line);margin-left:.35rem;padding-left:1.2rem}.timeline li{position:relative}.timeline li:before{content:"";height:8px;width:8px;border-radius:50%;background:var(--gold);position:absolute;left:-1.5rem;top:1.4rem}.filter{display:flex;gap:.6rem;margin-bottom:1rem;align-items:center}.filter input{max-width:340px}.inline-form{display:flex;gap:.6rem;align-items:center;margin:0}.inline-form button{font-size:.85rem;padding:.4rem .7rem}.inline-form label{margin:0}.note{border-left:3px solid var(--gold);padding:.5rem 1rem;color:var(--muted);font-size:.9rem}.progress{height:7px;background:#eee8ea;border-radius:8px;overflow:hidden;margin:.65rem 0}.progress span{display:block;height:100%;background:var(--maroon)}dialog{border:1px solid var(--line);border-radius:14px;padding:1.75rem;max-width:650px;width:calc(100% - 2rem);max-height:90vh;overflow-y:auto;box-shadow:0 25px 90px #260a0f33}dialog::backdrop{background:#17090db3}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.icon-button{background:transparent;color:var(--ink);border:0;padding:.25rem .6rem;font-size:1.5rem}.danger-zone{border-color:#e2c2c7}.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox-list label{margin-bottom:.6rem}fieldset{border:1px solid var(--line);border-radius:8px;padding:1rem;margin-bottom:1rem}legend{font-weight:650;padding:0 .4rem}.tab-links{display:flex;gap:1rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.tab-links a{padding:.6rem 0;text-decoration:none}.tab-links .active{border-bottom:3px solid var(--maroon);font-weight:700}.mobile-menu{display:none}code{background:#f3edef;padding:.1rem .3rem;border-radius:4px}.preview-link{overflow-wrap:anywhere;font-size:.875rem}.checklist-item{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.checklist-item:last-child{border:0;margin-bottom:0}.checklist-item p{margin:.2rem 0}.footer-note{margin:2rem 0 0;font-size:.875rem;color:var(--muted)}@media(max-width:1000px){.app{grid-template-columns:205px 1fr}.sidebar{padding:1.2rem .6rem}.content{padding:1.5rem}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.topbar{padding:1rem 1.5rem}.page-heading{align-items:flex-start}h1{font-size:2.1rem}}@media(max-width:700px){.login-wrap{grid-template-columns:1fr}.login-brand{padding:1.5rem 2rem}.login-brand h1{font-size:2rem}.login-brand img{width:85px;height:85px}.login-brand .eyebrow{margin-top:1rem}.login-brand>p:not(.eyebrow),.season-tag{display:none}.login-card{padding:2rem 1.5rem}.app{display:block}.sidebar{position:relative;height:auto;padding:.8rem 1rem}.brand{margin:0;padding:0}.brand img{width:42px;height:42px}.nav{display:none;margin-top:1rem}.sidebar.open .nav{display:flex}.sidebar-bottom{display:none}.sidebar.open .sidebar-bottom{display:block}.mobile-menu{display:block;position:absolute;right:1rem;top:.9rem;background:transparent;border-color:#76444e}.topbar{padding:.8rem 1rem;flex-wrap:wrap}.topbar .identity{font-size:.875rem}.topbar select{max-width:100%;width:100%}.content{padding:1.25rem 1rem}.page-heading{flex-direction:column}.stats{gap:.65rem}.stat{padding:1rem}.stat strong{font-size:1.8rem}.card{padding:1rem}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.detail-heading{flex-direction:column}.inline-form{flex-wrap:wrap}h1{font-size:2rem}h2{font-size:1.4rem}td,th{padding:.7rem .5rem}.actions{width:100%}.actions .button{flex:1}.filter{flex-wrap:wrap}.checklist-item{grid-template-columns:1fr}dl{grid-template-columns:1fr 1.5fr}.split{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){button,.button,.nav a{transition:background .15s ease}}

/* Shared Lady Broncos identity, adapted from the original interest dashboard.
   Layout and permission-driven components above are retained. */
:root {
  --ink: #281719;
  --paper: #fffaf0;
  --canvas: #f5eadc;
  --muted: #756366;
  --line: #dfd0c4;
  --radius: 6px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, .button {
  padding: 12px 18px;
  border: 1px solid #ffd05c;
  border-radius: 4px;
  background: linear-gradient(180deg, #ffd05c, var(--gold));
  color: #301518;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .09em;
  line-height: 1.45;
  text-transform: uppercase;
  box-shadow: 0 3px 10px rgba(38,10,15,.09), inset 0 1px rgba(255,255,255,.45);
}
button:hover, .button:hover { background: #ffe08a; color: #301518; }
.secondary { background: #fff8e8; color: var(--maroon); border-color: #c9aa68; box-shadow: none; }
.secondary:hover { background: #ffedbd; }
.danger { background: #fff4f4; color: #8f2031; border-color: #c68f98; box-shadow: none; }
.danger:hover { background: #f7dce1; color: #741b28; }
input, select, textarea { min-width: 0; max-width: 100%; border-color: #baa79d; border-radius: 4px; }
label { min-width: 0; }
input, select, textarea { font-size: 1rem; }
select:not([multiple]) {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: linear-gradient(45deg,transparent 50%,#3b2226 50%),linear-gradient(135deg,#3b2226 50%,transparent 50%);
  background-position: calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-repeat: no-repeat;
  background-size: 5px 5px,5px 5px;
  padding-right: 38px;
}
input:hover, select:hover, textarea:hover { border-color: #8f7779; }
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--maroon);
  outline-offset: 2px;
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(239,181,46,.2);
}
a:focus-visible, button:focus-visible { outline-color: var(--maroon); }
.sidebar a:focus-visible, .sidebar button:focus-visible { outline-color: var(--gold); }
.eyebrow { font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.card, .stat { background: var(--paper); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(38,10,15,.05); }
.stat p:first-child { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stat strong { font-size: 2.5rem; }
.topbar { background: var(--paper); }
.portal-context-switch { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #f7f2ee; }
.portal-context-switch > span { padding: 0 7px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.portal-context-switch a { display: inline-flex; min-width: 70px; min-height: 36px; align-items: center; justify-content: center; padding: 6px 11px; border-radius: 6px; color: var(--maroon); font-size: 13px; font-weight: 800; text-decoration: none; }
.portal-context-switch a:hover { background: #fff; }
.portal-context-switch a.active { background: var(--maroon); color: #fff; box-shadow: 0 1px 3px rgba(38,10,15,.18); }
th { background: #f2e5d8; color: #624f51; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
td strong { color: #3b2226; }
.notice { border-radius: 4px; border-width: 0 0 0 4px; border-color: var(--gold); background: #fff2d3; }
.notice.error { border-color: #b32b3f; background: #f8dfe2; }
.notice.success { border-color: #2f7b49; background: #e3f3e8; }
.detail-heading { background: var(--deep); border-radius: 6px; border-top: 3px solid var(--gold); }
.detail-heading .badge { color: var(--ink); }
dialog { border-color: #d2ba91; border-top: 4px solid var(--gold); border-radius: 6px; background: var(--paper); }
dialog::backdrop { background: rgba(12,5,7,.78); }
fieldset { border-radius: 4px; }
.future-permissions[disabled] { background: #efe9e4; border-color: #d4c9c3; }
.future-permissions[disabled] legend { color: #756b6c; }
.future-permissions[disabled] .badge { margin-left: 6px; background: #ddd4cf; color: #675e60; vertical-align: middle; }
.future-permissions[disabled] label { color: #807779; opacity: .82; }
.future-permissions[disabled] input { filter: grayscale(1); }
.future-permissions-help { margin-top: -.35rem; }
.communication-compose { width: 100%; max-width: none; padding: 22px 24px; }
.communication-compose > .card-title { margin-bottom: 18px; }
.communication-compose > form { margin-top: 0; }
.communication-compose > form > label { margin-bottom: 14px; }
.communication-compose textarea[name="body"] { min-height: 220px; }
.communication-signature-editor { margin: 16px 0; padding: 14px 16px; border-color: #c9ddd2; border-left: 4px solid #398c6b; background: #f1f7f3; }
.communication-signature-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.communication-signature-heading .eyebrow { margin: 0 0 2px; color: #32755a; font-size: 10px; }
.communication-signature-heading strong { display: block; color: #36584c; font-size: 13px; }
.communication-signature-toggle { min-height: 34px; padding: 6px 10px; border-color: #9fc6b5; background: #fff; color: #23634b; font-size: 10px; box-shadow: none; }
.communication-signature-preview { margin: 12px 0 0; padding: 12px 14px; border: 1px solid #d4e3dc; border-radius: 4px; background: #fff; color: #4f3a3d; font-size: 13px; line-height: 1.5; white-space: pre-line; }
.communication-signature-edit { margin-top: 12px; padding-top: 12px; border-top: 1px solid #c9ddd2; }
.communication-signature-edit[hidden] { display: none; }
.communication-signature-edit label { margin-bottom: 10px; }
.communication-signature-edit textarea { min-height: 88px; }
.communication-signature-edit .check { margin-bottom: 8px; }
.communication-signature-edit > p { margin-bottom: 0; }
.account-settings-grid { grid-template-columns: minmax(0,1.35fr) minmax(300px,.85fr); align-items: start; }
.account-contact-information { margin-top: 18px; }
.account-contact-information h2 { margin: 0 0 8px; }
.account-contact-information form { margin-top: 14px; }
.account-email-setting { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
.account-email-setting > div { display: grid; min-width: 0; gap: 2px; }
.account-email-setting strong { overflow-wrap: anywhere; font-size: 15px; }
.account-field-label { margin-bottom: 2px; color: #4b3437; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.account-email-pending { margin-top: 5px; color: var(--maroon); font-weight: 700; }
.account-email-setting button { flex: 0 0 auto; }
.account-directory-card { scroll-margin-top: 18px; }
.account-directory-heading { align-items: flex-start; }
.account-directory-heading .eyebrow { margin-bottom: 5px; }
.account-directory-heading h2 { margin-bottom: 6px; }
.account-directory-heading p:last-child { margin-bottom: 0; }
.account-directory-count { flex: 0 0 auto; padding: 6px 10px; border: 1px solid #dbcbbf; border-radius: 999px; background: #fffdf7; color: #68575a; font-size: 12px; font-weight: 800; }
.account-directory-filters { --account-filter-control-height: 48px; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 11px; margin: 18px 0 20px; padding: 14px; border: 1px solid var(--line); border-radius: 5px; background: #f8efe5; }
.account-directory-filters label { flex: 1 1 155px; gap: 5px; margin: 0; }
.account-directory-filters .account-search-field { flex: 2 1 280px; }
.account-directory-filters label > span { color: #594347; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.account-directory-filters input,
.account-directory-filters select { height: var(--account-filter-control-height); min-height: var(--account-filter-control-height); padding-top: 0; padding-bottom: 0; }
.account-directory-filters select {
  display: block;
  box-sizing: border-box;
  block-size: var(--account-filter-control-height);
  height: var(--account-filter-control-height) !important;
  min-block-size: var(--account-filter-control-height);
  min-height: var(--account-filter-control-height) !important;
  max-block-size: var(--account-filter-control-height);
  max-height: var(--account-filter-control-height) !important;
  padding: 0 38px 0 12px;
}
.account-filter-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.account-filter-actions .button,
.account-filter-actions button { height: var(--account-filter-control-height); min-height: var(--account-filter-control-height); padding: 9px 13px; }
.account-directory-pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.account-directory-pagination > div { display: flex; align-items: center; gap: 10px; }
.account-directory-pagination .button { min-height: 36px; padding: 7px 11px; font-size: 10px; }
.account-player-links { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.account-player-links li { display: grid; gap: 1px; }
.account-player-links li + li { padding-top: 9px; border-top: 1px solid #eadfd6; }
.account-player-links strong { font-size: 14px; }
.account-player-links span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.parent-account-dialog { width: min(760px,calc(100% - 2rem)); }
.account-dialog-divider { margin: 24px 0; border: 0; border-top: 1px solid var(--line); }
.managed-email-change h3 { margin-bottom: 11px; }
.account-current-email { display: grid; gap: 2px; margin-bottom: 12px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
.account-current-email span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.account-current-email strong { overflow-wrap: anywhere; }
.managed-email-change form { margin-top: 15px; }
.communication-attachments { margin: 16px 0; padding: 13px 14px; border: 1px dashed #cdbfb5; border-radius: 5px; background: #fffdf7; }
.communication-attachments label { margin-bottom: 8px; }
.communication-attachments p { margin: 0; }
.communication-recipient-picker { margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 5px; background: #fffdf7; }
.communication-recipient-search { position: relative; }
.communication-recipient-search input { margin: 0; }
.communication-recipient-results { position: absolute; z-index: 20; inset: calc(100% + 5px) 0 auto; max-height: 260px; overflow-y: auto; padding: 5px; border: 1px solid #cbb9ad; border-radius: 4px; background: #fff; box-shadow: 0 14px 30px rgba(38,10,15,.18); }
.communication-recipient-results button { display: grid; width: 100%; gap: 3px; padding: 10px 12px; border: 0; border-radius: 3px; background: #fff; color: var(--ink); text-align: left; text-transform: none; letter-spacing: 0; box-shadow: none; }
.communication-recipient-results button:hover,
.communication-recipient-results button.active,
.communication-recipient-results button:focus-visible { outline: 0; background: #fff2d3; box-shadow: inset 4px 0 var(--gold); }
.communication-recipient-results button strong { font-size: 14px; }
.communication-recipient-results button span { color: var(--muted); font-size: 12px; font-weight: 600; }
.communication-recipient-empty { margin: 0; padding: 10px 12px; }
.communication-selected-heading { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; color: var(--ink); }
.communication-selected-heading span { color: var(--muted); font-size: 12px; }
.communication-selected-people { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.communication-person-chip { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 7px 7px 7px 11px; border: 1px solid #d7c6b9; border-radius: 999px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 750; }
.communication-person-chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.communication-person-chip button { display: inline-grid; width: 22px; min-height: 22px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: #f0e6df; color: var(--maroon); font-size: 16px; line-height: 1; box-shadow: none; }
.communication-audience-summary { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(220px,.5fr); gap: 14px; align-items: stretch; margin-bottom: 18px; }
.group-audience-form { margin: 0; }
.group-audience-form label { margin: 0; }
.group-compose .communication-routing { min-height: 100%; margin: 0; align-content: center; }
.announcement-list { display: grid; gap: 18px; }
.announcement-card { margin: 0; }
.announcement-body { margin: 20px 0; color: var(--ink); line-height: 1.7; overflow-wrap: anywhere; }
.announcement-meta { align-items: center; padding-top: 16px; border-top: 1px solid var(--line); }
.announcement-meta .button { flex: 0 0 auto; }
.registration-next-step .registration-due { margin-top: 3px; padding-inline-start: .65rem; }
.registration-action { text-align: right; }
.registration-continue { min-width: 112px; }
.paperwork-deadline-card { align-items: center; padding-block: 18px; }
.paperwork-deadline-card h2 { margin-bottom: 0; }
.registration-profile-section { margin: 22px 0; padding: 22px 20px 18px; border: 1px solid #dfd0c4; border-left: 4px solid var(--gold); background: #fffdf7; }
.registration-profile-section legend { padding: 0 9px; color: #3b2226; font: 700 1.28rem/1.2 Georgia, serif; }
.registration-profile-section > :last-child { margin-bottom: 0; }
.registration-profile-section.has-submission-error { border-color: #d9a4ac; border-left-color: var(--red); background: #fff9f8; }
.registration-profile-section.has-submission-error legend { color: #741b28; }
.registration-profile-section.is-complete { border-color: #b9d7c2; border-left-color: #3d865b; background: #f4faf5; }
.registration-profile-section.is-complete legend { color: #286744; }
label.has-validation-error { color: #741b28; }
label.has-validation-error input,
label.has-validation-error select,
label.has-validation-error textarea { border: 2px solid #bd5362; background: #fffdfd; }
.field-validation-error { color: #8b2131; font-size: 12px; font-weight: 700; line-height: 1.35; }
.checklist-item.has-submission-error { margin-inline: -10px; padding: 12px 10px 14px; border-left: 4px solid var(--red); background: #fff5f5; }
.checklist-missing-detail { color: #8b2131; font-size: 13px; line-height: 1.45; }
.paperwork-checklist .card-title { margin-bottom: 16px; }
.paperwork-checklist .checklist-item {
  grid-template-columns: 30px minmax(0,1fr) minmax(230px,auto);
  gap: 14px;
  margin: 0;
  padding: 16px 14px;
  border-bottom: 1px solid #eadfd7;
  border-radius: 0;
  transition: background-color .18s ease, border-color .18s ease;
}
.paperwork-checklist .card-title + .checklist-item { border-top: 1px solid #eadfd7; }
.paperwork-checklist .checklist-item.is-complete { border-color: #cce0d2; background: #f2f8f3; }
.paperwork-checklist .checklist-completion-mark {
  display: inline-grid;
  width: 26px;
  height: 26px;
  margin-top: -1px;
  place-items: center;
  border: 1px solid #d9ceca;
  border-radius: 50%;
  background: #fffdf9;
  color: transparent;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
}
.paperwork-checklist .is-complete .checklist-completion-mark { border-color: #70a985; background: #347a51; color: white; box-shadow: 0 0 0 3px #dceee2; }
.paperwork-checklist .checklist-item-copy > strong { display: block; font-size: 1rem; line-height: 1.35; }
.paperwork-checklist .checklist-status { margin-top: 4px; color: var(--muted); }
.paperwork-checklist .is-complete .checklist-status { color: #286744; font-weight: 750; }
.paperwork-checklist .checklist-item-actions { width: min(100%,320px); justify-self: end; }
.paperwork-checklist .checklist-item-actions > button { width: 100%; }
.paperwork-checklist .checklist-item-actions form { margin: 0; }
.paperwork-checklist .checklist-item-actions form button { width: 100%; }
.paperwork-checklist .uploaded-file-name { max-width: 100%; color: #493d3f; overflow-wrap: anywhere; word-break: break-word; }
.paperwork-checklist .uploaded-file-name span { color: var(--muted); font-size: .82rem; font-weight: 750; text-transform: uppercase; letter-spacing: .045em; }
.acknowledgment-actions { margin-top: 18px; }
.acknowledgment-actions button { min-width: 180px; }
.acknowledgment-actions [hidden] { display: none; }
.agreement-body { margin-bottom: 45px; }
.paperwork-action-confirmation { font-weight: 750; }
[data-review-corrections][disabled], [data-review-notes].is-disabled { opacity: .55; }
[data-review-notes].is-disabled textarea { background: #f2efed; cursor: not-allowed; }
.birthdate-eligibility-error { margin: -4px 0 16px; color: var(--red); font-weight: 750; }
.registration-address-line { display: grid; grid-template-columns: minmax(0,2fr) minmax(90px,.6fr) minmax(120px,.8fr); gap: 0 14px; }
.registration-address-line > * { min-width: 0; }
.registration-uniform-field { max-width: calc(50% - .6rem); }
[data-player-address-fields].is-disabled { padding: 12px 14px 0; border-radius: 7px; background: #f1ece8; }
[data-player-address-fields].is-disabled input,
[data-player-address-fields].is-disabled select { background: #e6dfda; color: #756b6c; opacity: 1; cursor: not-allowed; }
input.compact-date[type="date"] {
  align-self: flex-start;
  width: 15rem;
  max-width: 100%;
  text-align: left;
}
input.compact-date[type="date"]::-webkit-date-and-time-value { text-align: left; }
input.season-date[type="date"],
input.player-deadline-date[type="date"],
input.announcement-date[type="date"],
input.profile-date[type="date"],
input.linked-season-deadline[type="date"],
input.finance-transaction-date[type="date"] {
  display: block;
  align-self: stretch;
  box-sizing: border-box;
  inline-size: 100%;
  width: 100% !important;
  min-inline-size: 0;
  min-width: 0 !important;
  max-inline-size: 100%;
  max-width: 100% !important;
  overflow: hidden;
  -webkit-appearance: none;
  appearance: none;
}
input.season-date[type="date"]::-webkit-date-and-time-value,
input.player-deadline-date[type="date"]::-webkit-date-and-time-value,
input.announcement-date[type="date"]::-webkit-date-and-time-value,
input.profile-date[type="date"]::-webkit-date-and-time-value,
input.linked-season-deadline[type="date"]::-webkit-date-and-time-value,
input.finance-transaction-date[type="date"]::-webkit-date-and-time-value,
input.finance-transaction-date[type="date"]::-webkit-datetime-edit { text-align: left; }
input.linked-season-deadline[type="date"] {
  block-size: 44px;
  height: 44px;
  min-block-size: 44px;
  min-height: 44px;
  max-block-size: 44px;
  max-height: 44px;
  text-align: left;
}
.finance-page-actions { justify-content: flex-end; }
.finance-transaction-fields { --finance-control-height: 44px; }
.finance-transaction-fields input,
.finance-transaction-fields select {
  display: block;
  box-sizing: border-box;
  block-size: var(--finance-control-height);
  height: var(--finance-control-height) !important;
  min-block-size: var(--finance-control-height);
  min-height: var(--finance-control-height) !important;
  max-block-size: var(--finance-control-height);
  max-height: var(--finance-control-height) !important;
}
.finance-transaction-fields select { padding: 0 38px 0 12px; }
input.finance-transaction-date[type="date"] {
  inline-size: 100%;
  width: 100% !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  text-align: left;
}
.finance-category-dialog { max-width: 850px; }
.finance-category-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.finance-category-groups > section { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: #fffdfa; }
.finance-category-groups h3 { margin-bottom: 12px; color: var(--maroon); font-family: Georgia,serif; }
.finance-category-list { margin: 0 0 18px; padding: 0; list-style: none; }
.finance-category-list li { padding: 11px 0; border-bottom: 1px solid var(--line); }
.finance-category-list li:first-child { padding-top: 0; }
.finance-category-list li.is-archived input { color: var(--muted); background: #f2efed; }
.finance-category-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; align-items: end; }
.finance-category-rename { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; margin: 0; }
.finance-category-rename label,
.finance-category-status,
.finance-category-add label { margin: 0; }
.finance-category-status { justify-self: end; }
.finance-category-rename button,
.finance-category-status button,
.finance-category-add button { min-height: 44px; white-space: nowrap; }
.finance-category-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 7px; }
.finance-category-add { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; margin: 0; padding-top: 2px; }
.finance-dollar-error[hidden] { display: none; }
@media(max-width:700px){
  .finance-page-actions { justify-content: stretch; }
  .finance-page-actions button { flex: 1 1 180px; }
  .finance-category-groups { grid-template-columns: 1fr; }
  .finance-category-row { grid-template-columns: 1fr; }
  .finance-category-rename { grid-template-columns: minmax(0,1fr) auto; }
  .finance-category-status button { width: 100%; }
}
select.player-relationship-select,
select.adult-relationship-select,
select.coverage-status-select,
select.registration-field-select {
  display: block;
  align-self: stretch;
  box-sizing: border-box;
  block-size: 44px;
  height: 44px;
  min-block-size: 44px;
  min-height: 44px;
  max-block-size: 44px;
  max-height: 44px;
  inline-size: 100%;
  width: 100%;
}
.adult-permissions[disabled] {
  background: #efe9e4;
  border-color: #d4c9c3;
  color: #756b6c;
  opacity: .78;
}
.adult-permissions[disabled] input { filter: grayscale(1); }
.parent-permissions-intro { margin-bottom: 1.55rem; }
.grid > *, .form-grid > *, .checklist-item > * { min-width: 0; }
.checklist-item a { overflow-wrap: anywhere; word-break: break-word; }
.checklist-item form, .checklist-item input[type="file"] { width: 100%; min-width: 0; max-width: 100%; }
.communication-routing { padding: 14px 16px; border: 1px solid var(--line); background: #fffdf7; }
.communication-routing-compact { grid-template-columns: max-content minmax(0,1fr); column-gap: 1rem; }
.communication-tabs { display: flex; gap: 8px; margin: 0 0 22px; padding: 5px; border: 1px solid var(--line); border-radius: 5px; background: rgba(255,255,255,.52); }
.communication-tabs a { flex: 1; padding: 11px 14px; border-radius: 3px; color: var(--maroon); font-size: 12px; font-weight: 900; letter-spacing: .06em; text-align: center; text-decoration: none; text-transform: uppercase; }
.communication-tabs a:hover { background: #fff8e8; }
.communication-tabs a.active { background: var(--gold); color: #2b1115; box-shadow: inset 0 0 0 1px #d99d10; }
.communication-inbox-card { padding: 0; overflow: hidden; }
.communication-inbox-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px 24px 16px; }
.communication-inbox-heading h2 { margin-bottom: 5px; }
.communication-inbox-heading p { margin-bottom: 0; }
.communication-inbox-tools { display: flex; align-items: center; gap: 10px; padding: 0 24px 18px; }
.communication-sync-state { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #e8f3ec; color: #2f6f54; font-size: 10px; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.communication-trash-link { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid #d4c6bd; border-radius: 999px; background: #fffdf7; color: #65585a; font-size: 10px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.communication-trash-link span { min-width: 20px; padding: 1px 5px; border-radius: 999px; background: #eee6e1; text-align: center; }
.communication-inbox-grid { display: grid; grid-template-columns: minmax(265px,.72fr) minmax(0,1.45fr); min-height: 470px; border-top: 1px solid var(--line); }
.communication-inbox-grid.is-empty { grid-template-columns: 1fr; min-height: 300px; }
.communication-thread-list { min-width: 0; border-right: 1px solid var(--line); background: #f7f1e9; }
.communication-inbox-grid.is-empty .communication-thread-list { display: grid; border-right: 0; }
.communication-empty { display: grid; align-content: center; justify-items: center; gap: 7px; min-width: 0; padding: 28px 22px; color: var(--muted); text-align: center; }
.communication-empty strong { color: var(--ink); font: 700 25px/1.2 Georgia,serif; }
.communication-empty span { max-width: 36rem; line-height: 1.55; }
.communication-thread-row { position: relative; display: grid; gap: 5px; padding: 15px 16px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.communication-thread-row::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: transparent; }
.communication-thread-row:hover { background: #fff8e8; }
.communication-thread-row.is-unread { background: #fff8e8; }
.communication-thread-row.is-unread::before { background: #32759b; }
.communication-thread-row.is-waiting { background: #fff0f1; }
.communication-thread-row.is-replied { background: #edf7f0; }
.communication-thread-row.is-selected { background: #e7f2f6; box-shadow: inset 0 0 0 1px #b7d3df; }
.communication-thread-row.is-selected::before { background: #32759b; }
.communication-thread-row-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.communication-thread-row-top strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.communication-thread-row-top time { flex: 0 0 auto; color: var(--muted); font-size: 10px; }
.communication-thread-subject { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 17px/1.25 Georgia,serif; }
.communication-thread-preview { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 12px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.communication-thread-row-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #67585a; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.communication-thread-workflow { display: flex; min-width: 0; align-items: center; gap: 4px; flex-wrap: wrap; }
.communication-thread-workflow [data-communication-thread-assignee] { color: var(--maroon); }
.communication-thread-detail { min-width: 0; padding: 24px; background: var(--paper); }
.communication-thread-detail > .communication-empty { min-height: 420px; }
.communication-thread-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.communication-thread-header h2 { margin-bottom: 5px; }
.communication-thread-header p { margin-bottom: 0; overflow-wrap: anywhere; }
.communication-thread-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.communication-thread-actions form { margin: 0; }
.communication-thread-actions button { min-height: 36px; padding: 7px 10px; font-size: 10px; }
.communication-followup-panel { margin: 12px 0 16px; padding: 13px; border-radius: 5px; background: #f3f6f4; }
.communication-followup-panel h3 { margin-bottom: 9px; }
.communication-followup-panel form { margin: 0; }
.communication-followup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; }
.communication-followup-grid label { gap: 4px; margin-bottom: 9px; }
.communication-followup-grid input, .communication-followup-grid select {
  box-sizing: border-box;
  block-size: 42px;
  height: 42px;
  min-height: 42px;
  max-height: 42px;
  inline-size: 100%;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 8px 10px;
}
.communication-followup-grid input.communication-followup-date[type="date"] {
  display: block;
  align-self: stretch;
  box-sizing: border-box;
  block-size: 42px;
  height: 42px !important;
  min-block-size: 42px;
  min-height: 42px !important;
  max-block-size: 42px;
  max-height: 42px !important;
  inline-size: 100%;
  width: 100% !important;
  min-inline-size: 0;
  min-width: 0 !important;
  max-inline-size: 100%;
  max-width: 100% !important;
  overflow: hidden;
  -webkit-appearance: none;
  appearance: none;
  line-height: 24px;
  padding-block: 8px !important;
  text-align: left;
}
.communication-followup-grid input.communication-followup-date[type="date"]::-webkit-date-and-time-value { min-height: 0; line-height: 24px; text-align: left; }
.communication-autosave-status { min-height: 18px; margin: 0; font-size: 11px; font-weight: 700; }
.communication-autosave-status.is-error { color: var(--red); }
.communication-oversight-notice { border-left-color: #668d7c; }
.communication-oversight-assignment { border: 1px solid #cfddd6; background: #f1f7f3; }
.communication-assignment-only { grid-template-columns: minmax(0,1fr); }
.communication-assignment-help { margin: 10px 0 12px; line-height: 1.5; }
.communication-oversight-workflow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.communication-oversight-workflow > div { min-width: 0; padding: 9px 10px; border: 1px solid #d9e2dd; border-radius: 4px; background: rgba(255,255,255,.7); }
.communication-oversight-workflow dt { margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.communication-oversight-workflow dd { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: 12px; font-weight: 800; }
.communication-oversight-permissions { border-color: #bfd2c9; background: #f5faf7; }
.fundraising-management-permission { border-color: #dfc680; background: #fffaf0; }
.fundraising-management-permission[disabled] { background: #f5f0e9; border-color: var(--line); }
.fundraising-management-permission[disabled] label { color: #675e60; opacity: .9; }
.communication-status-dialog { width: min(520px,calc(100% - 32px)); max-width: 520px; padding: 25px 28px 27px; border: 1px solid #b9cfd9; border-top: 0; border-radius: 18px; color: var(--ink); box-shadow: 0 28px 80px rgba(17,31,38,.32); }
.communication-status-dialog::backdrop { background: rgba(26,43,51,.66); }
.communication-status-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.communication-status-dialog-heading .eyebrow { margin-bottom: 5px; color: #557683; font-size: 10px; }
.communication-status-dialog-heading h2 { max-width: 360px; margin-bottom: 0; font-size: clamp(27px,6vw,38px); }
.communication-status-dialog-close { flex: 0 0 auto; width: 48px; min-height: 48px; padding: 0; border: 3px solid #b9d3df; border-radius: 50%; background: #fff; color: #294c5c; font-size: 27px; font-weight: 500; line-height: 1; box-shadow: inset 0 0 0 4px #fff,0 0 0 1px #8cb3c4; }
.communication-status-dialog-close:hover { background: #eef6f9; color: #163b4c; }
.communication-status-dialog > p { margin: 17px 0 20px; color: #617077; font-size: 15px; line-height: 1.5; }
.communication-status-dialog-actions { display: grid; grid-template-columns: 1fr 1.12fr; gap: 10px; padding-top: 17px; border-top: 1px solid #d7e1e5; }
.communication-status-dialog-actions button { min-height: 58px; padding: 10px 14px; border-color: #7ca7ba; background: #257ea7; font-size: 12px; line-height: 1.25; text-align: center; }
.communication-status-dialog-actions button:hover { background: #176a91; }
.communication-status-dialog-actions .secondary { border-color: #bed0d8; background: #fff; color: #294c5c; }
.communication-status-dialog-actions .secondary:hover { background: #eef6f9; }
.communication-reply { padding-top: 20px; border-top: 1px solid var(--line); }
.communication-trash-view { padding: 0; }
.communication-trash-list { display: grid; gap: 12px; padding: 0 24px 24px; }
.communication-trash-record { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 5px; background: #fffdf7; }
.communication-trash-record h3, .communication-trash-record p { margin-bottom: 4px; }
.communication-trash-record form { flex: 0 0 auto; margin: 0; }
.communication-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(250px,.72fr); gap: 20px; align-items: start; }
.communication-thread, .communication-followup { margin: 0; }
.communication-followup { position: sticky; top: 18px; }
.message-timeline { display: grid; gap: 14px; margin: 24px 0; }
.message-card { padding: 18px; border: 1px solid var(--line); border-radius: 5px; background: #fffdf7; }
.message-card.outbound { margin-left: 7%; border-left: 5px solid var(--gold); }
.message-card.inbound { margin-right: 7%; border-left: 5px solid var(--maroon); background: #fff; }
.message-card p { margin: 4px 0 0; }
.message-body { margin-top: 14px; color: var(--ink); line-height: 1.65; overflow-wrap: anywhere; white-space: normal; }
.communication-table tr.is-unread td:first-child { border-left: 5px solid var(--gold); }
.communication-table tr.is-unread td { background: #fff9e9; }
.communication-table .badge + .badge { margin-left: 5px; }
.bad-text { color: #a22c3f; }
.interest-email-link { overflow-wrap: anywhere; font-weight: 700; }
.interest-email-text { overflow-wrap: anywhere; }
.interest-oversight-summary { display: block; margin: 8px 0 18px; }
.interest-oversight-summary > div { display: grid; grid-template-columns: minmax(130px,1fr) 2fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.interest-oversight-summary > div:last-child { border-bottom: 0; }
.interest-oversight-summary dt { font-weight: 700; }
.interest-oversight-notes dd { line-height: 1.6; }
.support-session { padding-top: 66px; }
.support-session-banner { position: fixed; z-index: 10000; inset: 0 0 auto; min-height: 66px; display: flex; align-items: center; justify-content: center; gap: 24px; padding: 9px 22px; border-bottom: 3px solid var(--gold); background: var(--deep); color: #fff; box-shadow: 0 8px 24px rgba(38,10,15,.28); }
.support-session-banner > div { min-width: 0; display: flex; align-items: baseline; gap: 10px; }
.support-session-banner strong { font-size: 13px; white-space: nowrap; }
.support-session-banner span { color: #e6d7d9; font-size: 11px; line-height: 1.4; }
.support-session-banner form { margin: 0; flex: 0 0 auto; }
.support-session-banner input { display: none; }
.support-session-banner button { min-height: 38px; padding: 8px 12px; border-color: #fff0b9; background: #fff8e8; color: var(--deep); font-size: 10px; box-shadow: none; }
.support-session .sidebar { top: 66px; height: calc(100vh - 66px); height: calc(100svh - 66px); }
.icon-button { border: 0; background: transparent; color: var(--ink); box-shadow: none; padding: .25rem .6rem; font-size: 1.5rem; letter-spacing: 0; }
.icon-button:hover { background: #f2e5d8; }
.inline-form button { font-size: 11px; }
.tab-links .active { border-color: var(--gold); }
.footer-note { font-size: 12px; }
.schedule-fields { margin-top: 18px; background: #fffdf7; }
.schedule-grid { display: grid; grid-template-columns: repeat(2,minmax(0,15rem)); gap: 14px; }
.schedule-grid[hidden] { display: none; }
.schedule-grid label { min-width: 0; margin-bottom: 0; }
.schedule-grid input[type="date"],
.schedule-grid input[type="time"] {
  display: block;
  box-sizing: border-box;
  inline-size: 100%;
  width: 100% !important;
  min-inline-size: 0;
  min-width: 0 !important;
  max-inline-size: 100%;
  max-width: 100% !important;
  overflow: hidden;
  -webkit-appearance: none;
  appearance: none;
  text-align: left;
}
.schedule-grid input[type="date"]::-webkit-date-and-time-value,
.schedule-grid input[type="time"]::-webkit-date-and-time-value { text-align: left; }
.attachment-list { margin: 14px 0 0; padding: 12px 12px 12px 34px; border: 1px solid var(--line); background: #fffaf0; }
.attachment-list li + li { margin-top: 6px; }
input[type="file"] { padding: 10px; background: #fffdf7; }

/* The sidebar repeats the coming-soon site's serif wordmark and sans tagline. */
.sidebar { height: 100svh; overflow-y: auto; }
.brand { gap: 10px; flex-shrink: 0; margin-bottom: 1.75rem; }
.brand img { width: 42px; height: 42px; flex: 0 0 42px; }
.brand > span { min-width: 0; }
.brand strong { font-size: 18px; line-height: 1.2; letter-spacing: .01em; white-space: nowrap; }
.brand small { display: block; margin-top: 5px; color: var(--gold); font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
.nav { flex-shrink: 0; }
.nav a { border-radius: 4px; color: #e1cfd1; }
.nav a.active { background: #fff2d3; box-shadow: inset 3px 0 var(--gold); }
.sidebar-bottom { flex-shrink: 0; padding-top: 1.5rem; }
.brand-tagline { margin: 0 0 1.1rem; font-size: 11px; line-height: 1.85; letter-spacing: .1em; text-transform: uppercase; }
.brand-tagline span, .brand-tagline strong { display: block; }
.brand-tagline span { color: rgba(255,255,255,.84); font-weight: 400; }
.brand-tagline strong { color: var(--gold); font-weight: 700; }
.sidebar-bottom button { width: 100%; background: transparent; color: #fff5df; border-color: #957078; font-size: 11px; box-shadow: none; }
.sidebar-bottom button:hover { background: #42121b; color: #fff5df; }
.mobile-menu { background: transparent; color: var(--cream); border-color: #957078; box-shadow: none; }
.mobile-menu:hover { background: #42121b; color: var(--cream); }

.email-template-manager { padding: 24px; }
.email-template-manager > .card-title { margin-bottom: 18px; }
.email-template-manager > .card-title p:last-child { margin: 7px 0 0; }
.email-template-manager-controls { display: grid; grid-template-columns: minmax(220px,.72fr) minmax(280px,1.28fr); gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 5px; background: #f8eee2; }
.email-template-manager-controls label { margin: 0; }
.email-template-group-description { margin: 10px 3px 18px; }
.email-template-panels { border-top: 1px solid var(--line); }
.email-template-manager.is-enhanced .email-template-panel[hidden] { display: none; }
.email-template-panel { padding-top: 22px; }
.email-template-panel + .email-template-panel { margin-top: 26px; border-top: 1px solid var(--line); }
.email-template-panel-heading h3 { margin-bottom: 7px; font: 700 1.45rem/1.2 Georgia,serif; }
.email-template-panel-heading .eyebrow { margin-bottom: 5px; }
.email-template-panel-heading .muted { margin-bottom: 14px; }
.email-template-placeholders { margin: 0 0 18px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
.email-template-placeholders summary { cursor: pointer; color: var(--maroon); font-size: 13px; font-weight: 800; }
.email-template-placeholders p { margin: 9px 0 0; overflow-wrap: anywhere; }
.email-template-panel textarea[name="body"] { min-height: 250px; }
.email-template-sample { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.email-template-sample p { margin: 2px 0 0; }
.email-template-sample form { flex: 0 0 auto; }

/* Compact login and invitation cards; no marketing column or duplicate notices. */
.auth-page {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 32px 24px;
  background: radial-gradient(circle at 50% 0, rgba(111,21,33,.34), transparent 45%), var(--deep);
}
.auth-page .login-shell { width: min(470px, 100%); min-width: 0; }
.auth-page .login-card { width: 100%; margin: 0; padding: 38px 40px; background: var(--paper); border-top: 5px solid var(--gold); border-radius: 6px; box-shadow: 0 30px 90px rgba(0,0,0,.42); }
.auth-page .login-logo { display: block; width: 108px; height: 108px; margin: 0 auto 24px; object-fit: contain; }
.auth-page .login-card .eyebrow { margin: 0 0 10px; }
.auth-page .login-card h1 { margin: 0 0 12px; font-size: 38px; line-height: 1.05; letter-spacing: -.035em; }
.auth-page .login-intro { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.auth-page .login-card form { margin: 24px 0 0; }
.auth-page .login-turnstile { display: flex; justify-content: center; min-height: 65px; margin: 4px 0 16px; }
.division-badge { min-width: 46px; justify-content: center; padding: 6px 9px; font-weight: 900; }
.division-8u { background: #f1d98f; color: #583715; }
.division-10u { background: #7b1d2b; color: #fff7e6; }
.division-12u { background: #183b63; color: #eef6ff; }
.auth-page .login-card label { gap: 7px; margin-bottom: 16px; color: #4b3437; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.auth-page .login-card input { min-height: 48px; border-width: 2px; font-size: 16px; font-weight: 400; letter-spacing: normal; }
.auth-page .login-card button, .auth-page .login-card .button { width: 100%; }
.auth-page .login-card button { min-height: 48px; margin-top: 2px; letter-spacing: .12em; }
.auth-page .login-help { margin: 20px 0 0; color: #675457; font-size: 12px; line-height: 1.6; }
.auth-page .login-invitation-help { text-align: center; }
.auth-page .login-preview { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: #675457; font-size: 11px; line-height: 1.6; }
.auth-page .back-link { display: block; margin-top: 20px; color: var(--maroon); font-size: 13px; text-align: center; }
.auth-page .notice.error { margin-top: 18px; margin-bottom: 0; }
.auth-page details.card { margin: 20px 0 0; padding: 14px; box-shadow: none; font-size: 13px; }
.auth-page details.card summary { cursor: pointer; color: var(--maroon); }
.auth-page details.card p { margin: 12px 0 0; }
@media (min-width:701px) and (max-width:1000px) {
  .app { grid-template-columns: 230px minmax(0,1fr); }
}
@media (max-width:700px) {
  .portal-context-switch { order: 3; width: 100%; }
  .portal-context-switch > span { margin-right: auto; }
  .email-template-manager { padding: 16px 14px; }
  .email-template-manager-controls { grid-template-columns: 1fr; gap: 12px; padding: 14px; }
  .email-template-panel textarea[name="body"] { min-height: 220px; }
  .email-template-sample { align-items: stretch; flex-direction: column; gap: 12px; }
  .email-template-sample button { width: 100%; }
  .paperwork-checklist .card-title { align-items: flex-start; }
  .paperwork-checklist .checklist-item { grid-template-columns: 28px minmax(0,1fr); gap: 11px; padding: 15px 7px; }
  .paperwork-checklist .checklist-item.has-submission-error { margin-inline: -4px; padding-inline: 8px; }
  .paperwork-checklist .checklist-completion-mark { width: 24px; height: 24px; font-size: 14px; }
  .paperwork-checklist .checklist-item-actions { grid-column: 2; width: 100%; justify-self: stretch; }
  .paperwork-checklist .checklist-item-actions > button,
  .paperwork-checklist .checklist-item-actions form button { width: 100%; }
  .acknowledgment-actions { display: grid; grid-template-columns: 1fr; }
  .acknowledgment-actions button { width: 100%; }
  .account-settings-grid { grid-template-columns: 1fr; }
  .account-email-setting { align-items: stretch; flex-direction: column; gap: 12px; }
  .account-email-setting button { width: 100%; }
  .account-directory-heading { align-items: flex-start; }
  .account-directory-count { margin-top: 2px; }
  .account-directory-filters { display: grid; grid-template-columns: 1fr; padding: 12px; }
  .account-directory-filters label,
  .account-directory-filters .account-search-field { width: 100%; }
  .account-filter-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .account-filter-actions .button,
  .account-filter-actions button { width: 100%; }
  .account-directory-pagination { align-items: stretch; flex-direction: column; }
  .account-directory-pagination > div { justify-content: space-between; }
  .parent-accounts-table .account-player-links { gap: 11px; }
  .parent-account-dialog { width: calc(100% - 1rem); padding: 20px 16px; }
  .sidebar { height: auto; overflow-y: visible; }
  .brand { margin: 0; max-width: calc(100% - 85px); }
  .brand strong { font-size: 18px; }
  .brand small { font-size: 10px; }
  .mobile-menu { top: .8rem; padding: 10px 12px; }
  .sidebar-bottom { padding-bottom: .5rem; }
  .stat strong { font-size: 1.8rem; }
  .auth-page { padding: 24px 16px; }
  .auth-page .login-card { padding: 30px 24px; }
  .schedule-grid { grid-template-columns: 1fr; }
  .communication-compose { padding: 16px 14px; }
  .communication-compose textarea[name="body"] { min-height: 190px; }
  .communication-audience-summary { grid-template-columns: 1fr; gap: 10px; }
  .group-compose .communication-routing { min-height: 70px; }
  .communication-signature-editor { padding: 12px; }
  .communication-signature-heading { align-items: flex-start; }
  .communication-signature-toggle { flex: 0 0 auto; }
  .communication-signature-preview { padding: 10px 12px; }
  .communication-attachments { padding: 12px; }
  .auth-page .login-card h1 { font-size: 34px; }
  .interest-table-scroll { overflow: visible; }
  .interest-table, .interest-table tbody, .interest-table tr, .interest-table td { display: block; width: 100%; }
  .interest-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .interest-table tbody { display: grid; gap: 12px; }
  .interest-table tr { padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
  .interest-table td { padding: 7px 0; border: 0; overflow-wrap: anywhere; }
  .interest-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #624f51; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .interest-table td:last-child { margin-top: 7px; padding-top: 14px; border-top: 1px solid var(--line); }
  .interest-table td:last-child::before { display: none; }
  .interest-table td:last-child button { width: 100%; }
  .interest-oversight-summary > div { grid-template-columns: 1fr; gap: 4px; }
  .accounts-table-scroll { overflow: visible; }
  .accounts-table, .accounts-table tbody, .accounts-table tr, .accounts-table td { display: block; width: 100%; }
  .accounts-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .accounts-table tbody { display: grid; gap: 12px; }
  .accounts-table tr { padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
  .accounts-table td { padding: 7px 0; border: 0; overflow-wrap: anywhere; }
  .accounts-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #624f51; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .accounts-table td:first-child::before { display: none; }
  .accounts-table td:last-child { margin-top: 7px; padding-top: 14px; border-top: 1px solid var(--line); }
  .accounts-table td:last-child::before { display: none; }
  .accounts-table .actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .accounts-table .actions button { width: 100%; min-width: 0; padding-right: 9px; padding-left: 9px; }
  .communication-tabs { gap: 3px; padding: 3px; }
  .communication-tabs a { padding: 10px 5px; font-size: 10px; letter-spacing: .025em; }
  .communication-inbox-heading { padding: 20px 18px 14px; }
  .communication-inbox-tools { padding: 0 18px 16px; }
  .communication-inbox-grid { grid-template-columns: 1fr; min-height: 0; }
  .communication-thread-list { border-right: 0; border-bottom: 1px solid var(--line); }
  .communication-thread-detail { padding: 18px; }
  .communication-thread-detail > .communication-empty { min-height: 180px; }
  .communication-thread-header { gap: 0; padding-bottom: 9px; }
  .communication-thread-summary { display: none; }
  .communication-thread-actions { justify-content: flex-start; }
  .communication-followup-panel { margin: 9px 0 14px; padding: 11px; }
  .communication-followup-panel > h3 { display: none; }
  .communication-followup-grid { grid-template-columns: 1fr; }
  .communication-oversight-workflow { grid-template-columns: 1fr; }
  .communication-status-dialog { padding: 22px 20px 23px; }
  .communication-status-dialog-heading h2 { font-size: 30px; }
  .communication-status-dialog-actions button { min-height: 62px; padding: 9px; }
  .communication-trash-list { padding: 0 18px 18px; }
  .communication-trash-record { align-items: stretch; flex-direction: column; }
  .communication-trash-record button { width: 100%; }
  .announcement-meta { display: grid; gap: 12px; }
  .announcement-meta .button { width: 100%; text-align: center; }
  .communication-layout { grid-template-columns: 1fr; }
  .communication-followup { position: static; }
  .message-card.outbound, .message-card.inbound { margin-left: 0; margin-right: 0; }
  .communication-table, .communication-table tbody, .communication-table tr, .communication-table td { display: block; width: 100%; }
  .communication-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .communication-table tbody { display: grid; gap: 12px; }
  .communication-table tr { padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
  .communication-table td { padding: 7px 0; border: 0; overflow-wrap: anywhere; }
  .communication-table td::before { display: block; margin-bottom: 3px; color: #624f51; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .communication-table td:nth-child(1)::before { content: 'Details'; }
  .communication-table td:nth-child(2)::before { content: 'Status / subject'; }
  .communication-table td:nth-child(3)::before { content: 'Assignment / delivery'; }
  .communication-table td:nth-child(4)::before { content: 'Date'; }
  .registration-table-scroll { overflow: visible; }
  .registration-table, .registration-table tbody, .registration-table td { display: block; width: 100%; }
  .registration-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .registration-table tbody { display: grid; gap: 12px; }
  .registration-table tr { display: grid; width: 100%; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); column-gap: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 4px; background: #fffdf7; }
  .registration-table td { min-width: 0; padding: 7px 0; border: 0; overflow-wrap: anywhere; }
  .registration-table td:first-child, .registration-table td:last-child { grid-column: 1 / -1; }
  .registration-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #624f51; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .registration-table td:first-child::before { display: none; }
  .registration-table td:last-child { margin-top: 7px; padding-top: 12px; border-top: 1px solid var(--line); }
  .registration-table td:last-child a { display: inline-flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; font-weight: 800; }
  .registration-action { text-align: left; }
  .paperwork-deadline-card { align-items: flex-start; }
  .registration-profile-section { margin: 18px 0; padding: 18px 14px 14px; }
  .registration-address-line { grid-template-columns: minmax(0,1fr) minmax(96px,.45fr); }
  .registration-address-city { grid-column: 1 / -1; }
  .registration-uniform-field { max-width: none; }
  .support-session { padding-top: 98px; }
  .support-session-banner { min-height: 98px; justify-content: space-between; gap: 10px; padding: 10px 13px; }
  .support-session-banner > div { display: block; }
  .support-session-banner strong, .support-session-banner span { display: block; }
  .support-session-banner span { margin-top: 3px; font-size: 9px; }
  .support-session-banner button { max-width: 138px; padding: 8px 10px; }
  .support-session .sidebar { top: 0; height: auto; }
}
@media (max-width:360px) {
  .brand { gap: 8px; }
  .brand strong { font-size: 16px; }
  .auth-page .login-card { padding: 28px 20px; }
  .auth-page .login-card h1 { font-size: 30px; }
}

/* Registration application lifecycle */
.parent-home-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 20px; align-items: start; }
.parent-home-actions .card-title { align-items: flex-start; }
.parent-home-actions .card-title p { margin-bottom: 4px; }
.all-set-state { display: flex; gap: 16px; align-items: center; padding: 24px 20px; border: 1px solid #bdd9c5; border-radius: 8px; background: #f2f9f4; color: #285f43; }
.all-set-state > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 50%; background: #347a51; color: #fff; font-size: 21px; font-weight: 900; }
.all-set-state h3, .all-set-state p { margin: 0; }
.all-set-state h3 { font: 700 1.35rem/1.2 Georgia,serif; }
.all-set-state p { margin-top: 3px; color: #51705d; }
.important-team-notice { border-left: 4px solid var(--red); }
.home-announcements article + article { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.coach-registration-progress > .card-title { align-items: flex-start; }
.coach-registration-progress > .card-title .eyebrow,
.coach-registration-summary .eyebrow,
.coach-attention > .card-title .eyebrow,
.coach-safety-overview > .card-title .eyebrow { margin-bottom: 4px; }
.coach-registration-progress > .card-title h2,
.coach-registration-summary h2,
.coach-attention > .card-title h2,
.coach-safety-overview > .card-title h2 { margin-bottom: 0; }
.coach-registration-progress > .card-title p:last-child,
.coach-registration-summary p:last-child,
.coach-attention > .card-title p:last-child,
.coach-safety-overview > .card-title p:last-child { margin: 5px 0 0; }
.coach-registration-meter { display: flex; width: 100%; height: 11px; margin: 18px 0 14px; overflow: hidden; border-radius: 999px; background: #eee6df; box-shadow: inset 0 1px 2px rgba(38,10,15,.08); }
.coach-registration-meter span { flex: 1 1 0; height: 100%; }
.coach-registration-meter .is-invited { background: #d6b259; }
.coach-registration-meter .is-in-progress { background: #a7856d; }
.coach-registration-meter .is-corrections { background: #b84b5c; }
.coach-registration-meter .is-submitted { background: #477f98; }
.coach-registration-meter .is-approved { background: #39805d; }
.coach-registration-counts { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.coach-registration-state { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; align-items: center; min-width: 0; padding: 10px 11px 10px 15px; border: 1px solid var(--line); border-radius: 7px; background: #fffdf8; }
.coach-registration-state::before { content: ""; position: absolute; inset: 8px auto 8px 7px; width: 3px; border-radius: 4px; background: #a7856d; }
.coach-registration-state.is-invited::before { background: #d6b259; }
.coach-registration-state.is-corrections::before { background: #b84b5c; }
.coach-registration-state.is-submitted::before { background: #477f98; }
.coach-registration-state.is-approved::before { background: #39805d; }
.coach-registration-state strong { color: #392528; font: 700 1.35rem/1 Georgia,serif; }
.coach-registration-state span { min-width: 0; color: #66575a; font-size: .78rem; font-weight: 750; line-height: 1.25; }
.coach-registration-empty { margin: 16px 0; padding: 16px; border-radius: 7px; background: #f8f3ed; color: var(--muted); }
.coach-registration-roster-link { display: inline-block; margin-top: 16px; font-size: .88rem; font-weight: 750; }
.coach-registration-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: center; }
.coach-registration-summary.is-complete { grid-template-columns: auto minmax(0,1fr) auto; border-color: #b9d8c5; border-left: 5px solid #39805d; background: #f4faf5; }
.coach-registration-summary.is-complete .eyebrow { color: #2d704f; }
.coach-registration-summary.is-complete p { color: #4c6658; }
.coach-registration-complete-mark { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: #39805d; color: #fff; font-size: 25px; font-weight: 900; }
.coach-overview-main { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(290px,.7fr); gap: 18px; align-items: start; }
.coach-overview-main > *, .coach-overview-primary, .coach-overview-sidebar { min-width: 0; }
.coach-overview-primary { display: grid; gap: 18px; align-content: start; }
.coach-overview-primary > .card { margin-bottom: 0; }
.coach-attention > .card-title { align-items: flex-start; }
.coach-attention-list { margin: 0; padding: 0; list-style: none; }
.coach-attention-list > li { display: grid; grid-template-columns: minmax(105px,.32fr) minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.coach-attention-list > li:first-child { border-top: 0; }
.coach-attention-kind .badge { white-space: normal; line-height: 1.25; text-align: center; }
.badge.inbox { background: #e6f0f4; color: #2f687f; }
.coach-attention-copy { display: grid; min-width: 0; gap: 3px; }
.coach-attention-copy strong, .coach-attention-copy span { overflow-wrap: anywhere; }
.coach-attention-copy span { color: var(--muted); font-size: .86rem; }
.coach-attention-actions { display: flex; flex-wrap: wrap; flex: 0 0 auto; gap: 9px; align-items: center; justify-content: flex-end; }
.coach-attention-actions > a { font-size: .86rem; font-weight: 750; }
.coach-attention-actions form { margin: 0; }
.coach-attention-actions button { min-height: 38px; padding: 7px 10px; font-size: .72rem; }
.coach-overview-sidebar .home-announcements { margin-bottom: 0; }
.home-announcements > .card-title { align-items: flex-start; }
.home-announcements > .card-title h2 { min-width: 0; }
.announcement-view-all { flex: 0 0 auto; margin-top: 3px; white-space: nowrap; font-weight: 700; }
.coach-queue-empty { margin: 0; color: var(--muted); font-size: .9rem; }
.media-consent-player-list, .application-agreement-list { margin: 0; padding: 0; list-style: none; }
.media-consent-player-list li { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 11px 0; border-top: 1px solid var(--line); }
.media-consent-player-list li:first-child { border-top: 0; }
.media-consent-player-list a { flex: 0 0 auto; font-size: .86rem; font-weight: 750; }
.media-consent-attention { margin-top: 0; border-left: 4px solid #b58113; }
.media-consent-warning { margin-bottom: 14px; padding: 12px 14px; border-radius: 7px; background: #fff7df; color: #684b12; }
.media-consent-badge { margin-top: 6px; border: 1px solid #d9cec4; background: #f4f0ec; color: #675a55; font-size: .72rem; }
.registration-player-layout { grid-template-columns: minmax(0,1.6fr) minmax(320px,.7fr); }
.registration-information > .card-title { align-items: flex-start; }
.registration-information > .card-title p { margin: 5px 0 0; }
.registration-section-form { margin: 0 0 24px; }
.registration-section-form:last-child { margin-bottom: 0; }
.registration-section-form > button { margin-top: -10px; }
.registration-profile-section.is-returned { border-color: #d7a0a8; border-left-color: var(--red); background: #fff8f7; }
.registration-profile-section.is-returned legend { color: #7d2030; }
.registration-profile-section.is-locked { border-left-color: #aa9c96; background: #f7f4f1; }
.registration-profile-section.is-locked legend { color: #5d5150; }
.parent-profile-private { margin: 18px 0 24px; }
.parent-profile-private h3 { margin-bottom: 8px; font: 700 1.2rem/1.25 Georgia,serif; color: #5d5150; }
.parent-profile-private .section-lock-note { margin-bottom: 8px; }
.registration-profile-section[disabled] { opacity: 1; }
.registration-profile-section[disabled] input,
.registration-profile-section[disabled] select,
.registration-profile-section[disabled] textarea { border-color: #d8d0cc; background: #eeeae7; color: #5f5756; opacity: 1; cursor: not-allowed; }
.section-lock-note { margin: 2px 0 16px; color: #6f6462; font-size: .86rem; }
.correction-instruction { margin: 3px 0 17px; padding: 11px 13px; border-left: 3px solid var(--red); background: #fff0f1; color: #741b28; font-size: .9rem; }
.birth-certificate-help { margin: 9px 0 4px; color: #493b3d; font-weight: 650; }
.submitted-application-notice { margin: 18px 0 0; }
.optional-consent-item .checklist-completion-mark { border-style: dashed; background: #faf8f6; box-shadow: none; }
.optional-consent-item .checklist-status { color: #675d5f; font-weight: 500; }
.acknowledgment-record { display: flex; flex-direction: column; gap: 3px; margin-top: 18px; padding: 12px 14px; border: 1px solid #d7e4db; border-radius: 7px; background: #f5faf6; }
.acknowledgment-record span { color: var(--muted); font-size: .84rem; }
.media-consent-management { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.media-consent-management summary { color: var(--maroon); font-size: .88rem; font-weight: 700; cursor: pointer; }
.media-consent-management form { margin-top: 14px; }
.current-media-action > button { background: #fff; color: var(--maroon); border-color: var(--line); }
.current-contact-card dl { margin-bottom: 16px; }
.accepted-application-heading, .coach-application-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.accepted-application-heading h2, .accepted-application-heading p, .coach-application-heading h2 { margin-bottom: 0; }
.application-summary-meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.application-summary-meta span { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: #faf8f6; color: #5c5052; font-size: .84rem; }
.application-summary-meta strong { color: #352a2c; font-size: .72rem; letter-spacing: .055em; text-transform: uppercase; }
.application-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.application-review-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.application-review-card .eyebrow { margin-bottom: 5px; }
.application-review-card h2 { margin-bottom: 17px; font-size: 1.35rem; }
.application-review-card dl { grid-template-columns: minmax(115px,.75fr) minmax(0,1.25fr); gap: 9px 14px; }
.application-review-card dd { white-space: pre-wrap; }
.application-agreements { grid-column: 1 / -1; }
.application-agreement-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.application-agreement-list li { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; border-top: 1px solid var(--line); }
.application-agreement-list li:nth-child(-n+2) { border-top: 0; }
.application-agreement-list span { color: var(--muted); font-size: .84rem; }
.birth-certificate-warning { margin: 15px 0 0; padding: 11px 12px; border-left: 3px solid var(--gold); background: #fff8e7; color: #5f4718; font-size: .88rem; font-weight: 650; }
.good-text { color: var(--green); font-weight: 700; }
.accepted-current-note { margin-bottom: 20px; }
.coach-current-safety { border-top: 4px solid #496b5a; }
.coach-current-safety > .card-title { align-items: flex-start; }
.coach-current-safety > .card-title p { margin: 4px 0 0; }
.coach-current-safety > .coach-current-safety-header { flex-wrap: wrap; margin-bottom: 10px; }
.coach-current-safety > .coach-current-safety-header .eyebrow { max-width: 50%; margin: 0; }
.coach-current-safety-intro { width: 100%; margin-bottom: 18px; }
.coach-current-safety-intro h2 { margin-bottom: 8px; }
.coach-current-safety-intro p { margin-bottom: 0; }
.current-safety-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.current-safety-group { min-width: 0; padding: 16px; border: 1px solid #cfddd4; border-radius: 8px; background: #f7fbf8; }
.current-safety-group h3 { margin-bottom: 13px; font-size: 1rem; }
.current-safety-group dl { grid-template-columns: minmax(105px,.8fr) minmax(0,1.2fr); gap: 8px 12px; }
.current-safety-group dd { white-space: pre-wrap; }
.safety-update-meta { margin: 14px 0 0; color: #4d6859; }
.coach-review-decision { border-top: 4px solid var(--maroon); }
.coach-review-decision > p:not(.eyebrow) { color: var(--muted); }
.coach-primary-document .application-review-grid { grid-template-columns: 1fr; margin-bottom: 20px; }
.coach-primary-document .birth-certificate-review { border-top: 4px solid var(--gold); }
.coach-jersey-card { border-top: 4px solid var(--maroon); }
.coach-jersey-card > .card-title { align-items: flex-start; }
.coach-jersey-card > .card-title .eyebrow { margin-bottom: 4px; }
.coach-jersey-value { color: var(--maroon); font: 700 1.75rem/1 Georgia,serif; }
.coach-jersey-card form { max-width: 420px; }
.coach-reference-records { margin: 28px 0 20px; }
.coach-reference-heading { margin: 0 0 14px; }
.coach-reference-heading .eyebrow { margin-bottom: 4px; }
.coach-reference-heading h2 { margin-bottom: 6px; }
.coach-reference-heading p:last-child { margin-bottom: 0; }
.coach-record-details { padding: 0; overflow: hidden; box-shadow: none; }
.coach-record-details > summary { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; cursor: pointer; list-style: none; color: var(--maroon); }
.coach-record-details > summary::-webkit-details-marker { display: none; }
.coach-record-details > summary::after { content: "+"; flex: 0 0 auto; font-size: 1.45rem; font-weight: 500; line-height: 1; }
.coach-record-details[open] > summary { border-bottom: 1px solid var(--line); background: #fff8e8; }
.coach-record-details[open] > summary::after { content: "−"; }
.coach-record-details > summary span { display: grid; gap: 2px; }
.coach-record-details > summary strong { color: var(--maroon); font-size: 1rem; }
.coach-record-details > summary small { color: var(--muted); font-size: .8rem; font-weight: 600; }
.coach-record-details-body { padding: 20px; }
.coach-record-details-body > .coach-application-heading { margin-bottom: 18px; }
.coach-record-details-body .application-review-grid { margin-bottom: 0; }
.coach-record-details-body > .timeline { margin-bottom: 0; }
.coach-administration-section { padding: 18px 0; border-top: 1px solid var(--line); }
.coach-administration-section:first-child { padding-top: 0; border-top: 0; }
.coach-administration-section:last-child { padding-bottom: 0; }
.coach-administration-section h3 { font-family: Georgia,serif; }
.accepted-name-correction > p { margin: 12px 0 0; }
.primary-contact-setting { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.primary-contact-setting h3 { margin-bottom: 6px; }
.primary-contact-setting p { margin-bottom: 12px; }
.primary-contact-dialog { max-width: 620px; }
.primary-contact-dialog .primary-contact-warning { margin: 10px 0 18px; }
.primary-contact-dialog .primary-contact-warning strong { display: block; margin-bottom: 4px; }
.primary-transfer-summary { margin-bottom: 18px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 8px; background: #fffaf0; }
.primary-transfer-summary p { margin-bottom: 10px; }
.primary-transfer-summary p:last-child { margin-bottom: 0; }
.primary-contact-dialog form { padding-top: 17px; border-top: 1px solid var(--line); }
.primary-contact-dialog form > .check { margin-bottom: 18px; }
.primary-contact-actions { justify-content: flex-end; }
.link-season-eligibility-error { margin: -8px 0 16px; padding: 10px 12px; border-left: 3px solid #b3263c; border-radius: 4px; background: #fff3f4; font-size: 14px; }
.link-season-primary-help { margin: -8px 0 16px; }
.link-season-jersey-dialog { max-width: 560px; }
.link-season-jersey-dialog > p { margin-bottom: 18px; }
.link-season-jersey-options { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; border: 0; }
.link-season-jersey-options legend { margin-bottom: 8px; padding: 0; }
.choice-card { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; }
.choice-card input[type="radio"] { flex: 0 0 auto; width: 20px; min-height: 20px; margin: 2px 0 0; accent-color: var(--maroon); }
.choice-card span { display: grid; gap: 2px; }
.choice-card small { color: var(--muted); font-weight: 500; }
.choice-card:has(input:checked) { border-color: #b67b84; background: #fff8f0; }
.link-season-alternate-jersey { margin: 0 0 2px 30px; }
.link-season-alternate-jersey[hidden] { display: none; }
.link-season-jersey-dialog .notice.warn { margin: 0 0 18px; }
.coach-parent-access .family-invite-action { margin: 0 0 16px; padding-top: 18px; border-top: 1px solid var(--line); }
.roster-jersey-line { display: inline-flex; align-items: baseline; gap: 8px; }
button.roster-jersey-change { min-height: 44px; margin: -10px 0; padding: 8px 3px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--maroon); font-size: inherit; font-weight: 800; letter-spacing: 0; line-height: inherit; text-decoration: underline; text-transform: none; }
button.roster-jersey-change:hover { background: transparent; color: var(--deep); text-decoration-thickness: 2px; }
.review-correction-option { padding: 12px 0; border-top: 1px solid var(--line); }
.review-correction-option:first-of-type { border-top: 0; }
.review-correction-option > .check { margin: 0; }
.review-correction-note { margin: 11px 0 0 31px; padding: 12px; border-radius: 7px; background: #fff8e7; }
.review-correction-note textarea { min-height: 82px; background: #fff; }
.review-correction-note[hidden] { display: none; }
[data-review-corrections][disabled] { opacity: .6; }
[data-review-corrections]:not([disabled]) { opacity: 1; }

@media (max-width:1000px) {
  .parent-home-grid, .registration-player-layout, .coach-overview-main { grid-template-columns: 1fr; }
  .coach-registration-counts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .application-summary-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .application-review-grid, .application-agreement-list, .current-safety-grid { grid-template-columns: 1fr; }
  .coach-registration-progress > .card-title { align-items: flex-start; flex-direction: column; }
  .coach-registration-counts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .coach-registration-summary, .coach-registration-summary.is-complete { grid-template-columns: auto minmax(0,1fr); gap: 14px; }
  .coach-registration-summary > .button { grid-column: 1 / -1; width: 100%; }
  .coach-registration-summary.is-roster-only { grid-template-columns: 1fr; }
  .coach-attention-list > li { grid-template-columns: 1fr; gap: 7px; align-items: start; }
  .coach-attention-kind .badge { text-align: left; }
  .coach-attention-actions { justify-content: flex-start; margin-top: 3px; }
  .application-agreements { grid-column: auto; }
  .application-agreement-list li:nth-child(2) { border-top: 1px solid var(--line); }
  .accepted-application-heading, .coach-application-heading { flex-direction: column; }
  .coach-record-details > summary { min-height: 64px; padding: 14px 16px; }
  .coach-record-details-body { padding: 16px; }
  .application-review-card { padding: 17px 14px; }
  .application-review-card dl { grid-template-columns: minmax(105px,.85fr) minmax(0,1.15fr); }
  .media-consent-player-list li { align-items: flex-start; }
  .review-correction-note { margin-left: 0; }
  .registration-section-form > button { width: 100%; }
}
@media (max-width:340px) {
  .application-summary-meta, .registration-table tr { grid-template-columns: 1fr; }
  .registration-table td { grid-column: 1 / -1; }
}
@media (max-width:420px) {
  .paperwork-checklist > .card-title,
  .coach-application-heading > .card-title {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .paperwork-checklist > .card-title > *,
  .coach-application-heading > .card-title > * {
    max-width: 100%;
    min-width: 0;
  }
  .paperwork-checklist > .card-title .badge,
  .coach-application-heading > .card-title .badge {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Progressive fallbacks remain usable if the portal script is unavailable. */
.no-js .registration-agreement-dialog:target,
.no-js .registration-agreement-dialog[open] {
  display: block;
  position: static;
  width: 100%;
  max-width: none;
  max-height: none;
  margin: 1rem 0;
  box-shadow: none;
}
.no-js [data-acknowledgment-save][hidden] { display: inline-flex; }
.no-js [data-acknowledgment-back] { display: none; }
.js .no-script-review-help { display: none; }
@media (max-width:700px) {
  .no-js .sidebar .nav { display: flex; }
  .no-js .sidebar-bottom { display: block; }
  .no-js .mobile-menu { display: none; }
}

/* Fundraising workflow */
.fundraising-principle { border-left: 4px solid var(--gold); }
.fundraising-campaign { padding: 0; overflow: hidden; border-top: 5px solid var(--gold); }
.fundraising-campaign.closed { border-top-color: var(--green); }
.fundraising-campaign-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 26px 28px 12px; }
.fundraising-campaign-heading h2 { margin-bottom: 8px; }
.fundraising-campaign-heading p:not(.eyebrow) { max-width: 760px; margin-bottom: 12px; }
.fundraising-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.fundraising-meta span { padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: #faf6ef; color: #66585a; font-size: .76rem; font-weight: 700; }
.fundraising-progress { margin: 4px 28px 22px; }
.fundraising-progress .split { margin-bottom: 8px; color: #5e5052; font-size: .86rem; font-weight: 750; }
.fundraising-progress-track { display: block; width: 100%; height: 12px; overflow: hidden; border: 0; border-radius: 999px; background: #eadfd3; box-shadow: inset 0 1px 2px rgba(43,9,15,.09); color: var(--gold); -webkit-appearance: none; appearance: none; }
.fundraising-progress-track::-webkit-progress-bar { border-radius: inherit; background: #eadfd3; box-shadow: inset 0 1px 2px rgba(43,9,15,.09); }
.fundraising-progress-track::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg,#d99b18,var(--gold)); }
.fundraising-progress-track::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg,#d99b18,var(--gold)); }
.fundraising-final-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 4px 28px 22px; }
.fundraising-final-stats article { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 8px; background: #faf8f5; }
.fundraising-final-stats span { color: var(--muted); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.fundraising-final-stats strong { color: var(--deep); font: 700 1.35rem/1.2 Georgia,serif; }
.fundraising-leaderboard { margin: 0 28px 24px; padding: 20px; border: 1px solid #e1c47b; border-radius: 10px; background: linear-gradient(145deg,#fff9e9,#fffdf8); }
.fundraising-leaderboard > .card-title { align-items: flex-start; }
.fundraising-leaderboard h3 { margin-bottom: 0; font: 700 1.55rem/1.15 Georgia,serif; }
.fundraising-podium { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: end; margin: 22px 0 0; padding: 0; list-style: none; }
.fundraising-podium-place { display: flex; min-width: 0; align-items: stretch; flex-direction: column; justify-content: flex-end; }
.fundraising-podium-place-1 { grid-column: 2; grid-row: 1; }
.fundraising-podium-place-2 { grid-column: 1; grid-row: 1; }
.fundraising-podium-place-3 { grid-column: 3; grid-row: 1; }
.fundraising-podium-card { position: relative; display: flex; min-width: 0; min-height: 175px; padding: 18px 13px 16px; overflow: hidden; align-items: center; flex-direction: column; justify-content: center; border: 1px solid #dec994; border-radius: 12px 12px 5px 5px; background: rgba(255,255,255,.88); box-shadow: 0 10px 22px rgba(72,38,10,.08); text-align: center; }
.fundraising-podium-card::before, .fundraising-podium-card::after { content: ""; position: absolute; width: 80px; height: 80px; border: 2px dashed rgba(111,21,33,.13); border-radius: 50%; pointer-events: none; }
.fundraising-podium-card::before { top: -48px; right: -38px; }
.fundraising-podium-card::after { bottom: -54px; left: -40px; }
.fundraising-podium-place-1 .fundraising-podium-card { min-height: 210px; border-color: #d69e19; background: linear-gradient(180deg,#fff7d1,#fffdf8); }
.fundraising-podium-place-2 .fundraising-podium-card { min-height: 188px; }
.fundraising-podium-card .fundraising-rank { position: absolute; top: 10px; left: 10px; z-index: 1; width: 38px; height: 38px; border: 2px solid rgba(73,43,16,.18); color: #38220b; font-size: .9rem; box-shadow: 0 3px 0 rgba(70,39,9,.14); }
.fundraising-podium-place-1 .fundraising-rank { background: linear-gradient(145deg,#ffe58d,#e4a51a); }
.fundraising-podium-place-2 .fundraising-rank { background: linear-gradient(145deg,#f6f7f8,#bfc4c9); }
.fundraising-podium-place-3 .fundraising-rank { background: linear-gradient(145deg,#e8b17b,#aa6739); }
.fundraising-podium-card .fundraising-jersey { width: 68px; height: 68px; margin-top: 9px; }
.fundraising-podium-place-1 .fundraising-jersey { width: 78px; height: 78px; }
.fundraising-leaderboard-name { margin-top: 6px; overflow-wrap: anywhere; font-size: 1rem; }
.fundraising-leaderboard-amount { color: var(--maroon); font-weight: 850; white-space: nowrap; }
.fundraising-podium-spark { position: absolute; top: 10px; right: 12px; color: #c98e0c; font-size: 1.15rem; }
.fundraising-podium-place-2 .fundraising-podium-spark { color: #9ca2a8; }
.fundraising-podium-place-3 .fundraising-podium-spark { color: #b56d39; }
.fundraising-podium-base { display: grid; min-height: 48px; place-items: center; border-radius: 0 0 6px 6px; background: linear-gradient(90deg,#ad6c3d,#d6965f,#ad6c3d); color: #fff; font: 800 1.25rem/1 Georgia,serif; box-shadow: inset 0 1px rgba(255,255,255,.4); }
.fundraising-podium-place-1 .fundraising-podium-base { min-height: 78px; background: linear-gradient(90deg,#e2a61c,var(--gold),#e2a61c); color: #3d2604; }
.fundraising-podium-place-2 .fundraising-podium-base { min-height: 61px; background: linear-gradient(90deg,#bcc1c6,#e8eaec,#bcc1c6); color: #3f4144; }
.fundraising-on-board { margin-top: 20px; padding-top: 16px; border-top: 1px solid #eadcb8; }
.fundraising-on-board h4 { margin-bottom: 10px; color: var(--maroon); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }
.fundraising-on-board-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.fundraising-on-board-list li { display: grid; grid-template-columns: 32px 43px minmax(0,1fr) auto; gap: 9px; min-width: 0; min-height: 58px; padding: 8px 10px; align-items: center; border: 1px solid #eadcb8; border-radius: 8px; background: rgba(255,255,255,.78); }
.fundraising-on-board-list .fundraising-rank { width: 30px; height: 30px; border: 2px solid var(--gold); background: var(--cream); box-shadow: 0 0 0 1px var(--maroon); }
.fundraising-rank { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #f0dfb4; color: var(--maroon); font-size: .78rem; font-weight: 850; }
.fundraising-jersey { display: inline-flex; width: 43px; height: 43px; }
.fundraising-jersey svg { width: 100%; height: 100%; overflow: visible; }
.fundraising-jersey-body { fill: var(--maroon); stroke: var(--deep); stroke-width: 1.25; stroke-linejoin: round; }
.fundraising-jersey-collar { fill: var(--deep); stroke: var(--gold); stroke-width: 1.1; stroke-linejoin: round; }
.fundraising-jersey-trim { fill: none; stroke: var(--gold); stroke-width: 1.45; stroke-linecap: round; }
.fundraising-jersey-number { fill: #fffaf0; stroke: var(--deep); stroke-width: 1.05; paint-order: stroke fill; font: 900 18px/1 Arial,sans-serif; }
.fundraising-jersey-number-long { font-size: 14px; }
.fundraising-workspace { border-top: 1px solid var(--line); background: #fffdfa; }
.fundraising-workspace > summary { display: flex; min-height: 62px; padding: 17px 28px; align-items: center; justify-content: space-between; list-style: none; color: var(--maroon); font-weight: 800; cursor: pointer; }
.fundraising-workspace > summary::-webkit-details-marker { display: none; }
.fundraising-workspace > summary::after { content: "+"; font-size: 1.4rem; }
.fundraising-workspace[open] > summary::after { content: "−"; }
.fundraising-workspace[open] > summary { border-bottom: 1px solid var(--line); background: #fff8e8; }
.fundraising-workspace-body { display: grid; gap: 20px; padding: 26px 28px 30px; }
.fundraising-work-queue { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.fundraising-work-queue article { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 2px 12px; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: #fbf8f3; }
.fundraising-work-queue article > span { grid-row: 1 / 3; color: var(--maroon); font: 700 1.45rem/1 Georgia,serif; }
.fundraising-work-queue small { color: var(--muted); }
.fundraising-action-row, .compact-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.fundraising-work-section { min-width: 0; padding: 21px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.fundraising-work-section h3 { margin-bottom: 7px; font-family: Georgia,serif; }
.fundraising-work-section > .card-title { align-items: flex-start; }
.fundraising-work-section table { margin-top: 12px; }
.fundraising-work-section form { max-width: 700px; margin-top: 18px; }
.fundraising-work-section .check { padding: 7px 0; border-bottom: 1px solid #eee5dc; }
.fundraising-handoff { display: flex; gap: 15px; justify-content: space-between; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.fundraising-handoff > div:first-child { display: grid; gap: 3px; }
.fundraising-handoff > div:first-child span { color: var(--muted); font-size: .82rem; }
.fundraising-milestones { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 15px 0; }
.fundraising-milestones > div { display: grid; grid-template-columns: 34px 1fr; gap: 2px 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #faf8f5; }
.fundraising-milestones > div > span { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #e9dfd8; font-weight: 800; }
.fundraising-milestones > div.complete { border-color: #b8d8c5; background: #f3faf5; }
.fundraising-milestones > div.complete > span { background: var(--green); color: #fff; }
.fundraising-milestones small { color: var(--muted); }
.fundraising-closeout-callout { display: flex; justify-content: space-between; gap: 22px; align-items: center; padding: 21px; border: 1px solid #d9bd78; border-left: 5px solid var(--gold); border-radius: 9px; background: #fff8e6; }
.fundraising-closeout-callout h3 { margin-bottom: 5px; font-family: Georgia,serif; }
.fundraising-closeout-callout p:last-child { max-width: 720px; margin-bottom: 0; }
.fundraising-closeout-results { padding: 21px; border: 1px solid #b9d9c6; border-radius: 9px; background: #f5faf6; }
.fundraising-closeout-results h3 { margin-bottom: 0; font-family: Georgia,serif; }
.fundraising-cost-lines { min-width: 220px; margin: 10px 0 0; padding: 0; list-style: none; }
.fundraising-cost-lines li { display: flex; justify-content: space-between; gap: 18px; padding: 4px 0; }
.fundraising-family-fund { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: 28px; align-items: center; border-top: 5px solid var(--green); }
.fundraising-family-fund h2 { margin-bottom: 7px; }
.fundraising-family-fund p:last-child { margin-bottom: 0; }
.fundraising-family-fund-balances { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; }
.fundraising-family-fund-balances article { display: grid; gap: 4px; padding: 16px; border: 1px solid #bad8c7; border-radius: 9px; background: #f4faf6; }
.fundraising-family-fund-balances span { color: var(--muted); font-size: .8rem; font-weight: 750; }
.fundraising-family-fund-balances strong { color: var(--green); font: 700 1.65rem/1.15 Georgia,serif; }
.fundraising-family-fund-balances small { color: var(--muted); }
.fundraising-family-actions { display: flex; justify-content: space-between; gap: 22px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.fundraising-family-actions h3 { margin-bottom: 5px; font-family: Georgia,serif; }
.fundraising-family-actions p { max-width: 760px; margin-bottom: 0; }
.fundraising-campaign-dialog, .fundraising-closeout-dialog { max-width: 720px; }
.fundraising-campaign-dialog fieldset, .fundraising-closeout-dialog fieldset { margin: 17px 0; }
.fundraising-chair-groups { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; }
.fundraising-chair-groups section { min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; background: #fffdfa; }
.fundraising-chair-groups h4 { margin: 0 0 7px; color: var(--maroon); font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.fundraising-chair-selector > .small { margin: 10px 0 0; }
.fundraising-setup-helper { margin: -.55rem 0 1rem; padding: .65rem .8rem; border-left: 4px solid var(--gold); border-radius: 0 7px 7px 0; background: #fff8e8; }
.fundraising-setup-helper p, .fundraising-show-all-help { margin: 0; }
.fundraising-setup-helper strong { color: #51373b; }
.fundraising-challenge-options { margin: -.15rem 0 1rem 30px; padding-left: 18px; border-left: 3px solid #eadfcf; }
.fundraising-challenge-options > :last-child { margin-bottom: 0; }
[data-fundraising-cost-section][hidden],
[data-fundraising-return-section][hidden],
[data-fundraising-challenge-options][hidden],
[data-fundraising-leaderboard-limit-wrap][hidden],
[data-fundraising-type-help-for][hidden],
[data-fundraising-cost-help-for][hidden],
[data-fundraising-show-all-help][hidden] { display: none !important; }
.fundraising-other-cost { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.45fr); gap: 12px; margin-bottom: 10px; }
.fundraising-other-cost label { margin: 0; }
.fundraising-payment-parts { margin: 18px 0; }
.fundraising-payment-parts > p { margin-bottom: 12px; }
.fundraising-payment-part { display: grid; grid-template-columns: minmax(130px,.65fr) minmax(120px,.55fr) minmax(210px,1.2fr) auto; gap: 10px; align-items: end; padding: 12px 0; border-top: 1px solid var(--line); }
.fundraising-payment-part:first-child { border-top: 0; padding-top: 0; }
.fundraising-payment-part label { margin: 0; }
.fundraising-payment-part-remove { min-height: 48px; }
.fundraising-payment-parts-footer { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; margin-top: 5px; }
.fundraising-payment-parts-footer button { margin: 0; }
.fundraising-payment-total { margin: 0; color: var(--green); font-weight: 800; }
.fundraising-payment-total.has-error { color: var(--red); }
.fundraising-receipt-review-dialog { width: min(680px,calc(100% - 32px)); max-width: 680px; padding: 26px 28px 28px; border-top-width: 5px; }
.fundraising-receipt-review-heading { margin-bottom: 14px; }
.fundraising-receipt-review-heading .eyebrow { margin-bottom: 4px; }
.fundraising-receipt-review-heading h2 { margin-bottom: 0; font-size: clamp(1.65rem,4vw,2.2rem); }
.fundraising-receipt-review-copy > p { margin-bottom: 13px; color: #5d5052; line-height: 1.55; }
.fundraising-receipt-review-copy > .notice { color: #684b12; }
.fundraising-receipt-review-options { display: grid; gap: 15px; margin: 18px 0; }
.fundraising-review-report-section { display: grid; gap: 8px; }
.fundraising-review-report-section h3 { margin: 0; color: var(--maroon); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.fundraising-report-choice { display: flex; width: 100%; gap: 12px; align-items: flex-start; margin: 0; padding: 13px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbf8f3; font-weight: 500; }
.fundraising-report-choice:has(input:checked) { border-color: #b98720; box-shadow: 0 0 0 2px #f5d986; background: #fff9e9; }
.fundraising-report-choice > input { width: 20px; min-height: 20px; margin: 3px 0 0; flex: 0 0 auto; accent-color: var(--maroon); }
.fundraising-report-choice-detail { display: grid; min-width: 0; gap: 2px; flex: 1; }
.fundraising-report-choice-detail > strong { color: var(--ink); font-size: 1rem; }
.fundraising-report-choice-detail > small { color: var(--muted); overflow-wrap: anywhere; }
.fundraising-report-note { color: #514347 !important; }
.fundraising-combination-choices, .fundraising-difference-reports { display: grid; gap: 10px; margin: 0; }
.fundraising-combination-choices > .fundraising-report-choice { cursor: pointer; }
.fundraising-combination-report { display: block; margin-top: 7px; }
.fundraising-combination-report .fundraising-report-choice { padding: 9px 11px; background: #fff; }
.fundraising-sibling-match { display: grid; gap: 10px; padding: 15px; border: 1px solid #d9bd78; border-radius: 9px; background: #fff8e6; }
.fundraising-sibling-match > h3 { margin: 0; font-family: Georgia,serif; }
.fundraising-sibling-match > button { justify-self: start; }
.fundraising-difference-summary { margin: 0; padding: 11px 13px; border-radius: 7px; background: #f1eeea; color: #514548; font-size: .84rem; font-weight: 700; }
.fundraising-separate-acknowledgement { padding: 13px; border: 1px solid #d9bd78; border-radius: 8px; background: #fff8e6; }
.fundraising-receipt-review-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 18px; border-top: 1px solid var(--line); }
.fundraising-receipt-review-actions button { min-height: 48px; }
.fundraising-receipt-breakdown { min-width: 250px; margin-top: 7px; }
.fundraising-receipt-breakdown > summary { color: var(--maroon); font-size: .8rem; font-weight: 750; cursor: pointer; }
.fundraising-receipt-breakdown ul { display: grid; gap: 7px; margin: 9px 0 0; padding: 10px; list-style: none; border: 1px solid var(--line); border-radius: 7px; background: #faf8f5; }
.fundraising-receipt-breakdown li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px 12px; align-items: center; }
.fundraising-receipt-breakdown li > span:first-child { color: #514548; font-size: .8rem; font-weight: 650; }
.fundraising-match-note { display: block; margin-top: 6px; color: var(--green); font-size: .78rem; font-weight: 700; }
.fundraising-match-note small { display: block; color: var(--muted); font-weight: 500; }
.fundraising-match-difference { color: #805b12; }
.fundraising-handoff-choice > span { display: grid; gap: 2px; }
.fundraising-handoff-choice small { color: var(--muted); font-weight: 500; }
.fundraising-tender-actions { min-width: 190px; flex-direction: column; align-items: stretch; }
.fundraising-tender-actions button { justify-content: flex-start; min-height: 38px; padding: .45rem .65rem; font-size: .78rem; text-align: left; }
.overview-fundraising { border-top: 4px solid var(--gold); }
.overview-fundraising > .card-title { align-items: flex-start; }
.overview-fundraising h2 { margin-bottom: 0; }
.overview-fundraising-totals { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 17px 0 12px; }
.overview-fundraising-totals > div { display: grid; gap: 2px; }
.overview-fundraising-totals span { color: var(--muted); font-size: .76rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.overview-fundraising-totals strong { color: var(--maroon); font: 700 1.45rem/1.2 Georgia,serif; }
.overview-fundraising .fundraising-progress-track { margin-bottom: 16px; }
.overview-fundraising-challenge { margin: 0 0 16px; color: #5f4d24; }

.player-detail-tabs { gap: 6px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.player-detail-tabs a { display: flex; flex: 1 1 0; align-items: center; justify-content: center; min-height: 44px; padding: .65rem 1rem; border: 0; border-radius: 7px; font-weight: 700; text-align: center; }
.player-detail-tabs a:hover { background: #faf5ed; }
.player-detail-tabs .active { border: 0; background: var(--cream); color: var(--maroon); }
.player-finances-view { width: min(920px,100%); margin-inline: auto; }
.player-finance-snapshot { border-top: 4px solid var(--gold); }
.player-finance-snapshot > h2 { margin-bottom: 8px; }
.player-finance-snapshot-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0 18px; }
.player-finance-snapshot-metrics > div { min-width: 0; padding: 12px 13px; border-radius: 7px; background: #f8f2eb; }
.player-finance-snapshot-metrics > div:only-child { grid-column: 1 / -1; }
.player-finance-snapshot-metrics dt { margin-bottom: 3px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.player-finance-snapshot-metrics dd { color: var(--maroon); font: 700 1.35rem/1.2 Georgia,serif; }
.player-finances-summary { border-top: 4px solid var(--gold); }
.player-finances-summary > .card-title { margin-bottom: 10px; }
.player-finance-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 18px; margin: 18px 0 15px; }
.player-finance-metrics > div { display: grid; min-width: 0; gap: 3px; }
.player-finance-metrics > div:last-child { grid-column: 1 / -1; padding-top: 13px; border-top: 1px solid var(--line); }
.player-finance-metrics.without-fund > div:last-child { grid-column: auto; padding-top: 0; border-top: 0; }
.player-finance-metrics span { color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
.player-finance-metrics strong { color: var(--maroon); font: 700 1.55rem/1.2 Georgia,serif; }
.player-finance-fund-note { margin-bottom: 0; }
.player-finance-card > .eyebrow { margin-bottom: 5px; }
.player-finance-card > h2 { overflow-wrap: anywhere; }
.player-finance-card > h3 { margin-top: 22px; }
.player-finance-history { margin-top: 20px; border: 1px solid var(--line); border-radius: 8px; background: #fffdf9; }
.player-finance-history > summary { min-height: 44px; padding: 11px 14px; color: var(--maroon); font-weight: 750; cursor: pointer; }
.player-finance-history-body { padding: 0 14px 4px; border-top: 1px solid var(--line); }
.player-tournament-fund > .card-title { align-items: flex-start; margin-bottom: 0; }
.player-tournament-fund-balance { flex: 0 0 auto; color: var(--maroon); font: 700 1.65rem/1.2 Georgia,serif; }
.player-finance-stage-note { line-height: 1.55; }
.player-finance-stage-note strong { display: block; margin-bottom: 3px; color: #5f4711; }
.player-finance-campaign-row,
.player-finance-final-row { grid-template-columns: minmax(0,1fr); gap: 12px; }
.player-finance-campaign-totals { grid-template-columns: minmax(0,1fr) auto; gap: 9px 14px; padding: 12px 13px; border-radius: 5px; background: #f8f2eb; }
.player-finance-campaign-totals dt { min-width: 0; line-height: 1.4; }
.player-finance-campaign-totals dd { text-align: right; }
.player-finance-result-value { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.player-finance-result-value span { line-height: 1.35; }
.player-finance-result-value strong { flex: 0 0 auto; color: var(--maroon); }

@media (max-width:420px) {
  .player-detail-tabs { align-items: stretch; flex-direction: column; }
  .player-finance-snapshot-metrics { grid-template-columns: 1fr; }
  .player-finance-metrics { grid-template-columns: 1fr; }
  .player-finance-metrics > div:last-child { grid-column: auto; }
  .player-finance-campaign-totals { grid-template-columns: 1fr; gap: 2px; }
  .player-finance-campaign-totals dd { margin-bottom: 8px; text-align: left; }
  .player-finance-campaign-totals dd:last-child { margin-bottom: 0; }
  .player-finance-result-value { align-items: flex-start; flex-direction: column; }
}

@media (max-width:1100px) {
  .fundraising-receipts-scroll { overflow: visible; }
  .fundraising-receipts-table, .fundraising-receipts-table tbody { display: block; width: 100%; }
  .fundraising-receipts-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .fundraising-receipts-table tbody { display: grid; gap: 12px; }
  .fundraising-receipts-table tr { display: grid; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fffdf9; }
  .fundraising-receipts-table td { display: block; min-width: 0; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
  .fundraising-receipts-table td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #624f51; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .fundraising-receipts-table td:first-child, .fundraising-receipts-table td[data-label="Action"] { grid-column: 1 / -1; }
  .fundraising-receipts-table td:first-child { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .fundraising-receipts-table td[data-label="Action"] { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--line); }
  .fundraising-receipts-table .fundraising-receipt-breakdown, .fundraising-receipts-table .fundraising-tender-actions { min-width: 0; max-width: 100%; }
  .fundraising-receipts-table .badge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .fundraising-receipts-table .fundraising-tender-actions { flex-direction: row; align-items: center; }
  .fundraising-receipts-table td[data-label="Action"] .compact-actions button { min-width: 0; white-space: normal; }
}

@media (max-width:800px) {
  .fundraising-work-queue, .fundraising-final-stats { grid-template-columns: 1fr; }
  .fundraising-family-fund { grid-template-columns: 1fr; }
  .fundraising-family-actions, .fundraising-closeout-callout, .fundraising-handoff { align-items: flex-start; flex-direction: column; }
}
@media (max-width:600px) {
  .fundraising-campaign-heading { padding: 21px 18px 10px; }
  .fundraising-challenge-options { margin-left: 0; padding-left: 13px; }
  .fundraising-progress, .fundraising-leaderboard { margin-right: 18px; margin-left: 18px; }
  .fundraising-workspace > summary { padding: 15px 18px; }
  .fundraising-workspace-body { padding: 20px 16px 24px; }
  .fundraising-work-section, .fundraising-closeout-results { padding: 16px; }
  .fundraising-podium { grid-template-columns: 1fr; gap: 11px; align-items: stretch; }
  .fundraising-podium-place-1,
  .fundraising-podium-place-2,
  .fundraising-podium-place-3 { grid-column: 1; grid-row: auto; }
  .fundraising-podium-card,
  .fundraising-podium-place-1 .fundraising-podium-card,
  .fundraising-podium-place-2 .fundraising-podium-card { display: grid; grid-template-columns: 40px 54px minmax(0,1fr) auto; gap: 8px; min-height: 96px; padding: 12px; align-items: center; text-align: left; }
  .fundraising-podium-card .fundraising-rank { position: static; grid-row: 1 / 3; }
  .fundraising-podium-card .fundraising-jersey,
  .fundraising-podium-place-1 .fundraising-jersey { grid-row: 1 / 3; width: 50px; height: 50px; margin: 0; }
  .fundraising-leaderboard-name { margin-top: 0; }
  .fundraising-podium-spark { display: none; }
  .fundraising-podium-base,
  .fundraising-podium-place-1 .fundraising-podium-base,
  .fundraising-podium-place-2 .fundraising-podium-base { min-height: 9px; }
  .fundraising-podium-base span { display: none; }
  .fundraising-on-board-list { grid-template-columns: 1fr; }
  .fundraising-on-board-list li { grid-template-columns: 30px 40px minmax(0,1fr) auto; gap: 7px; }
  .fundraising-jersey { width: 38px; height: 38px; }
  .fundraising-milestones, .fundraising-other-cost, .fundraising-payment-part { grid-template-columns: 1fr; }
  .fundraising-receipts-table tr { grid-template-columns: 1fr; }
  .fundraising-receipts-table td { grid-column: 1 / -1; }
  .fundraising-receipts-table td[data-label="Action"] .compact-actions, .fundraising-receipts-table td[data-label="Action"] button { width: 100%; }
  .fundraising-payment-part-remove { width: 100%; }
  .fundraising-receipt-review-dialog { width: calc(100% - 20px); padding: 22px 18px 20px; }
  .fundraising-receipt-review-actions, .fundraising-receipt-review-actions button, .fundraising-sibling-match > button { width: 100%; }
  .fundraising-action-row > *, .fundraising-family-actions > button, .fundraising-closeout-callout > button { width: 100%; }
}

.interest-email-history { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.interest-email-history-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.interest-email-history-heading .eyebrow { margin-bottom: 4px; }
.interest-email-history-heading h3 { margin: 0; font-family: Georgia,serif; font-size: 1.35rem; }
.interest-email-history-list { display: grid; gap: 12px; }
.interest-email-history-item { padding: 15px 16px; border: 1px solid var(--line); border-left: 4px solid var(--maroon); border-radius: 8px; background: #fffdf9; }
.interest-email-history-item.inbound { border-left-color: var(--gold); background: var(--cream); }
.interest-email-history-item > .small { margin: 5px 0 11px; }
.interest-email-history-body { color: #44383a; line-height: 1.58; overflow-wrap: anywhere; }
.interest-email-history + .actions { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }

@media (max-width:600px) {
  .interest-email-history-heading { display: block; }
  .interest-email-history-heading > .small { display: block; margin-top: 5px; }
  .interest-email-history-item { padding: 13px; }
}
