:root{
  --bg:#0f1115;--bg1:#171a21;--bg2:#1f232c;--ink:#e7e9ee;--soft:#bcc1cc;--mute:#7a8090;--line:#2a2e38;--gold:#d4a73b;--danger:#e05252;
  --font-display:'Bebas Neue',sans-serif;--font-cond:'Oswald',sans-serif;--font-body:'Inter',sans-serif;--font-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#1b2130 0,#0f1115 34rem);color:var(--ink);font-family:var(--font-body)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(15,17,21,.88);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;gap:8px;align-items:baseline}.brand-primary{font-family:var(--font-display);font-size:34px;color:var(--gold);letter-spacing:.5px}.brand-secondary,.nav a,.section-title,.page-eyebrow,.counter-label{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em}.brand-secondary{color:var(--soft);font-size:18px}.nav{display:flex;gap:18px}.nav a{font-size:14px;color:var(--soft)}.nav a:hover{color:var(--gold)}.shell{width:min(100% - 32px,1760px);max-width:none;margin:0 auto;padding:24px 0 36px}.card{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 40px rgba(0,0,0,.22)}.hero-card{padding:42px}.page-eyebrow{color:var(--gold);font-size:13px;margin-bottom:10px}.page-eyebrow:before{content:'— ';}.home-title,h1{font-family:var(--font-display);font-size:62px;line-height:.92;margin:0;color:#f1ece1;letter-spacing:.5px}.home-lead{max-width:720px;color:var(--soft);font-size:18px;line-height:1.55}.home-section{margin-top:28px}.home-section-head,.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.home-section-head h2{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.06em}.home-section-head a,.back-link,.clear-link{color:var(--gold);font-weight:700}.recent-grid,.action-grid,.play-grid{display:grid;gap:18px}.recent-grid{grid-template-columns:repeat(3,1fr)}.recent-card,.action-tile{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--bg1)}.recent-card:hover,.action-tile:hover,.play-card:hover{border-color:rgba(212,167,59,.65);transform:translateY(-1px)}.recent-meta,.play-meta,.muted,.action-tile-sub{color:var(--mute);font-size:13px}.recent-name{font-weight:800;font-size:20px;margin:10px 0}.recent-count{font-family:var(--font-mono);color:var(--gold)}.action-grid{grid-template-columns:repeat(3,1fr);margin-top:18px}.action-tile{display:flex;flex-direction:column;min-height:150px}.action-tile-num,.counter-num{font-family:var(--font-display);color:var(--gold);font-size:58px;line-height:.9}.action-tile-num.small{font-family:var(--font-cond);font-size:22px}.action-tile-label{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;margin-top:10px}.page-head h1{font-size:56px}.counter-big{text-align:right}.catalog-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px}.filter-panel{padding:18px;align-self:start;position:sticky;top:86px;max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.search-label{display:block;color:var(--mute);font-size:12px;font-weight:800;text-transform:uppercase;margin:12px 0 6px}.input,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#11141b;color:var(--ink);padding:10px 12px;font:inherit}.filter-group{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.filter-head{display:flex;justify-content:space-between;color:var(--soft);font-size:13px;margin-bottom:8px}.filter-head-meta,.filter-check-count{font-family:var(--font-mono);color:var(--gold)}.filter-check{display:flex;align-items:center;gap:8px;padding:7px;border-radius:10px;color:var(--soft);font-size:13px}.filter-check:hover{background:var(--bg2)}.filter-check.is-zero{opacity:.45}.filter-check-count{margin-left:auto}.play-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.play-card{overflow:hidden;transition:.15s ease}.diagram-thumb{height:170px;background:#0b0d12;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.diagram-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.no-diagram{display:flex;align-items:center;justify-content:center;color:var(--mute);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;border:1px dashed var(--line);border-radius:16px;width:calc(100% - 30px);height:calc(100% - 30px)}.no-diagram.large{height:470px;width:100%}.card-body{padding:16px}.card-topline{display:flex;gap:8px;align-items:center;color:var(--mute);font-size:12px;text-transform:uppercase;font-weight:800}.chip-personnel,.filter-chip{font-family:var(--font-mono);border-radius:999px;padding:3px 7px;font-size:11px;color:#fff;background:#6b7280}.pers-blue{background:#3b6fd1}.pers-gold{background:#d4a73b;color:#151515}.pers-white{background:#e7e9ee;color:#151515}.pers-black{background:#6b7280}.play-title{display:block;font-weight:900;font-size:18px;margin:10px 0;line-height:1.25}.card-actions{display:flex;gap:8px;align-items:center;margin-top:14px}.inline-add{display:flex;gap:6px;min-width:0;flex:1}.inline-add select{min-width:0;padding:7px 8px;font-size:12px}.button{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--bg2);color:var(--ink);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.small{padding:7px 9px;font-size:11px}.button.gold{background:var(--gold);color:#151515;border-color:transparent}.button.ghost{background:transparent}.button.danger{background:rgba(224,82,82,.13);border-color:rgba(224,82,82,.4);color:#ffaaaa}.button.full{width:100%}.flash-stack{display:grid;gap:8px;margin-bottom:18px}.flash{border-radius:12px;padding:12px 14px;background:var(--bg1);border:1px solid var(--line)}.flash.success{border-color:rgba(212,167,59,.5)}.flash.error{border-color:rgba(224,82,82,.5)}.empty{border:1px dashed var(--line);border-radius:16px;padding:22px;color:var(--mute);text-align:center}.detail-layout,.script-layout,.two-col{display:grid;grid-template-columns:1fr 360px;gap:22px}.detail-main{padding:24px}.detail-main h1{font-size:44px;margin-bottom:8px}.detail-subtitle{margin:0 0 16px}.detail-diagram{background:#fff;border-radius:18px;overflow:auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:0}.detail-diagram img{display:block;width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:0 auto}.diagram-detail-tools{display:flex;justify-content:flex-end;gap:10px;margin:10px 0 0}.diagram-detail-tools a{color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.detail-side,.form-card,.narrow,.picker{padding:20px}.narrow{max-width:460px;margin:0 auto}.section-title{color:var(--soft);font-size:14px;margin-bottom:14px}.section-title.spaced{margin-top:26px}.stack-form{display:grid;gap:12px}.stack-form label{display:grid;gap:6px;color:var(--soft);font-size:13px;font-weight:700}.detail-list{display:grid;grid-template-columns:115px 1fr;gap:10px;font-size:14px}.detail-list dt{color:var(--mute);font-weight:800}.script-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}.script-links li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px}.script-links a{color:var(--gold)}.script-actions{display:flex;gap:10px;align-items:center}.entries{list-style:none;margin:0;padding:0;display:grid;gap:10px}.entry-row{display:grid;grid-template-columns:28px 34px 1fr 80px 36px;gap:10px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:14px;padding:9px}.drag{cursor:grab;color:var(--mute)}.entry-num{font-family:var(--font-mono);color:var(--gold);font-weight:800}.entry-main strong{display:block}.entry-main small{color:var(--mute)}.entry-thumb{width:78px;height:45px;object-fit:contain;background:white;border-radius:7px}.icon-button{border:0;background:rgba(224,82,82,.16);color:#ffb4b4;border-radius:10px;width:30px;height:30px;font-size:20px}.picker-list{display:grid;gap:8px;max-height:680px;overflow:auto;margin-top:12px;padding-right:4px}.picker-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px;background:rgba(255,255,255,.02)}.picker-text{display:grid;gap:2px;min-width:0}.picker-title{font-size:13px;font-weight:800}.picker-subtitle{font-size:11px;color:var(--mute);line-height:1.2}.script-list{display:grid;gap:10px}.script-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.02)}.script-row span{display:block;color:var(--mute);font-size:13px;margin-top:4px}.script-row b{font-family:var(--font-mono);color:var(--gold)}.carousel-controls{position:absolute}.motion-tag{color:var(--gold)}@media(max-width:900px){.catalog-layout,.detail-layout,.script-layout,.two-col{grid-template-columns:1fr}.filter-panel{position:static;max-height:none;overflow:visible}.recent-grid,.action-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.shell{width:min(100% - 20px,100%);padding:16px 0 24px}.home-title,h1{font-size:44px}.nav{gap:10px}.brand-secondary{display:none}}

/* v1.5.2 hosted-upload + mobile Bank fixes */
.flash.warning{border-color:rgba(212,167,59,.55);background:rgba(212,167,59,.08)}
.mobile-filter-bar{display:none}.filter-body{display:block}.mobile-clear-link{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.mobile-filter-toggle{border:1px solid rgba(212,167,59,.55);border-radius:999px;background:rgba(212,167,59,.14);color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:9px 12px}.upload-status{display:flex;align-items:center;gap:10px;border:1px solid rgba(212,167,59,.45);background:rgba(212,167,59,.08);border-radius:14px;padding:12px 14px;color:var(--soft);font-weight:800}.spinner{width:18px;height:18px;border-radius:50%;border:3px solid rgba(212,167,59,.25);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.page-head{align-items:center}.counter-big{min-width:80px}.catalog-layout{display:block}.filter-panel{position:sticky;top:74px;z-index:9;max-height:none;overflow:visible;padding:10px;margin-bottom:12px;border-radius:18px;background:rgba(23,26,33,.96);backdrop-filter:blur(12px)}.mobile-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.filter-body{display:none;margin-top:10px;max-height:62vh;overflow-y:auto;padding-right:4px;overscroll-behavior:contain}.filter-panel.is-open .filter-body{display:block}.filter-panel .search-label{margin:8px 0 5px}.filter-group{margin-top:11px;padding-top:10px}.filter-check{padding:9px 7px}.play-grid{grid-template-columns:1fr;gap:14px}.diagram-thumb{height:230px}.card-body{padding:14px}.card-actions{flex-wrap:wrap}.inline-add{flex-basis:100%}.inline-add select{font-size:13px}.play-title{font-size:20px}.detail-diagram{min-height:0}.no-diagram.large{height:260px}}

/* v1.7 coaching metadata, reps, analytics, and editable notes */
.inner-card{margin-top:18px;padding:18px;background:rgba(15,17,21,.38)}
.small-copy{font-size:12px;line-height:1.45;margin-top:-6px;margin-bottom:14px}.usage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.usage-stat{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);padding:12px}.usage-stat span{display:block;color:var(--mute);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.usage-stat strong{display:block;font-family:var(--font-display);font-size:34px;line-height:.95;color:var(--gold);margin-top:6px}.usage-stat small{color:var(--soft);font-size:11px}.phase-usage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.phase-usage-grid div{border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(255,255,255,.015)}.phase-usage-grid b{display:block;font-size:12px;color:var(--soft)}.phase-usage-grid span{display:block;color:var(--gold);font-family:var(--font-mono);font-size:12px;margin-top:4px}.notes-box{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);padding:12px;color:var(--soft);font-size:13px;line-height:1.45;white-space:pre-wrap}.coach-notes-form{display:grid;gap:10px}.notes-textarea{min-height:145px;resize:vertical;line-height:1.45}.usage-links{gap:10px}.usage-links li{display:grid;gap:3px}.usage-links li span{font-size:11px;color:var(--mute)}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.script-info-card{padding:18px;margin-bottom:18px}.script-edit-form{display:grid;grid-template-columns:1.2fr .7fr .9fr 1fr .9fr .9fr 1fr auto;gap:10px;align-items:end}.script-edit-form label{display:grid;gap:5px;color:var(--soft);font-size:12px;font-weight:800}.picker-row{grid-template-columns:auto 1fr 64px auto}.reps-mini{padding:7px 8px;font-size:12px;text-align:center}.entry-row{grid-template-columns:28px 34px minmax(0,1fr) 132px 80px 36px}.reps-form{display:flex;gap:6px;align-items:end}.reps-form label{display:grid;gap:3px;color:var(--mute);font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.reps-input{width:62px;padding:6px 7px;text-align:center;font-size:12px}.script-row b{white-space:nowrap;margin-left:12px}
@media(max-width:1200px){.script-edit-form{grid-template-columns:repeat(3,1fr)}.script-edit-form .button{grid-column:auto}.usage-grid,.phase-usage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.usage-grid,.phase-usage-grid{grid-template-columns:1fr 1fr}.form-grid.two{grid-template-columns:1fr}.script-edit-form{grid-template-columns:1fr}.entry-row{grid-template-columns:26px 28px 1fr 34px;align-items:start}.entry-main{grid-column:3 / 4}.reps-form{grid-column:1 / 4;grid-row:auto;margin-left:64px}.entry-thumb{grid-column:3 / 4}.entry-row>form:last-child{grid-column:4 / 5;grid-row:1}.picker-row{grid-template-columns:auto 1fr 58px auto}.script-row{align-items:flex-start;gap:8px}.script-row b{margin-left:0}}

/* v1.8beta favorites, quick add, and script filtering */
.favorite-only-check,.favorite-only-mini{display:flex;align-items:center;gap:8px;color:var(--soft);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin:10px 0}.favorite-toggle-form{margin-left:auto}.favorite-star{border:0;background:transparent;color:var(--mute);font-size:18px;cursor:pointer;line-height:1;padding:2px 4px}.favorite-star.is-on,.favorite-star:hover{color:var(--gold)}.play-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.favorite-pill{border:1px solid rgba(212,167,59,.5);background:rgba(212,167,59,.09);color:var(--gold);border-radius:999px;padding:9px 13px;font-weight:900;white-space:nowrap}.favorite-pill.is-on{background:rgba(212,167,59,.2)}.favorite-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.favorite-list li{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);padding:10px}.favorite-list strong{display:block;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.favorite-list span{display:block;color:var(--soft);font-weight:800;margin-top:2px}.favorite-list small{display:block;color:var(--mute);margin-top:3px;line-height:1.35}.favorite-add-form{display:grid;gap:8px}.script-filter-form{display:grid;grid-template-columns:1.4fr repeat(4,1fr) auto auto;gap:8px;align-items:center;margin-bottom:14px}.quick-add-panel{align-self:start}.quick-add-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.quick-add-filters input:first-child{grid-column:1 / -1}.quick-add-list{display:grid;gap:10px;max-height:780px;overflow:auto;padding-right:4px}.quick-add-row{display:grid;grid-template-columns:92px minmax(0,1fr) 58px 44px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);padding:9px}.quick-add-row:hover{border-color:rgba(212,167,59,.45);background:rgba(212,167,59,.045)}.quick-add-thumb{height:58px;background:white;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.quick-add-thumb img{width:100%;height:100%;object-fit:contain}.quick-add-thumb span{color:#222;font-size:10px;font-weight:800}.quick-add-main{min-width:0;display:grid;gap:3px}.quick-add-main strong{font-size:13px;line-height:1.12}.quick-add-main small{color:var(--mute);font-size:11px;line-height:1.2}.quick-plus{width:38px;height:38px;border-radius:12px;font-size:22px;line-height:1;padding:0}.tiny-star{color:var(--gold);font-size:12px;margin-left:6px}.card-topline{align-items:center}.card-topline .favorite-toggle-form{display:inline-flex}
@media(max-width:1300px){.script-filter-form{grid-template-columns:1fr 1fr}.script-filter-form .button{width:100%}.quick-add-row{grid-template-columns:76px minmax(0,1fr) 54px 40px}.quick-add-thumb{height:52px}}
@media(max-width:900px){.play-detail-title-row{display:block}.favorite-pill{margin-top:10px}.script-filter-form,.quick-add-filters{grid-template-columns:1fr}.quick-add-list{max-height:620px}.quick-add-row{grid-template-columns:72px minmax(0,1fr) 52px 38px}.quick-add-thumb{height:48px}.favorite-add-form{grid-template-columns:1fr}}

/* V1.8.1beta refinements */
.play-card{cursor:pointer;position:relative}.play-card .button,.play-card button,.play-card select,.play-card input,.play-card a{position:relative;z-index:2}.play-card:focus{outline:2px solid rgba(212,167,59,.75);outline-offset:3px}.bank-script-mode{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:-4px 0 18px;border-color:rgba(212,167,59,.45);background:linear-gradient(135deg,rgba(212,167,59,.13),rgba(255,255,255,.025))}.bank-script-mode strong{display:block;font-size:20px;margin-bottom:3px}.bank-script-mode span{color:var(--mute);font-size:13px}.bank-quick-add-form{display:flex;align-items:center;gap:8px;width:100%}.bank-reps-mini{display:flex;align-items:center;gap:6px;color:var(--mute);font-size:11px;font-weight:900;text-transform:uppercase}.bank-reps-mini .reps-mini{width:58px;padding:7px 8px}.quick-bank-link{margin-bottom:10px}.scripts-card{padding:20px}.script-filter-panel{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02);padding:14px;margin-bottom:16px}.script-filter-topline{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin-bottom:12px}.script-filter-block{border-top:1px solid rgba(255,255,255,.07);padding-top:10px;margin-top:10px}.script-filter-label{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:12px;margin-bottom:8px}.filter-chip-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid var(--line);border-radius:999px;background:#11141b;color:var(--soft);padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer;transition:.12s ease}.filter-chip input{position:absolute;opacity:0;pointer-events:none}.filter-chip:hover{border-color:rgba(212,167,59,.45);color:#f1ece1}.filter-chip.is-active,.filter-chip:has(input:checked){background:rgba(212,167,59,.18);border-color:rgba(212,167,59,.7);color:var(--gold)}
@media(max-width:900px){.bank-script-mode{align-items:flex-start;flex-direction:column}.bank-script-mode .button{width:100%}.script-filter-topline{grid-template-columns:1fr}.script-filter-topline .button{width:100%}.filter-chip-row{gap:6px}.filter-chip{font-size:11px;padding:7px 9px}.bank-quick-add-form{align-items:stretch;flex-direction:column}.bank-reps-mini{justify-content:space-between}.bank-reps-mini .reps-mini{width:90px}}

/* V1.8.2beta refinements */
.filter-subhead{margin:10px 0 5px;color:var(--mute);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.favorite-context-group{border-color:rgba(212,167,59,.35)}.favorite-context-group .filter-head span:first-child{color:var(--gold)}.script-filter-panel[data-auto-submit-filter] .filter-chip{user-select:none}.script-filter-panel[data-auto-submit-filter] .filter-chip:active{transform:translateY(1px)}

.danger-zone{border:1px solid rgba(224,82,82,.35);background:rgba(224,82,82,.055);border-radius:16px;padding:14px;margin-top:24px}.danger-title{color:#ffaaaa}.danger-zone .small-copy{font-size:12px;line-height:1.35}

/* v1.8.1beta archive / hide mode */
.play-card.is-archived {
  opacity: 0.72;
  border-color: rgba(255, 188, 73, 0.45);
  background: linear-gradient(180deg, rgba(255, 188, 73, 0.08), rgba(11, 15, 22, 0.92));
}
.archive-card-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 188, 73, 0.45);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 0.72rem;
  color: #ffcf73;
  background: rgba(255, 188, 73, 0.08);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.archive-banner {
  border: 1px solid rgba(255, 188, 73, 0.45);
  background: rgba(255, 188, 73, 0.09);
  border-radius: 16px;
  padding: 12px 14px;
  margin: 10px 0 14px;
  display: grid;
  gap: 4px;
}
.archive-banner strong { color: #ffcf73; }
.archive-banner span, .archive-banner small { color: var(--mute); }
.archive-zone {
  border-color: rgba(255, 188, 73, 0.42);
}
.archive-filter-group {
  margin-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 14px;
}
.tiny-copy {
  font-size: 0.75rem;
  line-height: 1.25;
  margin-top: 6px;
}

/* PDD v1.8.1.1: archive and hard-delete controls */
.delete-zone {
  border-color: rgba(224,82,82,.52);
  background: rgba(224,82,82,.075);
}
.delete-zone .input[name="confirm_delete"] {
  border-color: rgba(224,82,82,.42);
}

/* PPD v1.8.2: individual play add, controlled Play Types, tags, and master workbook mirror */
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.manage-type-form{display:grid;grid-template-columns:1fr 220px auto;gap:10px;align-items:end;margin:12px 0 16px}.type-list{display:grid;gap:10px}.type-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);padding:11px 12px}.type-row strong{display:block;color:var(--soft);font-size:14px}.type-row span{display:block;color:var(--mute);font-size:12px;margin-top:3px}.type-row form{display:flex;gap:8px;align-items:center}.type-row form .input{width:150px;padding:8px 10px}.type-row.is-inactive{opacity:.62;background:rgba(255,255,255,.01)}.card-tags,.detail-tags,.tag-pill-list{display:flex;flex-wrap:wrap;gap:6px}.card-tags{margin:10px 0 2px;min-height:0}.card-tags span,.detail-tags span,.tag-pill-list span{display:inline-flex;align-items:center;border:1px solid rgba(212,167,59,.32);border-radius:999px;background:rgba(212,167,59,.12);color:var(--gold);padding:4px 8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.detail-tags{gap:8px;margin:-2px 0 14px}.detail-tags span,.tag-pill-list span{font-size:11px}.tag-pill-list{gap:8px;margin-bottom:12px}
@media(max-width:900px){.upload-grid{grid-template-columns:1fr}.manage-type-form{grid-template-columns:1fr}.type-row{grid-template-columns:1fr}.type-row form{display:grid;grid-template-columns:1fr auto}.type-row form .input{width:100%}.card-tags span{font-size:9px;padding:3px 6px}}

/* PPD v1.8.2.2: locked Personnel/Ball Carrier dropdowns and hidden field management page */
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.top-actions form{margin:0}.field-options-intro{padding:18px;margin-bottom:18px}.field-option-grid{display:grid;grid-template-columns:1fr;gap:18px}.field-option-card{padding:20px}.field-option-card .section-title{margin-bottom:8px}
@media(max-width:900px){.page-head{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:flex-start}.top-actions .button,.top-actions form,.top-actions form .button{width:100%}.field-option-card{padding:16px}}

/* v1.8.2.3 clear-bank danger zone */
.upload-danger-zone{margin-top:18px;padding:20px}.clear-bank-form{max-width:520px}.upload-danger-zone .danger-title{color:#ffaaaa}.upload-danger-zone .button.danger{width:100%;max-width:240px}

.related-play-list { display: grid; gap: .5rem; }
.related-play-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: .7rem .8rem;
  background: rgba(255,255,255,.035);
  display: grid;
  gap: .25rem;
}
.related-play-card a { color: var(--ink); font-weight: 800; text-decoration: none; }
.related-play-card span { color: var(--mute); font-size: .85rem; }

/* PPD v1.8.2.5: paired individual add and play-page tag editing */
.individual-version-box,.mirror-mode-box,.mirror-existing-box,.mirror-new-box,.tag-edit-box{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);padding:12px;display:grid;gap:10px}.mini-section-title{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:12px;font-weight:900}.radio-line{display:flex!important;align-items:center;gap:8px;color:var(--soft);font-size:13px;font-weight:800}.radio-line input{accent-color:var(--gold)}.tag-edit-box textarea{min-height:76px;resize:vertical}

/* PPD v1.8.2.6: inline tag editor on play detail page */
.inline-tag-form{display:grid;gap:8px}.inline-tag-editor{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);padding:10px;min-height:48px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;cursor:text}.inline-tag-editor:focus-within{border-color:rgba(212,167,59,.68);box-shadow:0 0 0 3px rgba(212,167,59,.10)}.editable-tag{display:inline-flex;align-items:center;border:1px solid rgba(212,167,59,.36);border-radius:999px;background:rgba(212,167,59,.13);color:var(--gold);padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;outline:0;min-width:16px;max-width:100%;line-height:1.2}.editable-tag:focus{border-color:rgba(212,167,59,.9);background:rgba(212,167,59,.22);box-shadow:0 0 0 2px rgba(212,167,59,.12)}.tag-entry-input{flex:1;min-width:135px;border:0;background:transparent;color:var(--soft);font:inherit;font-size:13px;outline:0;padding:6px 3px}.tag-entry-input::placeholder{color:var(--mute)}.tag-editor-help{font-size:11px;line-height:1.35;color:var(--mute)}.tag-save-status{min-height:16px;font-size:11px;font-weight:800;color:var(--mute)}.tag-save-status.is-saving{color:var(--gold)}.tag-save-status.is-saved{color:#8bd18b}.tag-save-status.is-error{color:#ffaaaa}

/* PPD v1.8.2.7: normalized search, hidden mirror-group display, split mirror analytics, grouped formation filters */
.formation-filter-group{border-color:rgba(212,167,59,.22)}.formation-bucket{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.018);margin:8px 0;overflow:hidden}.formation-bucket summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;padding:9px 10px;color:var(--soft);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.formation-bucket summary::-webkit-details-marker{display:none}.formation-bucket summary:before{content:'›';color:var(--gold);font-size:16px;line-height:1;transition:.12s ease}.formation-bucket[open] summary:before{transform:rotate(90deg)}.formation-bucket-items{border-top:1px solid rgba(255,255,255,.065);padding:4px 2px 6px 8px;background:rgba(0,0,0,.09)}.formation-bucket .filter-check{padding-left:9px}.directional-usage-card{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.directional-usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.directional-usage-grid>div{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);padding:10px}.directional-usage-grid span,.directional-usage-grid small{display:block;color:var(--mute);font-size:11px}.directional-usage-grid strong{display:block;color:var(--gold);font-family:var(--font-display);font-size:28px;line-height:.95;margin:4px 0}
@media(max-width:900px){.directional-usage-grid{grid-template-columns:1fr}.formation-bucket summary{font-size:12px}}

/* v1.8.2.8 script analytics, relationships, cleanup audit */
.script-analytics-card{padding:20px;margin:0 0 22px}.script-analytics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.analytics-total{text-align:right}.analytics-total span{display:block;color:var(--mute);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.analytics-total strong{font-family:var(--font-display);font-size:42px;line-height:1;color:var(--gold)}.script-analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.analytics-box{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);padding:13px}.analytics-box>span,.mini-section-title{display:block;color:var(--soft);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-bottom:8px}.analytics-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.06);padding:7px 0;font-size:13px}.analytics-row:first-of-type{border-top:0}.analytics-row b{font-weight:800}.analytics-row em{font-style:normal;color:var(--gold);font-family:var(--font-mono)}.analytics-warning-box{margin-top:14px;border:1px solid rgba(212,167,59,.4);border-radius:16px;background:rgba(212,167,59,.07);padding:13px}.analytics-warning-box ul{margin:0;padding-left:18px;color:var(--soft);font-size:13px;line-height:1.45}.mirror-script-table-wrap{margin-top:14px}.compact-table{width:100%;border-collapse:collapse;font-size:13px}.compact-table th,.compact-table td{border-bottom:1px solid var(--line);padding:9px;vertical-align:top}.compact-table th{text-align:left;color:var(--soft);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;font-size:12px}.compact-table a{color:var(--gold);font-weight:800}.compact-table tr.needs-attention td{background:rgba(212,167,59,.045)}.analytics-tag-row{margin-top:14px}.analytics-tags{margin-top:8px}.relationship-groups{display:grid;gap:10px}.relationship-group{border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.02)}.relationship-group-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.relationship-group-head strong{color:var(--gold);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.06em}.relationship-group-head span{color:var(--soft);font-size:12px}.relationship-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.relationship-card small{display:block;color:var(--mute);font-size:11px;margin-top:3px}.relationship-add-details{margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.02)}.relationship-add-details summary{cursor:pointer;color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.relationship-add-form{margin-top:12px}.cleanup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cleanup-card,.cleanup-wide-card{padding:18px}.cleanup-wide-card{margin-top:16px}.cleanup-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.cleanup-card-head strong{font-family:var(--font-display);font-size:36px;color:var(--gold);line-height:1}.cleanup-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.cleanup-list li{display:grid;gap:2px;border-bottom:1px solid var(--line);padding-bottom:8px}.cleanup-list li a{color:var(--gold);font-weight:800}.cleanup-list li span{color:var(--mute);font-size:12px}.cleanup-list.compact{margin-top:8px}.duplicate-groups{display:grid;gap:12px}.duplicate-group{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.02)}.option-audit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.option-audit-grid>div{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:6px;background:rgba(255,255,255,.02)}.option-audit-grid strong{color:var(--gold);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.06em}.option-audit-grid span{font-size:13px;color:var(--soft)}.option-audit-grid em{font-style:normal;color:var(--mute);font-size:13px}.small-empty{padding:12px;font-size:13px}@media(max-width:1100px){.script-analytics-grid{grid-template-columns:repeat(2,1fr)}.cleanup-grid{grid-template-columns:1fr}.option-audit-grid{grid-template-columns:1fr}}@media(max-width:700px){.script-analytics-head{display:block}.analytics-total{text-align:left;margin-top:8px}.script-analytics-grid{grid-template-columns:1fr}.compact-table{font-size:12px}}

/* v1.8.3 site login, dashboard polish, diagram management */
.nav{align-items:center}.nav-logout{margin:0}.nav-logout button{border:1px solid var(--line);background:transparent;color:var(--soft);border-radius:10px;padding:7px 10px;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.nav-logout button:hover{color:var(--gold);border-color:rgba(212,167,59,.45)}.site-footer{width:min(100% - 32px,1760px);margin:0 auto 22px;border-top:1px solid var(--line);padding:16px 0 0;display:flex;justify-content:space-between;gap:18px;color:var(--mute);font-size:12px;font-family:var(--font-mono)}.login-shell{min-height:calc(100vh - 170px);display:flex;align-items:center;justify-content:center}.login-card{padding:28px}.dashboard-hero{padding:34px 38px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;background:linear-gradient(135deg,rgba(212,167,59,.12),rgba(255,255,255,.025)),radial-gradient(circle at right top,rgba(212,167,59,.12),transparent 28rem)}.dashboard-version-badge{border:1px solid rgba(212,167,59,.35);background:rgba(0,0,0,.18);border-radius:18px;padding:16px;text-align:right;min-width:210px}.dashboard-version-badge span{display:block;color:var(--mute);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.dashboard-version-badge strong{color:var(--gold);font-family:var(--font-mono);font-size:18px}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.dashboard-stat-card{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025);padding:18px;display:grid;gap:6px;min-height:130px}.dashboard-stat-card:hover{border-color:rgba(212,167,59,.65);transform:translateY(-1px)}.dashboard-stat-card span{color:var(--soft);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.dashboard-stat-card strong{font-family:var(--font-display);font-size:52px;line-height:.95;color:var(--gold)}.dashboard-stat-card small{color:var(--mute)}.warning-card strong{color:#f1c766}.dashboard-grid-main{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-panel{padding:20px}.home-section-head.compact{align-items:center;margin-bottom:12px}.dashboard-action-list,.dashboard-recent-list{display:grid;gap:10px}.dashboard-action-list a{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);padding:14px;display:grid;gap:3px}.dashboard-action-list a:hover{border-color:rgba(212,167,59,.55)}.dashboard-action-list strong{color:#f1ece1}.dashboard-action-list span{color:var(--mute);font-size:13px}.recent-card.compact{padding:14px}.focused-cleanup-grid{grid-template-columns:repeat(2,1fr)}.unmatched-help-card{padding:16px;margin-bottom:16px}.unmatched-list{display:grid;gap:12px}.unmatched-row{padding:16px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.8fr) auto;gap:14px;align-items:end}.unmatched-file{display:grid;gap:5px}.unmatched-file strong{color:#f1ece1}.unmatched-file span{color:var(--mute);font-size:12px}.unmatched-match-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.unmatched-match-form label{display:grid;gap:6px;color:var(--soft);font-size:13px;font-weight:800}.add-diagram-card{margin:14px 0 0;padding:14px}.add-diagram-card summary{cursor:pointer;color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.add-diagram-card form{margin-top:12px}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:1100px){.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid-main{grid-template-columns:1fr}.unmatched-row{grid-template-columns:1fr}.unmatched-match-form{grid-template-columns:1fr}.focused-cleanup-grid{grid-template-columns:1fr}}@media(max-width:700px){.dashboard-hero{display:block;padding:26px}.dashboard-version-badge{text-align:left;margin-top:16px}.dashboard-stat-grid{grid-template-columns:1fr}.site-footer{display:grid}.home-title{font-size:42px}}

/* PPD v1.8.3.1: play page cleanup, external carousel controls, visible defense labels, and tighter tools */
[x-cloak]{display:none!important}.clear-toggles-button{margin-top:10px;margin-bottom:4px}.filter-body>.clear-toggles-button{border-color:rgba(212,167,59,.35);color:var(--gold)}
.play-detail-clean .detail-main{padding:24px}.play-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.diagram-carousel-card{margin-top:16px}.diagram-carousel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:10px}.diagram-defense-label{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:20px;line-height:1.05}.diagram-count-pill,.primary-diagram-badge{border:1px solid rgba(212,167,59,.35);border-radius:999px;color:var(--gold);padding:6px 10px;font-family:var(--font-mono);font-size:12px;background:rgba(212,167,59,.08)}.diagram-carousel-card .detail-diagram{position:relative;background:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(0,0,0,.24)}.carousel-controls.carousel-controls-outside{position:static;display:flex;justify-content:center;align-items:center;gap:14px;margin:12px auto 0;color:var(--soft);font-size:13px}.diagram-filmstrip{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:10px}.diagram-tab{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--soft);border-radius:999px;padding:7px 10px;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.diagram-tab.is-active{background:rgba(212,167,59,.18);border-color:rgba(212,167,59,.55);color:var(--gold)}.diagram-actions-row{justify-content:center;align-items:center;flex-wrap:wrap}.diagram-action-set{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.diagram-action-set form{margin:0}.coach-notes-display{margin-top:16px;padding:18px;border-color:rgba(212,167,59,.28);background:rgba(212,167,59,.055)}.coach-notes-body{white-space:normal;color:#f1ece1;line-height:1.55;font-size:15px}.related-main-card{margin-top:16px;padding:18px}.relationship-clean-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.relationship-clean-group{display:grid;gap:8px;border:1px solid rgba(255,255,255,.075);border-radius:16px;padding:12px;background:rgba(255,255,255,.02)}.relationship-clean-group .relationship-group-head{border-bottom:1px solid rgba(255,255,255,.065);padding-bottom:8px}.relationship-clean-group .related-play-card{display:grid}.relationship-clean-group .related-play-card b{font-size:13px;color:#f1ece1}.relationship-clean-group .related-play-card small{color:var(--mute);font-size:12px}.play-tools-panel{position:sticky;top:86px;align-self:start;max-height:calc(100vh - 104px);overflow:auto}.side-details{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.side-details summary{cursor:pointer;list-style:none;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-size:14px;display:flex;align-items:center;justify-content:space-between}.side-details summary::-webkit-details-marker{display:none}.side-details summary:after{content:'+';color:var(--gold);font-family:var(--font-mono)}.side-details[open] summary:after{content:'–'}.side-details>*:not(summary){margin-top:12px}.compact-detail-list{grid-template-columns:95px 1fr;font-size:13px}.tool-details:not([open]){padding-bottom:0}.nested-add-details{margin-top:12px;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:10px;background:rgba(0,0,0,.12)}.nested-add-details summary{cursor:pointer;color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.favorite-add-form{display:grid;gap:9px;margin-top:10px}.danger-management-details{border-color:rgba(224,82,82,.28)}.danger-management-details summary{color:#ffaaaa}.management-actions{display:grid;gap:12px}.management-actions form{display:grid;gap:8px}.compact-input{padding:8px 10px;font-size:12px}.no-diagram-wrap{background:transparent}.play-tools-panel .script-links li{display:grid;gap:3px}.play-tools-panel .script-links span{font-size:11px;color:var(--mute)}
@media(max-width:900px){.play-tools-panel{position:static;max-height:none}.play-detail-title-row,.diagram-carousel-head{display:block}.diagram-count-pill{display:inline-flex;margin-top:8px}.relationship-clean-grid{grid-template-columns:1fr}}
.related-play-card-with-action{display:grid!important;grid-template-columns:1fr auto;gap:8px;align-items:start}.related-play-card-with-action a{display:grid;gap:3px}.related-play-card-with-action form{margin:0}.related-play-card-with-action .icon-button{width:24px;height:24px;font-size:16px;border-radius:8px}

/* PPD v1.8.3.1 refresh: mobile nav, compact script analytics, audit consolidation, mobile search order */
.mobile-nav-toggle{display:none;border:1px solid rgba(212,167,59,.55);border-radius:999px;background:rgba(212,167,59,.14);color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:9px 13px;cursor:pointer}.mobile-filter-bar{display:grid;gap:10px;margin-bottom:10px}.mobile-filter-toggle{display:none}.mobile-bank-search{width:100%}.dashboard-stat-grid-clean{grid-template-columns:repeat(3,1fr)}.audit-manual-card{padding:18px;margin-bottom:16px}.analytics-more-details{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018);padding:12px}.analytics-more-details summary{cursor:pointer;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px;list-style:none}.analytics-more-details summary::-webkit-details-marker{display:none}.analytics-more-details summary:after{content:' +';font-family:var(--font-mono)}.analytics-more-details[open] summary:after{content:' –'}.analytics-more-details>*:not(summary){margin-top:14px}.critical-analytics-grid{grid-template-columns:repeat(4,1fr)}.deep-analytics-grid{margin-top:12px}.analytics-box .small-copy{margin:7px 0 0}
@media(max-width:1100px){.dashboard-stat-grid-clean{grid-template-columns:1fr 1fr}.critical-analytics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar{position:sticky}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center}.topbar .nav{display:none;position:absolute;left:10px;right:10px;top:64px;background:rgba(15,17,21,.98);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:30}.topbar .nav.is-open{display:grid;gap:8px}.topbar .nav a,.topbar .nav-logout button{width:100%;display:flex;justify-content:flex-start;padding:12px;border-radius:12px;background:rgba(255,255,255,.025)}.topbar .nav-logout{width:100%}.mobile-filter-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.mobile-filter-toggle{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.mobile-bank-search{min-width:0;padding:9px 10px}.filter-body>.clear-toggles-button{margin-top:4px}.brand-primary{font-size:30px}}
@media(max-width:700px){.dashboard-stat-grid-clean,.critical-analytics-grid{grid-template-columns:1fr}.script-analytics-card{padding:15px}.analytics-more-details{padding:10px}.mobile-clear-link{font-size:11px}.mobile-filter-toggle{padding:9px 10px;font-size:11px}.mobile-bank-search{font-size:13px}}

/* PPD v1.8.3.1 refresh 2: play-page tightening, swipe carousel, mobile cleanup */
.compact-play-analytics .critical-usage-grid{grid-template-columns:repeat(4,1fr)}
.play-analytics-more{margin-top:14px}.play-analytics-more .usage-grid{margin-top:12px}.play-analytics-more .phase-usage-grid{margin-top:12px}
.favorite-details .favorite-add-form{border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:10px;background:rgba(0,0,0,.12)}
.diagram-carousel-card .detail-diagram{touch-action:pan-y;user-select:none}
.diagram-defense-label:empty{display:none}.diagram-tab:empty{display:none}.primary-diagram-control{display:inline-flex}
@media(max-width:900px){
  .play-detail-clean .detail-main{padding:16px}.detail-layout.play-detail-clean{gap:14px}.play-detail-title-row h1{font-size:34px;line-height:.95}.detail-subtitle{font-size:13px}.diagram-carousel-card{margin-top:10px}.diagram-carousel-head{margin-bottom:6px}.diagram-defense-label{font-size:17px}.carousel-controls.carousel-controls-outside{margin-top:8px}.diagram-filmstrip{margin-top:7px}.coach-notes-display,.related-main-card,.usage-card{margin-top:12px;padding:14px}.play-tools-panel{padding:16px}.play-tools-panel .side-details{margin-top:10px;padding-top:10px}.primary-diagram-control{display:none!important}.diagram-action-set a{font-size:12px}.compact-play-analytics .critical-usage-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .play-detail-clean .detail-main{padding:12px}.back-link{font-size:12px}.play-detail-title-row{gap:8px}.play-detail-title-row h1{font-size:28px}.favorite-pill{padding:8px 10px;font-size:11px}.detail-tags{gap:5px}.detail-tags span{font-size:10px;padding:5px 8px}.detail-diagram img{border-radius:10px}.carousel-controls.carousel-controls-outside .button{padding:8px 10px;font-size:11px}.diagram-tab{padding:6px 8px;font-size:10px}.coach-notes-body{font-size:13px}.relationship-clean-grid{gap:8px}.relationship-clean-group{padding:10px}.compact-play-analytics .critical-usage-grid{grid-template-columns:1fr}.usage-stat strong{font-size:28px}.play-tools-panel{padding:12px}.side-details summary{font-size:13px}.input{font-size:14px}.detail-list.compact-detail-list{font-size:12px}
}

/* v1.8.3.2beta script analytics + Program Builder cleanup */
.balance-suggestions-box{border-color:rgba(212,167,59,.38);background:rgba(212,167,59,.08)}
.balance-suggestion-list{display:grid;gap:10px;margin-top:10px}.balance-suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:14px;padding:12px}.balance-suggestion-row strong{display:block;font-size:14px}.balance-suggestion-row small{display:block;color:var(--mute);margin-top:4px}.under-construction-card{max-width:860px}.mirror-script-table tr.needs-attention{background:rgba(212,167,59,.07)}
@media(max-width:900px){.balance-suggestion-row{display:grid}.balance-suggestion-row form .button{width:100%}.script-analytics-grid.critical-analytics-grid{grid-template-columns:1fr}.brand-primary{font-size:28px}}


/* PPD v1.8.4: diagram deletion and Bank export polish */
.diagram-action-set{gap:.55rem;flex-wrap:wrap;align-items:center;}
.diagram-delete-form{display:inline-flex;margin:0;}
.diagram-delete-form .button{padding:.35rem .65rem;font-size:.78rem;}
@media (max-width: 760px){
  .diagram-delete-form .button{font-size:.74rem;padding:.32rem .55rem;}
}


/* PPD v1.8.4.1: Bank Management polish, mobile header, protected action cleanup */
.bank-management-head{align-items:center}.bank-management-head .muted{max-width:760px;margin:8px 0 0}.bank-export-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;margin-bottom:20px;background:linear-gradient(135deg,rgba(212,167,59,.14),rgba(255,255,255,.025));border-color:rgba(212,167,59,.35)}.bank-export-hero h2{font-family:var(--font-display);font-size:44px;line-height:.95;margin:0;color:#f1ece1}.bank-export-form{display:flex;align-items:center}.button.large{font-size:14px;padding:14px 22px;border-radius:14px}.upload-grid .form-card{box-shadow:0 18px 44px rgba(0,0,0,.20)}
.mobile-nav-toggle span{display:block;width:18px;height:2px;background:var(--gold);border-radius:999px}.mobile-nav-toggle{gap:4px;flex-direction:column;width:44px;height:40px;padding:0;border-radius:13px}.brand{border-radius:14px;padding:8px 12px;background:linear-gradient(90deg,rgba(212,167,59,.18),rgba(255,255,255,.035));border:1px solid rgba(212,167,59,.18)}
@media(max-width:900px){.topbar{display:grid;grid-template-columns:auto 1fr;gap:10px;height:64px}.topbar .brand{justify-content:flex-start;align-items:center}.topbar .brand-primary{font-size:28px}.topbar .brand-secondary{display:inline;color:#f1ece1;font-size:16px}.bank-export-hero{display:grid;padding:18px}.bank-export-hero h2{font-size:36px}.bank-export-form .button{width:100%}.button.large{width:100%}}


/* v1.8.4.1 admin modal hotfix */
.admin-modal[hidden]{display:none!important}.admin-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}.admin-modal-card{position:relative;width:min(100%,420px);border:1px solid rgba(212,167,59,.36);border-radius:22px;background:linear-gradient(180deg,rgba(24,27,34,.98),rgba(14,16,20,.98));box-shadow:0 24px 80px rgba(0,0,0,.55);padding:22px;display:grid;gap:13px}.admin-modal-title{font-family:var(--font-display);font-size:30px;line-height:.95;color:#f1ece1}.admin-modal-message{margin:0;color:var(--soft);font-size:14px;line-height:1.45}.admin-modal-label{display:grid;gap:7px;color:var(--soft);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.admin-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.admin-modal-open{overflow:hidden}
@media(max-width:600px){.admin-modal-card{padding:18px;border-radius:18px}.admin-modal-title{font-size:26px}.admin-modal-actions{display:grid;grid-template-columns:1fr 1fr}.admin-modal-actions .button{width:100%}}

/* v1.8.5beta polish */
.brand{background:transparent;border:0;padding:0;border-radius:0;gap:8px;align-items:baseline}.brand-primary{font-family:var(--font-display);font-size:34px;color:var(--gold);letter-spacing:.5px}.brand-secondary{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-size:18px}.login-secondary-action{margin-top:16px;text-align:center}.login-secondary-action a{color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.user-admin-list{display:grid;gap:12px;margin-top:18px}.user-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);padding:14px}.user-admin-row strong{display:block;font-size:16px}.user-admin-row span,.user-admin-row small{display:block;color:var(--mute);font-size:12px;margin-top:3px}.user-admin-actions{display:flex;gap:8px;align-items:center}.diagram-click-nav{position:relative;cursor:pointer}.diagram-click-nav:before,.diagram-click-nav:after{content:'';position:absolute;top:0;bottom:0;width:50%;z-index:1;pointer-events:none;opacity:0;transition:.15s ease}.diagram-click-nav:before{left:0;background:linear-gradient(90deg,rgba(15,17,21,.10),transparent)}.diagram-click-nav:after{right:0;background:linear-gradient(270deg,rgba(15,17,21,.10),transparent)}.diagram-click-nav:hover:before,.diagram-click-nav:hover:after{opacity:1}.diagram-click-nav img{position:relative;z-index:0}.carousel-hint{margin:8px 0 0;text-align:center;color:var(--mute);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}@media(max-width:900px){.topbar{display:grid;grid-template-columns:auto 1fr;gap:10px;height:64px}.topbar .brand{justify-content:flex-start;align-items:center;border-radius:14px;padding:8px 12px;background:linear-gradient(90deg,rgba(212,167,59,.18),rgba(255,255,255,.035));border:1px solid rgba(212,167,59,.18)}.topbar .brand-primary{font-size:28px}.topbar .brand-secondary{display:inline;color:#f1ece1;font-size:16px}.carousel-hint{display:none}.user-admin-row{align-items:flex-start;flex-direction:column}.user-admin-actions{width:100%}.user-admin-actions form,.user-admin-actions .button{width:100%}}

/* PPD v1.8.5.1beta: user permissions, mobile title, diagram swipe, Bank zoom */
.nav-user{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;color:var(--gold);font-size:12px;align-self:center;white-space:nowrap}.protected-badge{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);border:1px solid rgba(212,167,59,.45);border-radius:999px;padding:7px 10px;background:rgba(212,167,59,.08)}.super-admin-row{border-color:rgba(212,167,59,.45);background:rgba(212,167,59,.055)}.thumb-size-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--mute);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.thumb-size-control input{width:100%;accent-color:var(--gold)}
html[data-thumb-zoom="0"] .play-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}html[data-thumb-zoom="0"] .diagram-thumb{height:130px}html[data-thumb-zoom="0"] .card-body{padding:12px}html[data-thumb-zoom="0"] .play-title{font-size:15px}
html[data-thumb-zoom="1"] .play-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}html[data-thumb-zoom="1"] .diagram-thumb{height:170px}
html[data-thumb-zoom="2"] .play-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}html[data-thumb-zoom="2"] .diagram-thumb{height:230px}html[data-thumb-zoom="2"] .play-title{font-size:20px}
.detail-diagram img{transition:transform .18s ease}.diagram-click-nav{touch-action:pan-y}.diagram-click-nav img{will-change:transform}
@media(max-width:900px){.topbar{display:grid;grid-template-columns:auto 1fr;gap:10px;height:64px}.topbar .brand{justify-self:stretch;justify-content:flex-start;align-items:baseline;border-radius:14px;padding:7px 12px;background:linear-gradient(90deg,rgba(212,167,59,.18),rgba(255,255,255,.035));border:1px solid rgba(212,167,59,.18)}.topbar .brand-primary{font-family:var(--font-display);font-size:34px;color:var(--gold);letter-spacing:.5px}.topbar .brand-secondary{font-family:var(--font-cond);display:inline;color:var(--soft);font-size:18px;text-transform:uppercase;letter-spacing:.08em}.topbar .nav .nav-user{width:100%;display:block;padding:12px;border-radius:12px;background:rgba(212,167,59,.06)}.topbar .nav-logout button{color:var(--ink);border:0;background:rgba(255,255,255,.025);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em}.filter-panel .thumb-size-control{margin-bottom:8px}html[data-thumb-zoom="0"] .play-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}html[data-thumb-zoom="0"] .diagram-thumb{height:120px}html[data-thumb-zoom="0"] .card-body{padding:10px}html[data-thumb-zoom="0"] .card-topline{font-size:10px}html[data-thumb-zoom="0"] .play-title{font-size:13px}html[data-thumb-zoom="0"] .play-meta{font-size:10px}html[data-thumb-zoom="0"] .card-actions{display:grid;gap:6px}html[data-thumb-zoom="1"] .play-grid{grid-template-columns:1fr}html[data-thumb-zoom="1"] .diagram-thumb{height:230px}html[data-thumb-zoom="2"] .play-grid{grid-template-columns:1fr}html[data-thumb-zoom="2"] .diagram-thumb{height:310px}}
@media(max-width:430px){.topbar .brand-primary{font-size:30px}.topbar .brand-secondary{font-size:16px}.topbar{gap:8px;padding:0 10px}.mobile-nav-toggle{width:40px}}

/* PPD v1.8.5.2beta: scripts weekly workflow + mobile fixes */
.pill-back-link{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(212,167,59,.35);border-radius:999px;padding:10px 14px;background:rgba(212,167,59,.07);margin-bottom:14px;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em}.weekly-script-nav-card{padding:18px;margin-bottom:18px}.weekly-nav-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weekly-day-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.weekly-day-card{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);padding:12px;min-height:105px}.weekly-day-card strong{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);display:block;margin-bottom:8px}.weekly-day-card span{color:var(--mute);font-size:13px}.weekly-script-link{display:block;border-radius:10px;padding:8px 9px;margin-top:6px;background:rgba(255,255,255,.035);font-size:12px;font-weight:800;color:var(--soft)}.weekly-script-link.is-current{background:rgba(212,167,59,.16);color:var(--gold);border:1px solid rgba(212,167,59,.35)}.script-detail-head{align-items:center}.scripts-head-clean .script-actions{flex-wrap:wrap}.new-opponent-fields{border:1px solid rgba(212,167,59,.25);border-radius:14px;padding:12px;background:rgba(212,167,59,.055);display:grid;gap:10px}.week-builder-groups{display:grid;gap:18px}.week-builder-group{border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.02)}.week-builder-group h3{margin:0 0 10px;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.subtle-details{margin-top:18px}.subtle-details summary{cursor:pointer;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:10px}.mirror-script-table small{display:block;color:var(--mute);font-size:11px;margin-top:3px}.script-builder-layout .script-order-card{min-width:0}.quick-add-row.just-added{border-color:rgba(212,167,59,.75);background:rgba(212,167,59,.12)}
.diagram-swipe-shell{overflow:hidden;touch-action:pan-y;padding:0}.diagram-swipe-track{display:flex;width:100%;will-change:transform}.diagram-swipe-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;background:#fff}.diagram-swipe-slide img{max-width:100%;height:auto;object-fit:contain}.diagram-click-nav img{transition:none}.mobile-nav-toggle{font-size:0}.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav-toggle span{transition:.15s ease}
@media(max-width:900px){.weekly-day-grid{grid-template-columns:1fr}.weekly-nav-head{display:grid}.script-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.script-actions .button,.script-actions form,.script-actions button{width:100%}.script-edit-form{grid-template-columns:1fr!important}.quick-add-panel{position:relative}.quick-add-list{max-height:52vh;min-height:280px;overflow:auto;-webkit-overflow-scrolling:touch}.quick-add-row{grid-template-columns:64px minmax(0,1fr) 48px 38px;padding:8px}.quick-add-main strong{font-size:12px}.quick-add-main small{font-size:10px}.entry-row{grid-template-columns:24px 28px 1fr 64px 32px;padding:8px}.entry-thumb{width:58px;height:36px}.pill-back-link{font-size:13px;padding:12px 15px;margin-bottom:12px}.topbar .brand{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;justify-content:flex-start!important;align-items:baseline!important}.topbar .brand-primary{font-family:var(--font-display)!important;font-size:34px!important;color:var(--gold)!important}.topbar .brand-secondary{font-family:var(--font-cond)!important;font-size:18px!important;color:var(--soft)!important;display:inline!important}.detail-diagram{border-radius:18px}.diagram-swipe-slide{min-height:220px}.diagram-filmstrip{position:sticky;bottom:0;background:rgba(15,17,21,.8);backdrop-filter:blur(6px);padding:8px;border-radius:14px}.analytics-more-details summary{padding:12px;border-radius:12px;background:rgba(212,167,59,.08)}}
@media(max-width:430px){.topbar .brand-primary{font-size:30px!important}.topbar .brand-secondary{font-size:16px!important}.quick-add-list{max-height:48vh}.weekly-script-nav-card{padding:14px}.weekly-day-card{min-height:auto}}

/* v1.8.5.3 weekly scripting cleanup */
.weekly-selector-card { margin-bottom: 1rem; }
.weekly-selector-form { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)) auto; gap: .85rem; align-items: end; }
.weekly-selector-form label { font-weight: 800; color: var(--mute); font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.weekly-selector-form label .input, .weekly-selector-form label select { margin-top: .35rem; }
.weekly-analytics-card { margin-bottom: 1rem; }
.weekly-day-board { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); gap: .85rem; }
.weekly-builder-day-column { border: 1px solid var(--line); border-radius: 20px; padding: .9rem; background: rgba(255,255,255,.025); min-height: 230px; display: flex; flex-direction: column; gap: .75rem; }
.weekly-builder-day-head { color: var(--gold); font-weight: 950; letter-spacing: .08em; text-transform: uppercase; font-family: var(--font-cond); font-size: 1.05rem; }
.weekly-builder-day-scripts { display: grid; gap: .55rem; flex: 1; }
.weekly-script-link-card { display: block; padding: .75rem; border-radius: 14px; background: rgba(10,12,18,.65); border: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.weekly-script-link-card:hover { border-color: rgba(222,176,55,.65); transform: translateY(-1px); }
.weekly-script-link-card strong { display: block; color: var(--ink); }
.weekly-script-link-card span, .weekly-script-link-card small { display: block; color: var(--mute); margin-top: .15rem; }
.weekly-empty { padding: .75rem; min-height: auto; }
.add-day-script-details { margin-top: auto; }
.add-day-script-details summary { cursor: pointer; list-style: none; padding: .7rem .8rem; border: 1px solid rgba(222,176,55,.45); border-radius: 999px; color: var(--gold); font-weight: 950; text-align: center; background: rgba(222,176,55,.08); }
.add-day-script-details summary::-webkit-details-marker { display: none; }
.compact-create-form { margin-top: .7rem; }
.clean-script-filter { display: grid; gap: .9rem; }
.script-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: .75rem; }
.script-filter-grid label { font-weight: 800; color: var(--mute); font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.script-filter-grid .input { margin-top: .35rem; }
.user-access-meta { display:block; margin-top:.25rem; color: var(--mute); }
.user-agent-line { max-width: 740px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) {
  .weekly-selector-form { grid-template-columns: 1fr; }
  .weekly-day-board { grid-template-columns: 1fr; }
  .script-filter-grid { grid-template-columns: 1fr; }
}

/* v1.8.5.4 scripts hub + scheduled opponent workflow */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropdown-toggle{border:0;background:transparent;color:var(--ink);font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:10px 12px;border-radius:12px}.nav-dropdown-toggle:hover,.nav-dropdown.is-open .nav-dropdown-toggle{background:rgba(212,167,59,.08);color:var(--gold)}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:220px;background:rgba(16,18,24,.98);border:1px solid var(--line);box-shadow:0 18px 38px rgba(0,0,0,.35);border-radius:16px;padding:8px;display:none;z-index:50}.nav-dropdown.is-open .nav-dropdown-menu{display:grid}.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:11px;white-space:nowrap}.nav-dropdown-menu a:hover{background:rgba(212,167,59,.09)}
.scripts-hero-head{margin-bottom:18px}.script-hub-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:14px;margin-bottom:18px}.script-hub-card{display:grid;gap:6px;padding:18px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));text-decoration:none;color:var(--ink);min-height:150px}.script-hub-card.primary{background:linear-gradient(135deg,rgba(212,167,59,.20),rgba(255,255,255,.025));border-color:rgba(212,167,59,.45)}.script-hub-card strong{font-family:var(--font-cond);font-size:24px;text-transform:uppercase;letter-spacing:.07em;color:var(--gold)}.script-hub-card span{color:var(--mute);line-height:1.35}.hub-card-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}.scripts-clean-layout{align-items:start}.all-scripts-card{overflow:hidden}.centered-script-filter{max-width:980px;margin:0 auto 16px;display:grid;gap:12px}.script-filter-searchline{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center}.improved-script-filter-grid{grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end}.refined-script-list{max-height:none}.weekly-builder-hero{align-items:center}.upgraded-week-selector .weekly-selector-form{grid-template-columns:1fr 1.3fr 1fr 1fr 1fr auto}.sunday-board-card{overflow-x:auto}.weekly-side-block{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:9px;background:rgba(0,0,0,.12);display:grid;gap:7px}.weekly-side-title{font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:13px}.compact-empty{padding:8px;font-size:12px}.settings-clean-layout{align-items:start}.settings-roadmap-card{margin-top:18px}.opponent-schedule-list small{display:block;margin-top:3px}.weekly-script-link-card span:before{content:''}.weekly-script-link-card strong{font-size:14px}.script-row span{line-height:1.4}
@media(max-width:1050px){.script-hub-grid{grid-template-columns:1fr 1fr}.improved-script-filter-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.upgraded-week-selector .weekly-selector-form{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.nav-dropdown{width:100%;display:block}.nav-dropdown-toggle{width:100%;text-align:left;color:var(--ink);background:rgba(255,255,255,.025)}.nav-dropdown-menu{position:static;box-shadow:none;margin-top:6px;background:rgba(255,255,255,.03);border-radius:12px}.script-hub-grid{grid-template-columns:1fr}.script-hub-card{min-height:auto}.script-filter-searchline{grid-template-columns:1fr;}.improved-script-filter-grid{grid-template-columns:1fr}.upgraded-week-selector .weekly-selector-form{grid-template-columns:1fr}.weekly-side-block{padding:10px}.centered-script-filter{max-width:none}}

/* v1.8.5.5 scripts layout + schedule cleanup */
.nav-dropdown:hover .nav-dropdown-menu{display:grid}.nav-dropdown-toggle{text-decoration:none;display:inline-flex;align-items:center}.nav-dropdown-toggle:focus-visible + .nav-dropdown-menu{display:grid}.scripts-hub-head{margin-bottom:20px}.refined-hub-grid{grid-template-columns:1.45fr repeat(3,1fr)}.big-weekly-card strong{font-size:30px}.scripts-home-lower{align-items:start}.schedule-preview-card .wide-button{margin-top:14px}.compact-schedule-preview .script-row{padding:12px}.centered-page-head{text-align:left}.full-script-filter-card{margin-bottom:16px}.top-script-filter{max-width:1120px}.full-script-list-card{max-width:1120px;margin:0 auto}.single-script-create-card{max-width:980px;margin:0 auto}.week-opponent-badge{border:1px solid rgba(212,167,59,.42);background:linear-gradient(135deg,rgba(212,167,59,.16),rgba(255,255,255,.025));border-radius:20px;padding:14px 18px;min-width:260px;text-align:right}.week-opponent-badge span{display:block;color:var(--mute);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em}.week-opponent-badge strong{display:block;color:var(--gold);font-family:var(--font-display);font-size:28px;letter-spacing:.05em}.auto-week-selector-card .weekly-selector-form{grid-template-columns:1fr 1.25fr 1fr 1fr 1fr}.weekly-more-analytics{margin-top:14px}.weekly-more-analytics summary{cursor:pointer;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);padding:12px 14px;border:1px solid rgba(212,167,59,.25);border-radius:14px;background:rgba(212,167,59,.06)}.script-settings-layout-v2{grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr)}.opponent-schedule-editor{display:grid;gap:12px}.schedule-edit-row{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);padding:12px}.schedule-edit-row.is-archived{opacity:.62}.schedule-edit-form{display:grid;grid-template-columns:1.15fr .75fr .9fr .85fr .9fr 1fr auto;gap:10px;align-items:end}.schedule-edit-form label{font-weight:800;color:var(--mute);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.schedule-edit-form .input{margin-top:.3rem}.schedule-row-actions{display:flex;justify-content:flex-end;margin-top:8px}.schedule-row-static{border:0;background:transparent}.script-filter-panel{overflow:visible}.script-filter-searchline,.script-filter-grid{min-width:0}.script-filter-searchline .input,.script-filter-grid .input{min-width:0}.scripts-clean-layout{grid-template-columns:1fr}.all-scripts-card .centered-script-filter{max-width:100%}
@media(max-width:1200px){.refined-hub-grid{grid-template-columns:1fr 1fr}.auto-week-selector-card .weekly-selector-form{grid-template-columns:1fr 1fr}.script-settings-layout-v2{grid-template-columns:1fr}.schedule-edit-form{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.nav-dropdown:hover .nav-dropdown-menu{display:grid}.nav-dropdown-menu{display:grid}.refined-hub-grid{grid-template-columns:1fr}.weekly-builder-title-row{display:grid}.week-opponent-badge{text-align:left;min-width:0}.auto-week-selector-card .weekly-selector-form{grid-template-columns:1fr}.schedule-edit-form{grid-template-columns:1fr}.script-filter-searchline{grid-template-columns:1fr}.improved-script-filter-grid{grid-template-columns:1fr}.full-script-list-card,.single-script-create-card{max-width:none}.week-opponent-badge strong{font-size:24px}}

/* v1.8.5.6 schedule intelligence */
.schedule-settings-grid{grid-template-columns:minmax(360px,.85fr) minmax(620px,1.25fr)}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.schedule-add-card textarea.input,.schedule-edit-form textarea.input{min-height:72px;resize:vertical}
.ordered-schedule-list{display:grid;gap:14px}
.schedule-edit-form-upgraded{display:grid;grid-template-columns:1fr;gap:10px}
.schedule-edit-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:2px}
.schedule-edit-topline strong{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}
.schedule-edit-topline span{font-weight:950;color:var(--ink)}
.schedule-link-row{text-decoration:none;color:inherit}
.week-opponent-hero-title{text-align:right;min-width:280px}
.week-opponent-hero-title span{display:block;color:var(--gold);font-family:var(--font-cond);font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:18px}
.week-opponent-hero-title strong{display:block;color:#fff;font-family:var(--font-display);font-size:48px;line-height:.9;letter-spacing:.04em;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.week-opponent-hero-title small{display:block;color:var(--soft);font-weight:800;margin-top:8px;text-transform:uppercase;letter-spacing:.06em}
.opponent-notes-card{border-color:rgba(212,167,59,.28);background:linear-gradient(135deg,rgba(212,167,59,.08),rgba(255,255,255,.02));margin-bottom:16px}
.opponent-notes-card p{white-space:pre-wrap;margin:0;color:var(--soft);font-size:15px;line-height:1.5}
@media(max-width:1200px){.schedule-settings-grid{grid-template-columns:1fr}.form-grid-3{grid-template-columns:1fr 1fr}.week-opponent-hero-title{text-align:left;min-width:0}.week-opponent-hero-title strong{font-size:38px}}
@media(max-width:760px){.form-grid-3{grid-template-columns:1fr}.week-opponent-hero-title strong{font-size:32px}.week-opponent-hero-title span{font-size:15px}.weekly-builder-hero{gap:12px}}

/* v1.8.5.7 schedule intelligence cleanup */
.team-settings-card{margin-bottom:18px;border-color:rgba(212,167,59,.22);background:linear-gradient(135deg,rgba(212,167,59,.08),rgba(255,255,255,.018))}
.team-settings-form{display:grid;grid-template-columns:1fr 1.2fr .6fr auto;gap:10px;align-items:end}
.team-settings-form label{font-weight:800;color:var(--mute);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.team-settings-form .input{margin-top:.3rem}
.autofill-fridays-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(0,0,0,.10)}
.opponent-notes-wrap{overflow:hidden}.opponent-notes-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.5;color:var(--soft);font-size:15px;max-width:100%}
.schedule-edit-form-upgraded label{min-width:0}.schedule-edit-form-upgraded .input{min-width:0}.schedule-edit-row textarea{overflow-wrap:anywhere}
@media(max-width:1100px){.team-settings-form{grid-template-columns:1fr 1fr}.team-settings-form .button{width:100%}}
@media(max-width:760px){.team-settings-form{grid-template-columns:1fr}.autofill-fridays-form{display:grid}.autofill-fridays-form .button{width:100%}}

/* v1.8.5.8 dashboard + mobile cleanup */
.program-info-card{margin:18px 0 18px;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:center;border-color:rgba(212,167,59,.24);background:linear-gradient(135deg,rgba(212,167,59,.08),rgba(255,255,255,.018))}
.program-info-card h2{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px;color:#f1ece1;font-size:26px}.program-info-card p{color:var(--soft);margin:0;line-height:1.5}.program-info-steps{display:grid;gap:8px}.program-info-steps span{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.075);border-radius:14px;padding:10px;background:rgba(0,0,0,.12);color:var(--soft);font-size:13px}.program-info-steps b{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:999px;background:rgba(212,167,59,.18);color:var(--gold);font-family:var(--font-mono)}
.nav-dropdown{gap:4px}.nav-submenu-button{display:none;border:1px solid rgba(212,167,59,.28);background:rgba(212,167,59,.08);color:var(--gold);border-radius:10px;width:34px;height:34px;font-size:19px;font-weight:900;line-height:1;cursor:pointer}.nav-submenu-button[aria-expanded="true"]{background:rgba(212,167,59,.18)}
.back-link{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(212,167,59,.35);border-radius:999px;padding:9px 13px;background:rgba(212,167,59,.08);margin-bottom:12px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.back-link:hover{border-color:rgba(212,167,59,.65);background:rgba(212,167,59,.14)}
.diagram-swipe-shell{overflow:hidden!important;touch-action:pan-y pinch-zoom;overscroll-behavior:contain}.diagram-swipe-track{display:flex;width:100%;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.diagram-swipe-slide{flex:0 0 100%;min-width:100%;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}.diagram-swipe-slide img{-webkit-user-drag:none;user-select:none;pointer-events:none;max-width:100%;height:auto;object-fit:contain}.detail-diagram.diagram-click-nav{overflow:hidden!important}.diagram-click-nav{touch-action:pan-y pinch-zoom}
.user-admin-row,.user-admin-row>div{min-width:0}.user-admin-row strong,.user-admin-row span,.user-admin-row small{overflow-wrap:anywhere}.user-admin-actions{flex-wrap:wrap;justify-content:flex-end}.user-agent-line{white-space:normal;max-width:100%;overflow-wrap:anywhere}
@media(max-width:900px){
  .topbar{display:grid;grid-template-columns:auto 1fr;align-items:center;height:66px;padding:0 12px;gap:10px;background:rgba(15,17,21,.94)}
  .topbar .brand{justify-self:end;justify-content:flex-end;background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;gap:7px;min-width:0;box-shadow:none!important}.topbar .brand-primary{font-family:var(--font-display);font-size:32px!important;color:var(--gold);letter-spacing:.4px;line-height:1}.topbar .brand-secondary{display:inline!important;font-family:var(--font-cond);font-size:16px!important;color:var(--soft)!important;text-transform:uppercase;letter-spacing:.08em;line-height:1}.mobile-nav-toggle{justify-self:start;background:rgba(212,167,59,.10);border-color:rgba(212,167,59,.45)}
  .nav{position:fixed;top:66px;left:10px;right:10px;max-height:calc(100vh - 82px);overflow:auto;display:none;grid-template-columns:1fr;gap:8px;padding:12px;background:rgba(16,18,24,.98);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 46px rgba(0,0,0,.42);z-index:100}.nav.is-open{display:grid}.nav a,.nav-dropdown-toggle{display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.025);color:var(--soft)}
  .nav-dropdown{display:grid!important;grid-template-columns:1fr auto;width:100%;gap:8px;align-items:center}.nav-dropdown-toggle{width:100%;text-align:left}.nav-submenu-button{display:inline-flex;align-items:center;justify-content:center}.nav-dropdown-menu{grid-column:1 / -1;position:static!important;display:none!important;box-shadow:none!important;margin:0 0 0 10px;background:rgba(255,255,255,.03)!important;border-radius:12px!important;min-width:0!important;padding:6px!important}.nav-dropdown.is-open .nav-dropdown-menu{display:grid!important}.nav-dropdown:hover .nav-dropdown-menu{display:none!important}.nav-dropdown.is-open:hover .nav-dropdown-menu{display:grid!important}
  .program-info-card{grid-template-columns:1fr;padding:18px;margin:14px 0}.program-info-card h2{font-size:21px}.program-info-steps span{align-items:flex-start}.diagram-delete-form{display:none!important}.diagram-action-set{gap:8px}.diagram-detail-tools{margin-top:8px}.back-link{font-size:13px;padding:11px 15px;margin-bottom:14px}.user-admin-list{gap:10px}.user-admin-row{display:grid!important;grid-template-columns:1fr!important;gap:12px;overflow:hidden}.user-admin-actions{display:grid!important;grid-template-columns:1fr;gap:8px;width:100%}.user-admin-actions form,.user-admin-actions .button,.user-admin-actions .protected-badge{width:100%;justify-content:center}.form-card{padding:16px}.dashboard-hero{padding:22px}.dashboard-version-badge{display:none}
}
@media(max-width:420px){.topbar .brand-primary{font-size:28px!important}.topbar .brand-secondary{font-size:14px!important}.topbar{padding:0 9px}.mobile-nav-toggle{width:40px;height:38px}.nav{left:8px;right:8px}}


/* v1.8.5.9 final 1.8 polish */
.opponent-notes-card,
.team-settings-card,
.schedule-edit-row,
.weekly-builder-hero,
.card {
  min-width: 0;
}
.opponent-notes-card p,
.opponent-notes-body,
.coach-notes-body,
.schedule-note-preview,
.team-settings-card .input,
.schedule-edit-row .input {
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
.schedule-row-static span,
.schedule-row-static small,
.week-opponent-hero-title small {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* Make mobile nav submenu arrow feel like part of the same pill, not a separate button. */
@media(max-width:900px){
  .nav-dropdown{grid-template-columns:1fr!important;gap:0!important;position:relative;}
  .nav-dropdown-toggle{padding-right:52px!important;border-radius:12px!important;}
  .nav-submenu-button{position:absolute;right:6px;top:6px;width:34px;height:30px;border:0!important;background:transparent!important;box-shadow:none!important;}
  .nav-dropdown.is-open .nav-dropdown-toggle{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;background:rgba(212,167,59,.09)!important;}
  .nav-dropdown-menu{margin:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important;}
  .detail-tags{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
  .favorite-pill{margin-bottom:6px;}
  .play-detail-title-row{gap:10px;}
  .play-detail-title-row form{align-self:flex-start;}
  input, select, textarea{font-size:16px!important;}
  input[type="search"]{font-size:16px!important;}
}
.diagram-swipe-track{will-change:transform;}
.diagram-swipe-slide.is-clone{pointer-events:none;}


/* v1.8.5.10 schedule polish */
.team-settings-card,
.opponent-notes-card{
  padding:18px 20px;
  overflow:hidden;
}
.team-settings-card .section-title,
.opponent-notes-card .section-title{
  display:block;
  max-width:100%;
  overflow:visible;
  padding-left:0;
  margin-left:0;
}
.opponent-notes-card,
.opponent-notes-wrap,
.opponent-notes-body{
  min-width:0;
  max-width:100%;
}
.opponent-notes-body{
  display:block;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:normal;
}
.team-settings-form,
.team-settings-form label,
.schedule-edit-form-upgraded,
.schedule-edit-form-upgraded label{
  min-width:0;
}
.team-settings-form .input,
.schedule-edit-form-upgraded .input,
.schedule-edit-form-upgraded textarea{
  min-width:0;
  max-width:100%;
}
.schedule-opponent-details{
  border:1px solid rgba(255,255,255,.075);
  border-radius:16px;
  padding:0;
  background:rgba(255,255,255,.018);
  overflow:hidden;
}
.schedule-opponent-summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.schedule-opponent-summary::-webkit-details-marker{display:none}
.schedule-opponent-summary strong{
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--gold);
}
.schedule-opponent-summary span{font-weight:950;color:#f1ece1;overflow-wrap:anywhere}
.schedule-opponent-details:not([open]) .schedule-opponent-summary{border-bottom:0}
.schedule-opponent-details .schedule-edit-form-upgraded{padding:12px 14px 14px}
.schedule-opponent-details .schedule-edit-topline{display:none}
.smooth-save-status{
  margin-left:8px;
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
@media(max-width:900px){
  .team-settings-card,.opponent-notes-card{padding:15px}
  .schedule-opponent-summary{align-items:flex-start;flex-direction:column}
}

/* v1.8.6 Practice Builder polish */
.practice-builder-hub-grid{grid-template-columns:1.4fr repeat(4,1fr)}
.bank-script-mode{position:sticky;top:82px;z-index:8;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.bank-script-mode .button.gold{white-space:nowrap;box-shadow:0 10px 26px rgba(212,167,59,.18)}
.script-add-save-bar{position:sticky;bottom:10px;z-index:8;display:none;justify-content:center;padding:8px;pointer-events:none}.script-add-save-bar .button{pointer-events:auto;box-shadow:0 14px 34px rgba(0,0,0,.34)}
.quick-add-row.is-saving{opacity:.78}.quick-add-row.just-added{border-color:rgba(212,167,59,.85)!important;background:rgba(212,167,59,.13)!important}
@media(max-width:1200px){.practice-builder-hub-grid{grid-template-columns:1fr 1fr}.practice-builder-hub-grid .primary{grid-column:1 / -1}}
@media(max-width:900px){.practice-builder-hub-grid{grid-template-columns:1fr}.bank-script-mode{top:78px;display:grid;gap:10px}.bank-script-mode .button.gold{width:100%}.script-add-save-bar{display:flex}.quick-add-panel{scroll-margin-top:92px}.quick-add-list{padding-bottom:76px}}

/* v1.8.6.1beta: Bank paging + thumbnail-loading polish */
.bank-result-summary{margin:0 0 12px;color:var(--mute);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.bank-load-more-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0 4px}.bank-load-more{min-width:180px}.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inline-flex}.play-card.htmx-added{animation:bankCardIn .18s ease-out}@keyframes bankCardIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.bank-result-summary{text-align:center;margin:2px 0 10px}.bank-load-more-wrap{position:relative;margin:18px 0 8px}.bank-load-more{width:100%;min-height:44px}}

/* v1.8.6.2beta practice workflow cleanup */
.practice-hub-layout{display:grid;gap:14px;margin-bottom:18px}.weekly-planner-main-card{min-height:190px;align-content:center}.weekly-planner-main-card strong{font-size:34px}.practice-hub-secondary-grid{display:grid;grid-template-columns:1fr 1fr .75fr;gap:14px}.practice-hub-secondary-grid .script-hub-card{min-height:135px}.settings-hub-card{background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.015))}.script-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.weekly-practice-plan-slot{border:1px solid rgba(212,167,59,.35);border-radius:16px;padding:10px;background:rgba(212,167,59,.075);display:grid;gap:10px}.weekly-practice-plan-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.weekly-practice-plan-title span,.weekly-script-section-title{font-family:var(--font-cond);font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.weekly-practice-plan-title small{font-size:11px;color:var(--mute);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.weekly-add-plan-button{width:100%;justify-content:center}.button.tiny{font-size:12px;padding:8px 10px;min-height:auto}.weekly-script-section-title{font-size:13px;margin-top:2px;color:var(--soft)}.weekly-planner-day-column{min-height:290px}
@media(max-width:1050px){.practice-hub-secondary-grid{grid-template-columns:1fr 1fr}.practice-hub-secondary-grid .settings-hub-card{grid-column:1 / -1}.weekly-planner-main-card strong{font-size:30px}}
@media(max-width:900px){.practice-hub-secondary-grid{grid-template-columns:1fr}.weekly-planner-main-card{min-height:auto}.weekly-planner-main-card strong{font-size:28px}}

/* v1.8.6.3beta Weekly Planner workflow + camp/preseason windows */
.weekly-hub-secondary-grid-v3{grid-template-columns:repeat(4,1fr)}
.weekly-selector-form-v3{grid-template-columns:.8fr .9fr 1.15fr .9fr 1fr 1fr}
.selector-help-copy{margin-top:10px}.weekly-workflow-actions-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.weekly-workflow-actions{display:flex;gap:10px;flex-wrap:wrap}.day-head-with-weekend-actions{display:flex!important;align-items:center;justify-content:space-between;gap:8px}.weekend-add-actions{display:flex;gap:6px;flex-wrap:wrap}.weekend-plus-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(212,167,59,.42);background:rgba(212,167,59,.10);color:var(--gold);border-radius:999px;padding:5px 8px;font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px;text-decoration:none}.weekend-plus-button:hover{background:rgba(212,167,59,.18)}.multi-plan-slot{gap:9px}.weekly-plan-slot-list{display:grid;gap:7px}.weekly-plan-slot-row{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);border-radius:12px;padding:8px 9px;color:var(--soft)}.weekly-plan-slot-row strong{font-size:13px}.weekly-plan-slot-row span{font-size:11px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.06em}.add-plan-slot-form{display:grid}.weekly-board-card-v3 .weekly-day-board{align-items:start}
@media(max-width:1250px){.weekly-hub-secondary-grid-v3{grid-template-columns:1fr 1fr}.weekly-selector-form-v3{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:900px){.weekly-hub-secondary-grid-v3,.weekly-selector-form-v3{grid-template-columns:1fr}.weekly-workflow-actions-card{display:grid}.weekly-workflow-actions .button{width:100%;justify-content:center}.day-head-with-weekend-actions{align-items:flex-start}}

/* PBv1.8.6.4beta: Weekly Planner usability + spacing cleanup (retained in PBv1.8.6.5beta) */
.weekly-selector-card,
.weekly-workflow-primary-card,
.weekly-info-details,
.weekly-board-card-v3 {
  padding: 18px;
}
.weekly-selector-form-v3 {
  align-items: end;
  gap: 16px;
}
.weekly-selector-form-v3 label,
.weekly-selector-form-v3 .weekly-selector-submit-wrap {
  min-width: 0;
}
.weekly-selector-form-v3 .input,
.weekly-selector-form-v3 select.input,
.schedule-edit-form-upgraded .input,
.team-settings-form .input,
.schedule-add-card .input {
  min-height: 48px;
  padding: 12px 18px;
  line-height: 1.25;
  border-radius: 14px;
}
.weekly-selector-form-v3 select.input,
.schedule-edit-form-upgraded select.input {
  padding-left: 18px;
  padding-right: 42px;
}
.weekly-selector-submit {
  min-height: 48px;
  border-radius: 999px;
  padding-inline: 22px;
  white-space: nowrap;
  width: 100%;
}
.weekly-workflow-primary-card {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(360px, 1.2fr);
  gap: 18px;
  align-items: center;
  border-color: rgba(212,167,59,.30);
}
.weekly-workflow-pill-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 12px;
}
.weekly-action-pill {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 74px;
  padding: 14px 20px;
  border: 1px solid rgba(212,167,59,.34);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: var(--ink);
  text-align: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.weekly-action-pill.primary {
  background: linear-gradient(135deg, var(--gold), #e7c05b);
  color: #151515;
  border-color: transparent;
}
.weekly-action-pill span {
  font-family: var(--font-cond);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
  font-size: 16px;
  line-height: 1;
}
.weekly-action-pill small {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: inherit;
  opacity: .78;
}
.weekly-action-pill:hover {
  transform: translateY(-1px);
  border-color: rgba(212,167,59,.70);
}
.weekly-info-details {
  margin-top: 14px;
}
.weekly-info-details > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(212,167,59,.24);
  border-radius: 16px;
  background: rgba(212,167,59,.06);
}
.weekly-info-details > summary::-webkit-details-marker { display: none; }
.weekly-info-details > summary::after {
  content: '+';
  color: var(--gold);
  font-family: var(--font-cond);
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}
.weekly-info-details[open] > summary::after { content: '–'; }
.weekly-info-details > summary span {
  font-family: var(--font-cond);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gold);
  font-weight: 950;
}
.weekly-info-details > summary small {
  color: var(--mute);
  font-weight: 800;
  text-align: right;
}
.weekly-summary-head-expanded {
  margin-top: 16px;
}
.weekly-info-details .script-analytics-grid,
.weekly-info-details .opponent-notes-body {
  margin-top: 14px;
}
.weekly-board-card-v3 {
  margin-top: 16px;
}
.weekly-builder-day-column {
  padding: 14px;
}
.weekly-builder-day-head {
  padding: 12px 14px;
}
.weekly-practice-plan-slot {
  padding: 14px;
}
.weekly-side-block,
.weekly-script-link-card,
.weekly-plan-slot-row,
.add-day-script-details summary {
  padding: 12px 14px;
}
.schedule-row-saved {
  border-color: rgba(74,222,128,.65)!important;
  box-shadow: 0 0 0 1px rgba(74,222,128,.20), 0 16px 34px rgba(0,0,0,.16);
}
.smooth-save-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-left: 8px;
  color: var(--gold);
  font-weight: 900;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
@media(max-width:1250px){
  .weekly-workflow-primary-card{grid-template-columns:1fr;}
  .weekly-workflow-pill-row{grid-template-columns:1fr 1fr 1fr;}
}
@media(max-width:900px){
  .weekly-selector-form-v3{grid-template-columns:1fr!important;}
  .weekly-workflow-pill-row{grid-template-columns:1fr;}
  .weekly-action-pill{border-radius:22px;}
  .weekly-info-details > summary{align-items:flex-start;}
  .weekly-info-details > summary small{text-align:left;}
}

/* PBv1.8.6.5beta: team containers + branded team views */
.brand{gap:10px;align-items:center}.brand-wordmark{display:flex;gap:8px;align-items:baseline}.brand-logo{width:42px;height:42px;border-radius:12px;object-fit:contain;background:#fff;padding:3px;border:1px solid rgba(212,167,59,.35)}
body.team-branded .topbar{border-bottom-color:color-mix(in srgb, var(--gold) 35%, var(--line));background:linear-gradient(90deg,rgba(15,17,21,.95),rgba(15,17,21,.86))}
body.team-branded .dashboard-hero{border-color:color-mix(in srgb, var(--gold) 34%, var(--line))}.team-admin-create-card,.team-settings-admin-card{padding:20px;margin-bottom:18px}.team-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}.team-admin-card{padding:18px;display:grid;gap:14px}.team-admin-head{display:flex;gap:12px;align-items:center}.team-admin-logo{width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;padding:4px}.team-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.team-admin-form label{display:grid;gap:6px;color:var(--soft);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.team-admin-form .button,.team-admin-form label:first-of-type{grid-column:1 / -1}.team-admin-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.team-logo-preview{grid-column:1 / -1;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px;background:rgba(255,255,255,.025)}.team-logo-preview img{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:16px;padding:6px}.team-assign-form{display:flex;gap:6px;align-items:center}.compact-select{min-width:170px;max-width:220px;padding:8px 12px!important;min-height:38px!important}.user-admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
@media(max-width:900px){.brand-logo{width:34px;height:34px}.brand-wordmark{display:grid;gap:0}.team-admin-form{grid-template-columns:1fr}.team-assign-form{width:100%;display:grid;grid-template-columns:1fr auto}.compact-select{max-width:none}.user-admin-actions{justify-content:stretch}.user-admin-actions form,.user-admin-actions button{width:100%}}


/* PBv1.8.6.6: team branding now supports primary, secondary, and third/accent colors. */
body.team-branded{
  background:radial-gradient(circle at top left, color-mix(in srgb, var(--team-secondary, #1b2130) 58%, #1b2130) 0, #0f1115 34rem);
}
body.team-branded .topbar{
  background:linear-gradient(90deg, color-mix(in srgb, var(--team-secondary, #0f1115) 36%, #0f1115), rgba(15,17,21,.9));
  border-bottom-color:color-mix(in srgb, var(--gold) 42%, var(--line));
}
body.team-branded .brand-logo{
  border-color:color-mix(in srgb, var(--gold) 55%, var(--line));
  box-shadow:0 0 0 2px color-mix(in srgb, var(--team-accent, #fff) 12%, transparent);
}
body.team-branded .brand-secondary{
  color:color-mix(in srgb, var(--team-accent, #fff) 80%, var(--soft));
}
.team-admin-form input[type="color"]{min-height:44px;padding:4px 6px;}


/* PBv1.8.6.7beta baseline: restrained readable team branding, superseded by PBv1.8.6.8beta overrides below.
   Team colors are accents only. They should never recolor the full app chrome or core text. */
body.team-branded{
  --safe-brand-accent: var(--gold);
  background:radial-gradient(circle at top left,#1b2130 0,#0f1115 34rem)!important;
  color:var(--ink);
}
body.team-branded .topbar{
  background:rgba(15,17,21,.94)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}
body.team-branded .brand-primary{
  color:var(--ink)!important;
  text-shadow:none!important;
  max-width:340px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.team-branded .brand-secondary{
  color:var(--soft)!important;
}
body.team-branded .brand-logo{
  background:#fff;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--team-primary, #d4a73b) 38%, transparent)!important;
}
.team-brand-strip{
  position:sticky;
  top:70px;
  z-index:9;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  height:5px;
  background:var(--line);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.team-brand-strip span:nth-child(1){background:var(--team-primary, var(--gold));}
.team-brand-strip span:nth-child(2){background:var(--team-secondary, #3b4456);}
.team-brand-strip span:nth-child(3){background:var(--team-accent, var(--gold));}
body.team-branded .nav a:hover,
body.team-branded .nav-dropdown-toggle:hover{
  color:var(--gold)!important;
}
body.team-branded .dashboard-hero,
body.team-branded .program-info-card{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb, var(--team-primary, #d4a73b) 22%, var(--line))!important;
}
body.team-branded .dashboard-hero::before,
body.team-branded .program-info-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,var(--team-primary, var(--gold)),var(--team-secondary, #3b4456),var(--team-accent, var(--gold)));
  pointer-events:none;
}
body.team-branded .button.gold{
  background:var(--gold)!important;
  color:#151515!important;
}
body.team-branded .page-eyebrow,
body.team-branded .recent-count,
body.team-branded .counter-num,
body.team-branded .entry-num,
body.team-branded .filter-head-meta,
body.team-branded .filter-check-count{
  color:var(--gold)!important;
}
.team-branding-note{
  grid-column:1 / -1;
  border:1px solid rgba(212,167,59,.24);
  background:rgba(212,167,59,.055);
  color:var(--soft);
  border-radius:16px;
  padding:12px 14px;
  line-height:1.45;
  font-size:13px;
}
.team-branding-note strong{color:var(--ink)}
@media(max-width:900px){
  .team-brand-strip{top:70px;height:4px}
  body.team-branded .brand-primary{max-width:190px;font-size:28px}
}

/* PBv1.8.6.8beta: middle-ground team branding.
   Stronger identity in the top banner and core buttons, while preserving readable dark app content. */
body.team-branded{
  --safe-brand-accent: var(--team-primary, var(--gold));
  background:radial-gradient(circle at top left,#1b2130 0,#0f1115 34rem)!important;
  color:var(--ink)!important;
}
body.team-branded .topbar{
  background:var(--team-primary, var(--gold))!important;
  color:var(--team-primary-text, #111)!important;
  border-bottom:1px solid color-mix(in srgb, var(--team-secondary, #0f1115) 55%, rgba(0,0,0,.35))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.32)!important;
  backdrop-filter:none!important;
}
body.team-branded .brand,
body.team-branded .topbar .nav,
body.team-branded .topbar .nav a,
body.team-branded .topbar .nav-user,
body.team-branded .topbar .nav-logout button,
body.team-branded .topbar .nav-dropdown-toggle,
body.team-branded .topbar .nav-submenu-button,
body.team-branded .topbar .mobile-nav-toggle{
  color:var(--team-primary-text, #111)!important;
}
body.team-branded .brand-primary,
body.team-branded .brand-secondary{
  color:var(--team-primary-text, #111)!important;
  text-shadow:none!important;
}
body.team-branded .brand-primary{
  max-width:360px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.team-branded .brand-secondary{opacity:.86!important;}
body.team-branded .brand-logo{
  width:44px;
  height:44px;
  border-radius:10px!important;
  object-fit:contain;
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
body.team-branded .mobile-nav-toggle{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.24)!important;
}
body.team-branded .mobile-nav-toggle span{background:var(--team-primary-text, #111)!important;}
body.team-branded .nav a:hover,
body.team-branded .nav-dropdown-toggle:hover,
body.team-branded .nav-dropdown.is-open .nav-dropdown-toggle,
body.team-branded .nav-logout button:hover{
  background:rgba(255,255,255,.16)!important;
  color:var(--team-primary-text, #111)!important;
  border-color:rgba(255,255,255,.28)!important;
}
body.team-branded .nav-dropdown-menu{
  background:rgba(16,18,24,.98)!important;
  border-color:var(--line)!important;
}
body.team-branded .nav-dropdown-menu a{
  color:var(--soft)!important;
  background:transparent!important;
}
body.team-branded .nav-dropdown-menu a:hover{
  color:var(--ink)!important;
  background:rgba(255,255,255,.07)!important;
}
body.team-branded .nav-user{
  font-weight:900;
  opacity:.92;
}
body.team-branded .team-brand-strip{
  height:6px;
  grid-template-columns:3fr 1.25fr 1fr;
  box-shadow:0 7px 16px rgba(0,0,0,.24);
}
body.team-branded .button.gold{
  background:var(--team-primary, var(--gold))!important;
  color:var(--team-primary-text, #111)!important;
  border-color:color-mix(in srgb, var(--team-primary, var(--gold)) 65%, #ffffff 18%)!important;
  box-shadow:0 10px 22px color-mix(in srgb, var(--team-primary, var(--gold)) 18%, transparent)!important;
}
body.team-branded .button.gold:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}
body.team-branded .script-hub-card.primary,
body.team-branded .weekly-workflow-pill-row .button.gold,
body.team-branded .weekly-workflow-actions .button.gold{
  background:linear-gradient(135deg,var(--team-primary, var(--gold)),color-mix(in srgb,var(--team-primary, var(--gold)) 82%, #ffffff 18%))!important;
  color:var(--team-primary-text, #111)!important;
  border-color:transparent!important;
}
body.team-branded .script-hub-card.primary strong,
body.team-branded .script-hub-card.primary span,
body.team-branded .script-hub-card.primary .hub-card-kicker{
  color:var(--team-primary-text, #111)!important;
}
body.team-branded .dashboard-hero,
body.team-branded .program-info-card{
  border-color:color-mix(in srgb, var(--team-primary, var(--gold)) 42%, var(--line))!important;
}
body.team-branded .dashboard-hero::before,
body.team-branded .program-info-card::before{
  background:linear-gradient(90deg,var(--team-primary, var(--gold)),var(--team-secondary, #3b4456),var(--team-accent, var(--gold)))!important;
  height:5px!important;
}
body.team-branded .page-eyebrow,
body.team-branded .recent-count,
body.team-branded .counter-num,
body.team-branded .entry-num,
body.team-branded .filter-head-meta,
body.team-branded .filter-check-count,
body.team-branded .weekly-builder-day-head,
body.team-branded .weekly-side-title,
body.team-branded .week-opponent-badge strong{
  color:var(--gold)!important;
}
.team-admin-logo,
.team-logo-preview img{
  background:transparent!important;
  padding:0!important;
  border-radius:10px!important;
}
.supreme-leader-title,
.protected-badge.supreme{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(212,167,59,.55);
  background:linear-gradient(135deg,rgba(212,167,59,.20),rgba(255,255,255,.035));
  color:var(--gold);
  border-radius:999px;
  padding:4px 9px;
  margin-left:8px;
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  vertical-align:middle;
}
.protected-badge.supreme{padding:8px 12px;margin-left:0;}
@media(max-width:900px){
  body.team-branded .topbar .brand{
    background:transparent!important;
    border:0!important;
    padding:4px 8px!important;
  }
  body.team-branded .topbar .brand-primary{font-size:30px!important;max-width:190px;}
  body.team-branded .topbar .brand-secondary{color:var(--team-primary-text, #111)!important;display:inline!important;}
  body.team-branded .topbar .nav{
    background:rgba(15,17,21,.985)!important;
    border-color:var(--line)!important;
  }
  body.team-branded .topbar .nav a,
  body.team-branded .topbar .nav-user,
  body.team-branded .topbar .nav-logout button,
  body.team-branded .topbar .nav-dropdown-toggle{
    color:var(--ink)!important;
    background:rgba(255,255,255,.025)!important;
  }
  body.team-branded .nav-submenu-button{color:var(--gold)!important;background:rgba(212,167,59,.08)!important;}
}

/* PBv1.8.6.9beta: integrated team-color wash.
   Goal: the branded version should feel dipped in team colors, but every surface stays readable.
   Large color areas use softened/translucent mixes instead of harsh solid fills. */
body.team-branded{
  --brand-glow: color-mix(in srgb, var(--team-primary, var(--gold)) 24%, transparent);
  --brand-glow-soft: color-mix(in srgb, var(--team-primary, var(--gold)) 12%, transparent);
  --brand-surface: color-mix(in srgb, var(--team-primary, var(--gold)) 10%, rgba(255,255,255,.028));
  --brand-surface-strong: color-mix(in srgb, var(--team-primary, var(--gold)) 18%, rgba(255,255,255,.04));
  --brand-border: color-mix(in srgb, var(--team-primary, var(--gold)) 34%, var(--line));
  --brand-border-soft: color-mix(in srgb, var(--team-primary, var(--gold)) 20%, var(--line));
  --safe-brand-accent: color-mix(in srgb, var(--team-primary, var(--gold)) 74%, #f1ece1 26%);
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--team-primary, var(--gold)) 24%, transparent) 0, transparent 27rem),
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--team-secondary, #3b4456) 22%, transparent) 0, transparent 30rem),
    radial-gradient(circle at 50% 100%, color-mix(in srgb, var(--team-accent, #ffffff) 8%, transparent) 0, transparent 32rem),
    linear-gradient(180deg,#11141b 0%,#0f1115 50%,#0b0d12 100%)!important;
  color:var(--ink)!important;
}
body.team-branded .topbar{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--team-primary, var(--gold)) 76%, rgba(15,17,21,.72)) 0%,
      color-mix(in srgb, var(--team-primary, var(--gold)) 46%, var(--team-secondary, #0f1115) 34%) 58%,
      color-mix(in srgb, var(--team-secondary, #0f1115) 60%, rgba(15,17,21,.82)) 100%)!important;
  color:var(--team-primary-text, #111)!important;
  border-bottom:1px solid color-mix(in srgb, var(--team-primary, var(--gold)) 40%, rgba(255,255,255,.20))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.34), inset 0 -1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(14px)!important;
}
body.team-branded .topbar::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 38%,rgba(0,0,0,.10));
  mix-blend-mode:soft-light;
}
body.team-branded .brand,
body.team-branded .topbar .nav,
body.team-branded .topbar .nav a,
body.team-branded .topbar .nav-user,
body.team-branded .topbar .nav-logout button,
body.team-branded .topbar .nav-dropdown-toggle,
body.team-branded .topbar .nav-submenu-button,
body.team-branded .topbar .mobile-nav-toggle{
  color:var(--team-primary-text, #111)!important;
  position:relative;
  z-index:1;
}
body.team-branded .brand-primary,
body.team-branded .brand-secondary{
  color:var(--team-primary-text, #111)!important;
  text-shadow:0 1px 10px rgba(0,0,0,.18)!important;
}
body.team-branded .brand-secondary{opacity:.84!important;}
body.team-branded .brand-logo{
  width:46px;
  height:46px;
  border-radius:0!important;
  object-fit:contain;
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:0 9px 24px rgba(0,0,0,.22)!important;
}
body.team-branded .nav a,
body.team-branded .nav-dropdown-toggle,
body.team-branded .nav-submenu-button,
body.team-branded .nav-logout button{
  border:1px solid transparent;
  border-radius:999px;
}
body.team-branded .nav a:hover,
body.team-branded .nav-dropdown-toggle:hover,
body.team-branded .nav-dropdown.is-open .nav-dropdown-toggle,
body.team-branded .nav-logout button:hover,
body.team-branded .nav-submenu-button:hover{
  background:rgba(255,255,255,.18)!important;
  color:var(--team-primary-text, #111)!important;
  border-color:rgba(255,255,255,.24)!important;
}
body.team-branded .nav-dropdown-menu{
  background:linear-gradient(180deg,rgba(18,21,29,.98),rgba(12,14,19,.98))!important;
  border-color:var(--brand-border-soft)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.42), 0 0 0 1px var(--brand-glow-soft)!important;
}
body.team-branded .nav-dropdown-menu a{
  color:var(--soft)!important;
  background:transparent!important;
  border:0!important;
}
body.team-branded .nav-dropdown-menu a:hover{
  color:var(--ink)!important;
  background:linear-gradient(90deg,var(--brand-surface-strong),rgba(255,255,255,.035))!important;
}
body.team-branded .team-brand-strip{
  height:7px;
  grid-template-columns:2fr 1fr 1fr;
  opacity:.82;
  background:transparent;
  box-shadow:0 7px 18px rgba(0,0,0,.20)!important;
}
body.team-branded .team-brand-strip span:nth-child(1){background:linear-gradient(90deg,color-mix(in srgb,var(--team-primary, var(--gold)) 72%, transparent),color-mix(in srgb,var(--team-primary, var(--gold)) 46%, transparent));}
body.team-branded .team-brand-strip span:nth-child(2){background:color-mix(in srgb,var(--team-secondary, #3b4456) 70%, transparent);}
body.team-branded .team-brand-strip span:nth-child(3){background:color-mix(in srgb,var(--team-accent, #ffffff) 58%, transparent);}
body.team-branded .card,
body.team-branded .recent-card,
body.team-branded .action-tile,
body.team-branded .play-card,
body.team-branded .dashboard-stat-card,
body.team-branded .dashboard-panel,
body.team-branded .script-hub-card,
body.team-branded .week-day-card,
body.team-branded .weekly-summary-card,
body.team-branded .practice-plan-slot,
body.team-branded .script-summary-card,
body.team-branded .filter-panel{
  background:
    linear-gradient(180deg,var(--brand-surface),rgba(255,255,255,.016)),
    linear-gradient(135deg,rgba(255,255,255,.026),rgba(255,255,255,.006))!important;
  border-color:var(--brand-border-soft)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.23), 0 0 0 1px rgba(255,255,255,.012)!important;
}
body.team-branded .dashboard-hero,
body.team-branded .program-info-card,
body.team-branded .script-hub-card.primary{
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--team-primary, var(--gold)) 22%, rgba(255,255,255,.04)),rgba(255,255,255,.02) 52%,color-mix(in srgb,var(--team-secondary, #3b4456) 18%, rgba(255,255,255,.012)))!important;
  border-color:var(--brand-border)!important;
}
body.team-branded .dashboard-hero::before,
body.team-branded .program-info-card::before,
body.team-branded .script-hub-card.primary::before{
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--team-primary, var(--gold)) 78%, transparent),
    color-mix(in srgb,var(--team-secondary, #3b4456) 68%, transparent),
    color-mix(in srgb,var(--team-accent, #ffffff) 56%, transparent))!important;
  height:5px!important;
  opacity:.90!important;
}
body.team-branded .button.gold,
body.team-branded .weekly-workflow-pill-row .button.gold,
body.team-branded .weekly-workflow-actions .button.gold,
body.team-branded .script-hub-card.primary .button,
body.team-branded .dashboard-action-list a:first-child,
body.team-branded .dashboard-action-list a:nth-child(2){
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--team-primary, var(--gold)) 82%, rgba(255,255,255,.10)),
      color-mix(in srgb, var(--team-primary, var(--gold)) 58%, var(--team-secondary, #11141b) 22%))!important;
  color:var(--team-primary-text, #111)!important;
  border-color:color-mix(in srgb,var(--team-primary, var(--gold)) 48%, rgba(255,255,255,.24))!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--team-primary, var(--gold)) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.team-branded .button.gold:hover,
body.team-branded .weekly-workflow-pill-row .button.gold:hover,
body.team-branded .weekly-workflow-actions .button.gold:hover{
  filter:saturate(1.05) brightness(1.04);
  transform:translateY(-1px);
}
body.team-branded .script-hub-card.primary strong,
body.team-branded .script-hub-card.primary span,
body.team-branded .script-hub-card.primary .hub-card-kicker{
  color:var(--ink)!important;
}
body.team-branded .input,
body.team-branded select,
body.team-branded textarea{
  background:linear-gradient(180deg,color-mix(in srgb,var(--team-primary, var(--gold)) 8%, #11141b),#0f1219)!important;
  border-color:var(--brand-border-soft)!important;
  color:var(--ink)!important;
}
body.team-branded .input:focus,
body.team-branded select:focus,
body.team-branded textarea:focus{
  outline:2px solid color-mix(in srgb,var(--team-primary, var(--gold)) 42%, transparent)!important;
  border-color:var(--brand-border)!important;
}
body.team-branded .page-eyebrow,
body.team-branded .recent-count,
body.team-branded .counter-num,
body.team-branded .entry-num,
body.team-branded .filter-head-meta,
body.team-branded .filter-check-count,
body.team-branded .weekly-builder-day-head,
body.team-branded .weekly-side-title,
body.team-branded .week-opponent-badge strong{
  color:color-mix(in srgb,var(--team-primary, var(--gold)) 68%, #f7e7b6 32%)!important;
}
body.team-branded .page-eyebrow,
body.team-branded .section-title,
body.team-branded .counter-label,
body.team-branded .dashboard-stat-card span{
  text-shadow:none!important;
}
body.team-branded .diagram-thumb img{
  background:#fff!important;
}
.team-branding-note{
  border-color:var(--brand-border-soft, rgba(212,167,59,.24));
  background:linear-gradient(135deg,var(--brand-surface, rgba(212,167,59,.055)),rgba(255,255,255,.025));
}
@media(max-width:900px){
  body.team-branded .topbar .nav{
    background:linear-gradient(180deg,rgba(15,17,21,.99),rgba(12,14,19,.99))!important;
    border-color:var(--brand-border-soft)!important;
  }
  body.team-branded .topbar .nav a,
  body.team-branded .topbar .nav-user,
  body.team-branded .topbar .nav-logout button,
  body.team-branded .topbar .nav-dropdown-toggle{
    color:var(--ink)!important;
    background:linear-gradient(90deg,var(--brand-surface),rgba(255,255,255,.025))!important;
  }
  body.team-branded .nav-submenu-button{color:var(--ink)!important;background:var(--brand-surface)!important;}
  body.team-branded .brand-logo{width:42px;height:42px;}
}


/* PBv1.8.6.9beta contrast tune: keep header/button backgrounds close enough to the primary color that the automatic black/white text remains readable. */
body.team-branded .topbar{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--team-primary, var(--gold)) 84%, rgba(15,17,21,.42)) 0%,
      color-mix(in srgb, var(--team-primary, var(--gold)) 78%, var(--team-secondary, #0f1115) 10%) 58%,
      color-mix(in srgb, var(--team-primary, var(--gold)) 70%, var(--team-secondary, #0f1115) 16%) 100%)!important;
}
body.team-branded .button.gold,
body.team-branded .weekly-workflow-pill-row .button.gold,
body.team-branded .weekly-workflow-actions .button.gold,
body.team-branded .script-hub-card.primary .button,
body.team-branded .dashboard-action-list a:first-child,
body.team-branded .dashboard-action-list a:nth-child(2){
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--team-primary, var(--gold)) 88%, rgba(255,255,255,.12)),
      color-mix(in srgb, var(--team-primary, var(--gold)) 76%, rgba(15,17,21,.24)))!important;
}


/* PBv1.8.6.10beta: polished branded UI.
   Team colors should shape the site through surfaces, borders, strips, and buttons.
   Text should remain neutral/readable; avoid team-colored text such as blue lettering on dark surfaces. */
body.team-branded{
  --brand-surface: color-mix(in srgb, var(--team-primary, var(--gold)) 7%, rgba(255,255,255,.028));
  --brand-surface-strong: color-mix(in srgb, var(--team-primary, var(--gold)) 15%, rgba(255,255,255,.038));
  --brand-border: color-mix(in srgb, var(--team-secondary, var(--team-primary, var(--gold))) 42%, var(--line));
  --brand-border-soft: color-mix(in srgb, var(--team-secondary, var(--team-primary, var(--gold))) 24%, var(--line));
  --brand-readable-title:#f5f7fb;
  --brand-readable-text:#d7deea;
  --brand-readable-muted:#aeb8ca;
  background:
    radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--team-primary, var(--gold)) 16%, transparent) 0, transparent 30rem),
    radial-gradient(circle at 90% 14%, color-mix(in srgb, var(--team-secondary, #3b4456) 14%, transparent) 0, transparent 34rem),
    linear-gradient(180deg,#11141b 0%,#0f1115 54%,#0b0d12 100%)!important;
}
body.team-branded .topbar{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--team-primary, var(--gold)) 62%, rgba(15,17,21,.74)) 0%,
      color-mix(in srgb, var(--team-primary, var(--gold)) 46%, rgba(15,17,21,.82)) 56%,
      color-mix(in srgb, var(--team-secondary, #0f1115) 28%, rgba(15,17,21,.90)) 100%)!important;
  border-bottom:0!important;
  box-shadow:0 14px 34px rgba(0,0,0,.34), inset 0 -1px 0 rgba(255,255,255,.12)!important;
}
body.team-branded .topbar::after{
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.02) 38%,rgba(0,0,0,.12))!important;
}
body.team-branded .team-brand-strip{
  display:block!important;
  height:7px!important;
  opacity:.92!important;
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 92%, rgba(255,255,255,.08)),
    color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 72%, var(--team-accent, #ffffff) 10%))!important;
  box-shadow:0 8px 18px rgba(0,0,0,.22)!important;
}
body.team-branded .team-brand-strip span{display:none!important;}

/* Brand the surfaces, but keep the content easy to read. */
body.team-branded .card,
body.team-branded .recent-card,
body.team-branded .action-tile,
body.team-branded .play-card,
body.team-branded .dashboard-stat-card,
body.team-branded .dashboard-panel,
body.team-branded .script-hub-card,
body.team-branded .week-day-card,
body.team-branded .weekly-summary-card,
body.team-branded .practice-plan-slot,
body.team-branded .weekly-practice-plan-slot,
body.team-branded .script-summary-card,
body.team-branded .filter-panel,
body.team-branded .weekly-side-block,
body.team-branded .weekly-script-link-card,
body.team-branded .weekly-info-details{
  background:
    linear-gradient(180deg,var(--brand-surface),rgba(255,255,255,.014)),
    linear-gradient(135deg,rgba(255,255,255,.024),rgba(255,255,255,.006))!important;
  border-color:var(--brand-border-soft)!important;
}
body.team-branded .dashboard-hero,
body.team-branded .program-info-card,
body.team-branded .script-hub-card.primary{
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--team-primary, var(--gold)) 15%, rgba(255,255,255,.045)),
      rgba(255,255,255,.020) 52%,
      color-mix(in srgb,var(--team-secondary, #3b4456) 14%, rgba(255,255,255,.012)))!important;
  border-color:var(--brand-border)!important;
}
body.team-branded .dashboard-hero::before,
body.team-branded .program-info-card::before,
body.team-branded .script-hub-card.primary::before{
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 88%, transparent),
    color-mix(in srgb,var(--team-accent, #ffffff) 46%, transparent))!important;
  height:5px!important;
}

/* Dashboard quick actions: team-branded cards with readable title and subtext. */
body.team-branded .dashboard-action-list a,
body.team-branded .dashboard-action-list a:first-child,
body.team-branded .dashboard-action-list a:nth-child(2){
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--team-primary, var(--gold)) 36%, rgba(17,20,27,.90)),
      color-mix(in srgb,var(--team-primary, var(--gold)) 20%, rgba(15,17,21,.96)))!important;
  border-color:color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 50%, rgba(255,255,255,.16))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12)!important;
}
body.team-branded .dashboard-action-list a:hover{
  border-color:color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 78%, rgba(255,255,255,.20))!important;
  transform:translateY(-1px);
}
body.team-branded .dashboard-action-list strong{
  color:var(--brand-readable-title)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}
body.team-branded .dashboard-action-list span{
  color:var(--brand-readable-text)!important;
}

/* Buttons: use team color, but soften the fill and preserve black/white contrast. */
body.team-branded .button.gold,
body.team-branded .weekly-workflow-pill-row .button.gold,
body.team-branded .weekly-workflow-actions .button.gold,
body.team-branded .script-hub-card.primary .button,
body.team-branded .weekly-add-plan-button{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--team-primary, var(--gold)) 72%, rgba(255,255,255,.10)),
      color-mix(in srgb, var(--team-primary, var(--gold)) 64%, rgba(15,17,21,.30)))!important;
  color:var(--team-primary-text, #111)!important;
  border-color:color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 62%, rgba(255,255,255,.20))!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--team-primary, var(--gold)) 14%, transparent), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.team-branded .button.gold:hover,
body.team-branded .weekly-add-plan-button:hover{
  filter:saturate(1.08) brightness(1.06);
  transform:translateY(-1px);
}
body.team-branded .button.ghost,
body.team-branded .button:not(.gold):not(.danger),
body.team-branded .weekly-workflow-pill-row .button:not(.gold),
body.team-branded .weekly-workflow-actions .button:not(.gold){
  border-color:var(--brand-border-soft)!important;
}

/* Stop using team colors as hard-to-read text colors. Use neutral text + team-color structure. */
body.team-branded .page-eyebrow,
body.team-branded .section-title,
body.team-branded .weekly-builder-day-head,
body.team-branded .weekly-side-title,
body.team-branded .weekly-practice-plan-title span,
body.team-branded .weekly-script-section-title,
body.team-branded .script-hub-card strong,
body.team-branded .filter-head-meta,
body.team-branded .filter-check-count,
body.team-branded .week-opponent-badge strong,
body.team-branded .dashboard-stat-card span{
  color:var(--brand-readable-title)!important;
  text-shadow:none!important;
}
body.team-branded .weekly-builder-day-head{
  border-left:4px solid color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 78%, rgba(255,255,255,.18));
  padding-left:12px!important;
}
body.team-branded .weekly-side-title,
body.team-branded .weekly-script-section-title{
  color:var(--brand-readable-text)!important;
}
body.team-branded .weekly-practice-plan-slot{
  border-color:color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 54%, rgba(255,255,255,.14))!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 10%, rgba(255,255,255,.035)),
      rgba(255,255,255,.014))!important;
}
body.team-branded .recent-count,
body.team-branded .counter-num,
body.team-branded .entry-num,
body.team-branded .dashboard-stat-card strong,
body.team-branded .motion-tag,
body.team-branded .script-row b{
  color:color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 72%, #f5f7fb 28%)!important;
}
body.team-branded .muted,
body.team-branded .recent-meta,
body.team-branded .play-meta,
body.team-branded .action-tile-sub,
body.team-branded .weekly-practice-plan-title small,
body.team-branded .empty,
body.team-branded .dashboard-stat-card small{
  color:var(--brand-readable-muted)!important;
}

/* Inputs/selects stay readable but receive a team-tinted edge. */
body.team-branded .input,
body.team-branded select,
body.team-branded textarea{
  background:linear-gradient(180deg,color-mix(in srgb,var(--team-primary, var(--gold)) 5%, #11141b),#0f1219)!important;
  border-color:var(--brand-border-soft)!important;
  color:var(--ink)!important;
}
body.team-branded .input:focus,
body.team-branded select:focus,
body.team-branded textarea:focus{
  outline:2px solid color-mix(in srgb,var(--team-secondary, var(--team-primary, var(--gold))) 42%, transparent)!important;
}

/* PBv1.8.6.11beta: mobile branded header/menu polish + user dropdown team settings.
   Functional behavior is unchanged; this only improves responsive layout and navigation clarity. */
.nav-account{position:relative;}
.nav-account-toggle{
  border:1px solid rgba(212,167,59,.22);
  background:rgba(255,255,255,.025);
  color:var(--gold);
  border-radius:999px;
  padding:8px 11px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  max-width:260px;
}
.nav-account-toggle .nav-user-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:112px;
}
.nav-account-toggle .nav-user-role{
  color:var(--soft);
  font-size:10px;
  letter-spacing:.08em;
  opacity:.92;
  white-space:nowrap;
}
.nav-account-toggle .nav-user-caret{font-size:14px;line-height:1;opacity:.86;}
.nav-account .nav-dropdown-menu{left:auto;right:0;min-width:220px;}
.nav-account .nav-logout{margin:0;width:100%;}
.nav-menu-button{
  width:100%;
  border:0;
  background:transparent;
  color:var(--soft);
  cursor:pointer;
  display:block;
  text-align:left;
  padding:10px 12px;
  border-radius:11px;
  font-family:var(--font-cond);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.nav-menu-button:hover{background:rgba(212,167,59,.09);color:var(--ink);}

body.team-branded .nav-account-toggle{
  color:var(--team-primary-text, #fff)!important;
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.20)!important;
}
body.team-branded .nav-account-toggle .nav-user-role{color:var(--team-primary-text, #fff)!important;opacity:.78;}
body.team-branded .nav-account .nav-dropdown-menu{
  background:linear-gradient(180deg,rgba(18,21,29,.985),rgba(12,14,19,.985))!important;
  border-color:var(--brand-border-soft)!important;
}
body.team-branded .nav-menu-button{color:var(--soft)!important;}
body.team-branded .nav-menu-button:hover{
  color:var(--ink)!important;
  background:linear-gradient(90deg,var(--brand-surface-strong),rgba(255,255,255,.035))!important;
}

@media(max-width:900px){
  /* Give the branded mobile header enough room so the logo, team name, and Program Builder label do not smash together. */
  body.team-branded .topbar{
    min-height:76px!important;
    height:auto!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:10px!important;
    padding:8px 12px!important;
    align-items:center!important;
  }
  body.team-branded .mobile-nav-toggle{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    justify-self:start!important;
  }
  body.team-branded .topbar .brand{
    justify-self:stretch!important;
    justify-content:flex-start!important;
    align-items:center!important;
    min-width:0!important;
    gap:9px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.team-branded .brand-logo{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }
  body.team-branded .brand-wordmark{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:1px!important;
    min-width:0!important;
    line-height:1!important;
  }
  body.team-branded .topbar .brand-primary{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:clamp(20px, 6.2vw, 28px)!important;
    line-height:.95!important;
    letter-spacing:.02em!important;
  }
  body.team-branded .topbar .brand-secondary{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:clamp(10px, 3.2vw, 13px)!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    opacity:.84!important;
  }
  body.team-branded .topbar .nav{
    position:fixed!important;
    top:82px!important;
    left:10px!important;
    right:10px!important;
    max-height:calc(100vh - 96px)!important;
    overflow:auto!important;
    display:none;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px!important;
    background:
      linear-gradient(180deg,rgba(15,17,21,.992),rgba(11,13,18,.992)),
      radial-gradient(circle at top left,color-mix(in srgb,var(--team-primary, var(--gold)) 18%, transparent),transparent 16rem)!important;
    border:1px solid var(--brand-border-soft)!important;
    border-radius:18px!important;
    box-shadow:0 22px 50px rgba(0,0,0,.48)!important;
    z-index:120!important;
  }
  body.team-branded .topbar .nav.is-open{display:grid!important;}
  body.team-branded .topbar .nav a,
  body.team-branded .topbar .nav-dropdown-toggle,
  body.team-branded .topbar .nav-logout button,
  body.team-branded .nav-menu-button,
  body.team-branded .nav-account-toggle{
    width:100%!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:11px 13px!important;
    border-radius:13px!important;
    color:var(--ink)!important;
    background:linear-gradient(90deg,var(--brand-surface),rgba(255,255,255,.025))!important;
    border:1px solid var(--brand-border-soft)!important;
  }
  body.team-branded .nav-dropdown-menu,
  body.team-branded .nav-account .nav-dropdown-menu{
    position:static!important;
    left:auto!important;
    right:auto!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:6px!important;
    border-radius:0 0 13px 13px!important;
    background:rgba(255,255,255,.035)!important;
    box-shadow:none!important;
  }
  body.team-branded .nav-dropdown.is-open .nav-dropdown-toggle,
  body.team-branded .nav-account.is-open .nav-account-toggle{
    border-bottom-left-radius:0!important;
    border-bottom-right-radius:0!important;
    background:linear-gradient(90deg,var(--brand-surface-strong),rgba(255,255,255,.035))!important;
  }
  body.team-branded .nav-submenu-button{
    color:var(--ink)!important;
    background:transparent!important;
    border:0!important;
  }
  .nav-account{width:100%;display:grid!important;grid-template-columns:1fr!important;}
  .nav-account-toggle .nav-user-name{max-width:none;}
  .nav-account-toggle .nav-user-role{margin-left:auto;font-size:11px;}
  .nav-account-toggle .nav-user-caret{margin-left:4px;}
}
@media(max-width:420px){
  body.team-branded .topbar{grid-template-columns:40px minmax(0,1fr)!important;padding:7px 9px!important;}
  body.team-branded .mobile-nav-toggle{width:40px!important;height:40px!important;}
  body.team-branded .brand-logo{width:34px!important;height:34px!important;flex-basis:34px!important;}
  body.team-branded .topbar .brand-primary{font-size:clamp(18px, 6vw, 24px)!important;}
  body.team-branded .topbar .brand-secondary{font-size:clamp(9px, 3vw, 12px)!important;}
}

/* PBv1.8.6.12beta: desktop nav polish, reliable mobile nav population/layout, and cleaner login screen. */
@media (min-width:901px){
  .topbar .nav a,
  .topbar .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    transition:transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
    will-change:transform;
  }
  .topbar .nav a:hover,
  .topbar .nav-dropdown-toggle:hover,
  .topbar .nav-account-toggle:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,.18);
  }
}

.login-shell{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:24px 0;}
.login-card{max-width:620px;text-align:center;padding:28px!important;overflow:hidden;}
.login-brand-banner{
  margin:-28px -28px 24px;
  padding:30px 22px 26px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at top left,rgba(212,167,59,.28),transparent 18rem),
    linear-gradient(135deg,rgba(31,41,55,.96),rgba(11,13,18,.98));
}
.login-brand-banner h1{font-size:clamp(48px,9vw,76px);line-height:.88;margin:0;color:#f7f2e6;}
.login-brand-banner p{max-width:510px;margin:14px auto 0;color:#d6d9df;line-height:1.55;}
.login-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 20px;text-align:left;}
.login-capabilities span{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:14px;padding:11px 12px;color:#e5e7eb;font-weight:800;font-size:13px;}
.login-card .stack-form{text-align:left;max-width:420px;margin:0 auto;}
.login-card .stack-form .button{margin-top:4px;}
.login-secondary-action{text-align:center;margin-top:16px;color:var(--soft);}
.login-secondary-action a{color:var(--gold);font-weight:900;}
@media(max-width:640px){.login-card{padding:20px!important}.login-brand-banner{margin:-20px -20px 20px;padding:24px 16px 20px}.login-capabilities{grid-template-columns:1fr}.login-shell{padding:12px 0}}

@media(max-width:900px){
  .topbar,
  body.team-branded .topbar{
    height:auto!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 12px!important;
  }
  .mobile-nav-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    width:42px!important;
    height:42px!important;
    border:1px solid rgba(212,167,59,.42)!important;
    border-radius:14px!important;
    background:rgba(212,167,59,.10)!important;
    cursor:pointer!important;
  }
  .mobile-nav-toggle span{display:block;width:19px;height:2px;border-radius:99px;background:var(--gold);}
  .topbar .brand,
  body.team-branded .topbar .brand{
    min-width:0!important;
    overflow:hidden!important;
    justify-self:stretch!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:9px!important;
    padding:0!important;
  }
  .brand-logo,
  body.team-branded .brand-logo{width:38px!important;height:38px!important;flex:0 0 38px!important;object-fit:contain!important;}
  .brand-wordmark,
  body.team-branded .brand-wordmark{display:grid!important;min-width:0!important;gap:0!important;line-height:1!important;}
  .topbar .brand-primary,
  body.team-branded .topbar .brand-primary{font-size:clamp(21px,6vw,30px)!important;line-height:.95!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
  .topbar .brand-secondary,
  body.team-branded .topbar .brand-secondary{display:block!important;font-size:clamp(10px,3vw,13px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
  .topbar .nav,
  body.team-branded .topbar .nav{
    grid-column:1 / -1!important;
    position:fixed!important;
    top:82px!important;
    left:10px!important;
    right:10px!important;
    max-height:calc(100vh - 96px)!important;
    overflow:auto!important;
    display:none!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px!important;
    background:linear-gradient(180deg,rgba(15,17,23,.992),rgba(10,12,17,.992))!important;
    border:1px solid var(--line)!important;
    border-radius:18px!important;
    box-shadow:0 22px 52px rgba(0,0,0,.52)!important;
    z-index:1000!important;
  }
  .topbar .nav.is-open,
  body.team-branded .topbar .nav.is-open{display:grid!important;}
  .topbar .nav a,
  .topbar .nav-dropdown-toggle,
  .topbar .nav-account-toggle,
  .topbar .nav-menu-button,
  body.team-branded .topbar .nav a,
  body.team-branded .topbar .nav-dropdown-toggle,
  body.team-branded .topbar .nav-account-toggle,
  body.team-branded .topbar .nav-menu-button{
    width:100%!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:11px 13px!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    color:var(--ink)!important;
  }
  .topbar .nav-dropdown,
  body.team-branded .topbar .nav-dropdown{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:0!important;width:100%!important;position:relative!important;}
  .topbar .nav-submenu-button,
  body.team-branded .topbar .nav-submenu-button{display:inline-flex!important;position:absolute!important;right:6px!important;top:6px!important;width:34px!important;height:32px!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;color:var(--ink)!important;z-index:2!important;}
  .topbar .nav-dropdown-toggle,
  body.team-branded .topbar .nav-dropdown-toggle{padding-right:48px!important;}
  .topbar .nav-dropdown-menu,
  body.team-branded .topbar .nav-dropdown-menu,
  body.team-branded .nav-account .nav-dropdown-menu{
    grid-column:1 / -1!important;
    position:static!important;
    display:none!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:7px!important;
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-top:0!important;
    border-radius:0 0 13px 13px!important;
    box-shadow:none!important;
  }
  .topbar .nav-dropdown.is-open .nav-dropdown-menu,
  body.team-branded .topbar .nav-dropdown.is-open .nav-dropdown-menu{display:grid!important;}
  .topbar .nav-dropdown:hover .nav-dropdown-menu,
  body.team-branded .topbar .nav-dropdown:hover .nav-dropdown-menu{display:none!important;}
  .topbar .nav-dropdown.is-open:hover .nav-dropdown-menu,
  body.team-branded .topbar .nav-dropdown.is-open:hover .nav-dropdown-menu{display:grid!important;}
  .topbar .nav-account-toggle .nav-user-role{margin-left:auto!important;}
}

/* PBv1.8.6.14beta: super-admin team/user management polish */
.admin-users-hub{margin-bottom:18px}.super-context-card{margin-top:16px;border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(255,255,255,.025);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.super-context-card form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-team-user-card{margin-bottom:18px}.admin-team-user-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.admin-team-user-head h2,.admin-team-user-card h2{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.06em;margin:.1rem 0;color:#f1ece1}.team-user-list{display:grid;gap:12px}.team-user-row{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(420px,1.25fr);gap:14px;align-items:start}.user-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:320px}.user-edit-form .button{grid-column:1 / -1}.team-admin-badge{margin-left:8px;color:var(--gold)}.user-management-actions{justify-content:flex-end;align-items:start}.user-management-actions form:not(.user-edit-form){display:flex;gap:6px;align-items:center;flex-wrap:wrap}@media(max-width:900px){.team-user-row{grid-template-columns:1fr}.user-edit-form{grid-template-columns:1fr;min-width:0}.super-context-card,.super-context-card form,.admin-team-user-head{display:grid;width:100%}.user-management-actions{display:grid!important;grid-template-columns:1fr!important}.user-management-actions form{width:100%;display:grid!important}.user-management-actions .compact-select{max-width:none;width:100%}}
.note-attribution{font-size:12px;color:var(--mute);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin:-4px 0 10px}.script-attribution{display:block;color:var(--mute);font-size:12px;margin-top:3px}


/* PBv1.8.6.16beta: profile greeting, super-admin context, mobile header/menu, and nav polish */
.nav-welcome-line{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--soft);font-size:12px;line-height:1.25}.nav-welcome-line strong{display:block;color:var(--ink);font-size:14px;margin-top:2px}.supreme-admin-card{margin:16px 0;border:1px solid rgba(212,167,59,.45);border-radius:18px;padding:16px;background:linear-gradient(135deg,rgba(212,167,59,.12),rgba(255,255,255,.025));display:flex;justify-content:space-between;gap:16px;align-items:center}.supreme-admin-card h2{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px;color:#f5ead0}.add-script-hero-button{font-size:15px!important;padding:16px 24px!important;border-radius:16px!important;box-shadow:0 14px 30px rgba(0,0,0,.26);min-width:190px}.add-script-hero-button:hover{transform:translateY(-2px)}
@media (min-width:901px){.topbar .nav>a,.topbar .nav-dropdown>.nav-dropdown-toggle,.topbar .nav-account-toggle{border:1px solid transparent;border-radius:12px;padding:9px 11px;background:transparent;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.topbar .nav>a:hover,.topbar .nav-dropdown:hover>.nav-dropdown-toggle,.topbar .nav-dropdown.is-open>.nav-dropdown-toggle,.topbar .nav-account:hover>.nav-account-toggle,.topbar .nav-account.is-open>.nav-account-toggle{transform:translateY(-2px);background:rgba(212,167,59,.105);border-color:rgba(212,167,59,.32);color:var(--gold);box-shadow:0 10px 22px rgba(0,0,0,.22)}body.team-branded .topbar .nav>a:hover,body.team-branded .topbar .nav-dropdown:hover>.nav-dropdown-toggle,body.team-branded .topbar .nav-dropdown.is-open>.nav-dropdown-toggle,body.team-branded .topbar .nav-account:hover>.nav-account-toggle,body.team-branded .topbar .nav-account.is-open>.nav-account-toggle{background:color-mix(in srgb,var(--team-primary, var(--gold)) 16%, transparent);border-color:color-mix(in srgb,var(--team-secondary, var(--gold)) 48%, transparent);color:#fff}}
@media(max-width:900px){.topbar,.topbar.team-branded,body.team-branded .topbar{min-height:76px!important;grid-template-columns:44px minmax(0,1fr)!important}.topbar .brand,body.team-branded .topbar .brand{width:100%!important;max-width:100%!important;align-items:center!important}.topbar .brand-primary,body.team-branded .topbar .brand-primary{display:block!important;color:var(--team-primary-text, var(--gold))!important;max-width:calc(100vw - 118px)!important;font-size:clamp(20px,5.8vw,28px)!important;line-height:.95!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.topbar .brand-secondary,body.team-branded .topbar .brand-secondary{display:block!important;max-width:calc(100vw - 118px)!important;font-size:clamp(10px,3vw,13px)!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.topbar .nav-account-toggle,body.team-branded .topbar .nav-account-toggle{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:4px!important}.topbar .nav-account-toggle .nav-user-name{grid-column:1 / 2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .nav-account-toggle .nav-user-role{grid-column:1 / 2;margin-left:0!important;width:100%;font-size:11px;opacity:.76}.topbar .nav-account-toggle .nav-user-caret{grid-column:2 / 3;grid-row:1 / span 2;margin-left:8px}.nav-welcome-line{background:rgba(255,255,255,.04);border-radius:11px;margin-bottom:4px}.supreme-admin-card{display:grid}}


/* PBv1.8.6.20beta: dashboard login welcome animation refinement */
.dashboard-welcome-intro{
  position:relative;
  margin:0 0 8px;
  padding:18px 8px 14px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  text-align:center;
  pointer-events:none;
  animation:dashboardWelcomeFade 3.55s cubic-bezier(.2,.82,.22,1) forwards;
}
.dashboard-welcome-intro:after{content:none}
.dashboard-welcome-kicker{
  position:relative;
  z-index:1;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--team-secondary, var(--gold)) 76%, rgba(255,255,255,.84));
  text-align:center;
  margin-bottom:7px;
  text-shadow:0 2px 12px rgba(0,0,0,.3);
  animation:dashboardWelcomeKicker 3.15s cubic-bezier(.2,.82,.22,1) forwards;
}
.dashboard-welcome-title{
  position:relative;
  z-index:1;
  font-family:var(--font-cond);
  font-size:clamp(34px,5.8vw,72px);
  font-weight:900;
  line-height:.96;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-align:center;
  color:#fff;
  text-shadow:
    0 3px 18px rgba(0,0,0,.52),
    0 0 24px color-mix(in srgb,var(--team-primary, var(--gold)) 26%, transparent);
  animation:dashboardWelcomeText 3.15s cubic-bezier(.2,.82,.22,1) forwards;
}
.dashboard-content-shell{
  transition:transform .8s ease, opacity .8s ease;
}
.dashboard-content-shell-intro{
  opacity:.72;
  transform:translateY(24px);
  animation:dashboardContentSlide 2.2s cubic-bezier(.16,.84,.24,1) .72s forwards;
}
@keyframes dashboardWelcomeFade{
  0%{opacity:0;transform:translateY(-12px);max-height:142px;margin-bottom:8px;padding-top:18px;padding-bottom:14px}
  20%{opacity:1;transform:translateY(0);max-height:142px;margin-bottom:8px;padding-top:18px;padding-bottom:14px}
  50%{opacity:1;transform:translateY(0);max-height:142px;margin-bottom:8px;padding-top:18px;padding-bottom:14px}
  80%{opacity:0;transform:translateY(-6px);max-height:142px;margin-bottom:5px;padding-top:14px;padding-bottom:10px}
  100%{opacity:0;transform:translateY(-8px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}
}
@keyframes dashboardWelcomeKicker{
  0%{opacity:0;transform:translateY(8px)}
  20%{opacity:1;transform:translateY(0)}
  54%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-7px)}
}
@keyframes dashboardWelcomeText{
  0%{opacity:0;transform:translateY(10px) scale(.992)}
  22%{opacity:1;transform:translateY(0) scale(1)}
  54%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-8px) scale(.995)}
}
@keyframes dashboardContentSlide{
  0%{opacity:.72;transform:translateY(24px)}
  100%{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  .dashboard-welcome-intro,.dashboard-welcome-kicker,.dashboard-welcome-title,.dashboard-content-shell-intro{animation:none!important}
  .dashboard-welcome-intro{opacity:1;max-height:none}
  .dashboard-content-shell-intro{opacity:1;transform:none}
}
@media(max-width:700px){
  .dashboard-welcome-intro{padding:14px 4px 10px}
  .dashboard-welcome-title{font-size:clamp(30px,9.6vw,46px);letter-spacing:.018em;line-height:.98}
}

/* PBv1.8.6.20beta: smoother dashboard welcome animation */
.dashboard-welcome-intro{
  margin:0 0 10px!important;
  padding:14px 8px 12px!important;
  animation:dashboardWelcomeFadeSmooth 3.75s cubic-bezier(.18,.78,.18,1) forwards!important;
  will-change:opacity,transform,max-height,margin,padding;
}
.dashboard-welcome-kicker{
  margin-bottom:6px!important;
  animation:dashboardWelcomeKickerSmooth 3.35s cubic-bezier(.18,.78,.18,1) forwards!important;
}
.dashboard-welcome-title{
  font-size:clamp(30px,4.7vw,58px)!important;
  letter-spacing:.026em!important;
  animation:dashboardWelcomeTextSmooth 3.35s cubic-bezier(.18,.78,.18,1) forwards!important;
}
.dashboard-content-shell-intro{
  opacity:.88!important;
  transform:translateY(18px)!important;
  animation:dashboardContentSlideSmooth 3.15s cubic-bezier(.16,.9,.18,1) .35s forwards!important;
  will-change:opacity,transform;
}
@keyframes dashboardWelcomeFadeSmooth{
  0%{opacity:0;transform:translateY(-10px);max-height:112px;margin-bottom:10px;padding-top:14px;padding-bottom:12px}
  18%{opacity:1;transform:translateY(0);max-height:112px;margin-bottom:10px;padding-top:14px;padding-bottom:12px}
  44%{opacity:1;transform:translateY(0);max-height:112px;margin-bottom:10px;padding-top:14px;padding-bottom:12px}
  72%{opacity:.18;transform:translateY(-5px);max-height:88px;margin-bottom:6px;padding-top:10px;padding-bottom:8px}
  100%{opacity:0;transform:translateY(-8px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}
}
@keyframes dashboardWelcomeKickerSmooth{
  0%{opacity:0;transform:translateY(7px)}
  20%{opacity:1;transform:translateY(0)}
  45%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-8px)}
}
@keyframes dashboardWelcomeTextSmooth{
  0%{opacity:0;transform:translateY(9px) scale(.994)}
  22%{opacity:1;transform:translateY(0) scale(1)}
  46%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-9px) scale(.996)}
}
@keyframes dashboardContentSlideSmooth{
  0%{opacity:.88;transform:translateY(18px)}
  42%{opacity:.94;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}
@media(max-width:700px){
  .dashboard-welcome-intro{padding:12px 4px 9px!important}
  .dashboard-welcome-title{font-size:clamp(27px,8.2vw,40px)!important;letter-spacing:.016em!important;line-height:1!important}
}


/* PBv1.8.7.2beta: dashboard login greeting now swaps into the dashboard hero instead of sliding the full dashboard upward */
.dashboard-hero-stage{
  position:relative;
}
.dashboard-hero-stage-intro{
  display:grid;
  margin:0;
}
.dashboard-hero-stage-intro .dashboard-welcome-intro,
.dashboard-hero-stage-intro .dashboard-hero-after-welcome{
  grid-area:1 / 1;
}
.dashboard-hero-stage-intro .dashboard-welcome-intro{
  position:relative!important;
  inset:auto!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:18px 8px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:2!important;
  animation:dashboardGreetingSwapFade 3.65s cubic-bezier(.18,.78,.18,1) forwards!important;
  will-change:opacity,transform;
}
.dashboard-hero-stage-intro .dashboard-welcome-kicker{
  animation:dashboardGreetingSwapKicker 3.35s cubic-bezier(.18,.78,.18,1) forwards!important;
}
.dashboard-hero-stage-intro .dashboard-welcome-title{
  animation:dashboardGreetingSwapText 3.35s cubic-bezier(.18,.78,.18,1) forwards!important;
}
.dashboard-hero-after-welcome{
  position:relative;
  opacity:0;
  z-index:1;
  animation:dashboardHeroSwapIn .95s cubic-bezier(.18,.78,.18,1) 2.72s forwards;
  will-change:opacity,transform;
}
.dashboard-hero-after-welcome .dashboard-hero{
  height:100%;
  margin:0;
}
@keyframes dashboardGreetingSwapFade{
  0%{opacity:0;transform:translateY(-8px)}
  18%{opacity:1;transform:translateY(0)}
  48%{opacity:1;transform:translateY(0)}
  74%{opacity:.10;transform:translateY(-5px)}
  100%{opacity:0;transform:translateY(-8px)}
}
@keyframes dashboardGreetingSwapKicker{
  0%{opacity:0;transform:translateY(7px)}
  20%{opacity:1;transform:translateY(0)}
  47%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-7px)}
}
@keyframes dashboardGreetingSwapText{
  0%{opacity:0;transform:translateY(9px) scale(.994)}
  22%{opacity:1;transform:translateY(0) scale(1)}
  48%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-8px) scale(.996)}
}
@keyframes dashboardHeroSwapIn{
  0%{opacity:0;transform:translateY(3px)}
  100%{opacity:1;transform:translateY(0)}
}
@media(max-width:700px){
  .dashboard-hero-stage-intro .dashboard-welcome-intro{padding:12px 4px 9px!important}
}
@media (prefers-reduced-motion: reduce){
  .dashboard-hero-stage-intro{display:block}
  .dashboard-hero-stage-intro .dashboard-welcome-intro{display:none!important}
  .dashboard-hero-after-welcome{position:static;opacity:1;animation:none;transform:none}
}


/* PBv1.8.7.3beta: mobile account menu should fill the slide-out menu width. */
@media(max-width:900px){
  .topbar .nav .nav-account,
  body.team-branded .topbar .nav .nav-account{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-self:stretch!important;
    align-self:stretch!important;
  }
  .topbar .nav .nav-account-toggle,
  body.team-branded .topbar .nav .nav-account-toggle{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    justify-content:stretch!important;
  }
  .topbar .nav .nav-account-toggle .nav-user-name,
  body.team-branded .topbar .nav .nav-account-toggle .nav-user-name{
    max-width:none!important;
    min-width:0!important;
    width:100%!important;
    grid-column:1 / 2!important;
  }
  .topbar .nav .nav-account-toggle .nav-user-role,
  body.team-branded .topbar .nav .nav-account-toggle .nav-user-role{
    grid-column:1 / 2!important;
    margin-left:0!important;
    width:100%!important;
  }
  .topbar .nav .nav-account-toggle .nav-user-caret,
  body.team-branded .topbar .nav .nav-account-toggle .nav-user-caret{
    grid-column:2 / 3!important;
    grid-row:1 / span 2!important;
    justify-self:end!important;
    margin-left:10px!important;
  }
}

/* PBv1.8.7.13beta: readable native dropdowns, preseason/week jump tools, dashboard preview, and game-day cards. */
select.input,
.input select,
select{
  background-color:#0f141d!important;
  color:#f4efe6!important;
  border-color:rgba(212,167,59,.42)!important;
  color-scheme:dark;
}
select.input option,
select option,
datalist option{
  background-color:#0f141d!important;
  color:#f4efe6!important;
}
select.input option:checked,
select.input option:hover,
select option:checked,
select option:hover{
  background-color:#d4a73b!important;
  color:#101318!important;
}
body.team-branded select.input,
body.team-branded select,
.nav-account-menu select,
.nav-account select{
  background-color:#0f141d!important;
  color:#f4efe6!important;
  border-color:rgba(255,255,255,.28)!important;
}
body.team-branded select.input option,
body.team-branded select option,
.nav-account-menu select option,
.nav-account select option{
  background-color:#0f141d!important;
  color:#f4efe6!important;
}
.form-hint{display:block;color:var(--mute);font-size:11px;line-height:1.35;margin-top:4px;text-transform:none;letter-spacing:0;font-weight:600}.week-jump-form{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:minmax(220px,320px) auto minmax(220px,1fr);gap:12px;align-items:end}.week-jump-form label{display:grid;gap:6px;color:var(--soft);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.weekly-game-day-card{border:1px solid rgba(212,167,59,.52);border-radius:18px;background:linear-gradient(135deg,rgba(212,167,59,.16),rgba(255,255,255,.035));padding:16px;margin-bottom:14px;box-shadow:0 16px 34px rgba(0,0,0,.22)}.game-day-kicker{font-family:var(--font-display);font-size:34px;letter-spacing:.08em;color:var(--gold);line-height:.95}.weekly-game-day-card h3{margin:8px 0 6px;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:#fff;font-size:22px}.game-day-note{border-top:1px solid rgba(255,255,255,.12);padding-top:10px;margin-top:10px;color:var(--soft)}.game-day-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.button.tiny{padding:6px 9px;font-size:10px;border-radius:10px}.current-week-preview-upgraded{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:22px;align-items:start}.current-week-game-line{display:grid;gap:4px;margin-top:12px;border:1px solid rgba(212,167,59,.28);border-radius:14px;background:rgba(212,167,59,.08);padding:12px}.current-week-game-line strong{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.current-week-game-line span{color:var(--soft)}.current-week-dashboard-snapshot{display:grid;gap:12px}.today-snapshot-card{border:1px solid rgba(212,167,59,.45);border-radius:18px;background:rgba(0,0,0,.18);padding:14px}.today-snapshot-card span{display:block;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:13px}.today-snapshot-card strong{display:block;margin-top:5px;color:#fff;font-size:18px}.today-snapshot-card small{display:block;color:var(--mute);margin-top:5px}.week-at-a-glance-list{display:grid;gap:7px}.week-glance-row{display:flex;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.025);padding:8px 10px}.week-glance-row b{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:#fff}.week-glance-row span{color:var(--mute);font-size:12px}.week-glance-row.is-today{border-color:rgba(212,167,59,.48);background:rgba(212,167,59,.08)}.week-glance-row.is-game-day span{color:var(--gold);font-weight:900}.current-week-open-button{width:100%}@media(max-width:900px){.week-jump-form,.current-week-preview-upgraded{grid-template-columns:1fr}.game-day-actions{display:grid}.weekly-game-day-card{padding:13px}.game-day-kicker{font-size:28px}}

/* PBv1.8.7.13beta: dashboard mini week cards, stricter planner nav, readable selects, settings alignment. */
select.input,
.input select,
select {
  color: var(--text, #f6f1e8);
  background-color: #11141b;
}
select.input option,
.input select option,
select option {
  color: #11141b;
  background-color: #ffffff;
}
select.input option:checked,
select.input option:hover,
.input select option:checked,
.input select option:hover,
select option:checked,
select option:hover {
  color: #11141b;
  background-color: #f1d58a;
}
.team-settings-form { align-items: end; }
.team-settings-form label { align-self: end; }
.team-settings-form .form-hint { min-height: 15px; }
.current-week-preview-compact { display: grid; grid-template-columns: 1fr; gap: 16px; }
.current-week-preview-topline { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.current-week-preview-topline .current-week-main-copy { min-width: 0; }
.current-week-preview-topline .current-week-open-button { width: auto; flex: 0 0 auto; margin-top: 2px; }
.dashboard-mini-week-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.dashboard-mini-day-card { display: grid; gap: 6px; min-height: 116px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 12px; background: rgba(255,255,255,.026); color: var(--text); text-decoration: none; box-shadow: 0 12px 24px rgba(0,0,0,.16); transition: transform .12s ease, border-color .12s ease, background .12s ease; }
.dashboard-mini-day-card:hover { transform: translateY(-2px); border-color: rgba(212,167,59,.55); background: rgba(212,167,59,.07); }
.dashboard-mini-day-card span { font-family: var(--font-cond); text-transform: uppercase; letter-spacing: .08em; color: var(--gold); font-size: 12px; }
.dashboard-mini-day-card strong { color: #fff; font-size: 14px; line-height: 1.12; }
.dashboard-mini-day-card small { color: var(--mute); line-height: 1.25; }
.dashboard-mini-day-card.is-today { border-color: rgba(212,167,59,.72); background: rgba(212,167,59,.10); }
.dashboard-mini-day-card.is-game-day { border-color: rgba(212,167,59,.8); background: linear-gradient(135deg, rgba(212,167,59,.18), rgba(255,255,255,.035)); }
.dashboard-mini-day-card.is-game-day strong { color: var(--gold); font-family: var(--font-display); letter-spacing: .04em; }
.offseason-calendar-jump { background: rgba(255,255,255,.025); border-radius: 16px; padding: 12px; }
@media(max-width:1000px){ .dashboard-mini-week-grid{grid-template-columns: repeat(2, minmax(0,1fr));} .current-week-preview-topline{display:grid;} .current-week-preview-topline .current-week-open-button{width:100%;} }
@media(max-width:640px){ .dashboard-mini-week-grid{grid-template-columns: 1fr;} .dashboard-mini-day-card{min-height:auto;} }

/* PBv1.8.7.13beta fixes: dropdown readability, offseason jump, settings alignment, game-day/off-day layout. */
select.input,
.input select,
select {
  background-color: #0f141d !important;
  color: #f4efe6 !important;
  border-color: rgba(212,167,59,.48) !important;
  color-scheme: dark;
}
select.input option,
.input select option,
select option,
datalist option {
  background: #0f141d !important;
  background-color: #0f141d !important;
  color: #f4efe6 !important;
}
select.input option:checked,
select.input option:hover,
.input select option:checked,
.input select option:hover,
select option:checked,
select option:hover {
  background: #d4a73b !important;
  background-color: #d4a73b !important;
  color: #101318 !important;
}
.team-settings-form {
  display: grid;
  grid-template-columns: minmax(220px,1fr) minmax(260px,1.2fr) minmax(170px,.6fr) minmax(220px,.9fr);
  grid-auto-flow: row;
  gap: 12px;
  align-items: start !important;
}
.team-settings-form label {
  align-self: start !important;
  display: grid;
  grid-template-rows: 22px 60px auto;
  gap: 0;
  min-height: 92px;
}
.team-settings-form .input {
  min-height: 60px;
  align-self: start;
}
.team-settings-form .form-hint {
  min-height: 18px;
  margin-top: 4px;
}
.team-settings-form > .button {
  grid-column: 1 / 2;
  align-self: start;
}
.upgraded-offseason-jump {
  border: 1px solid rgba(212,167,59,.38);
  background: linear-gradient(135deg, rgba(212,167,59,.10), rgba(255,255,255,.025));
  padding: 16px;
  grid-template-columns: minmax(260px, 380px) auto minmax(260px, 1fr) !important;
}
.offseason-date-label { font-size: 14px !important; color: var(--gold) !important; }
.offseason-date-input { min-height: 56px; font-weight: 900; }
.offseason-date-button { min-height: 56px; padding-inline: 20px; }
.weekly-day-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 12px;
  align-items: stretch;
}
.weekly-planner-day-column {
  min-width: 0;
}
.weekly-day-board:has(.is-game-day-column:nth-child(6)) {
  grid-template-columns: repeat(6, minmax(150px, 1fr));
}
.full-day-game-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-width: 2px;
}
.full-day-game-card .game-day-kicker {
  font-size: clamp(28px, 3.2vw, 52px);
}
.full-day-game-card h3 {
  font-size: clamp(20px, 2vw, 34px);
}
.full-day-game-card .game-day-actions {
  margin-top: 18px;
}
.weekly-off-day-card {
  min-height: 220px;
  display: grid;
  place-items: center;
  text-align: center;
  gap: 8px;
  border: 1px dashed rgba(212,167,59,.5);
  border-radius: 18px;
  background: rgba(212,167,59,.055);
  padding: 18px;
}
.weekly-off-day-card strong {
  font-family: var(--font-display);
  color: var(--gold);
  font-size: 34px;
  letter-spacing: .08em;
}
.weekly-off-day-card span { color: var(--mute); }
.normal-day-off-toggle { margin-top: 10px; display: flex; justify-content: flex-end; }
.off-day-button { border-color: rgba(212,167,59,.45); color: var(--soft); }
.weekly-script-nav-card .weekly-day-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}
.weekly-script-nav-card .weekly-day-card {
  min-width: 0;
  padding: 14px;
}
.weekly-script-nav-card .weekly-script-link {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.current-week-preview-topline {
  align-items: flex-start;
}
.current-week-open-button {
  min-width: 190px;
}
@media(max-width:1200px){
  .weekly-day-board:has(.is-game-day-column:nth-child(6)), .weekly-day-board{grid-template-columns: repeat(3, minmax(0,1fr));}
  .weekly-script-nav-card .weekly-day-grid{grid-template-columns: repeat(4, minmax(0,1fr));}
}
@media(max-width:900px){
  .team-settings-form{grid-template-columns:1fr;}
  .team-settings-form label{grid-template-rows:auto auto auto; min-height:0;}
  .upgraded-offseason-jump{grid-template-columns:1fr!important;}
  .weekly-day-board:has(.is-game-day-column:nth-child(6)), .weekly-day-board{grid-template-columns:1fr;}
  .weekly-script-nav-card .weekly-day-grid{grid-template-columns:1fr;}
}

/* PBv1.8.7.13beta: offseason picker visibility, game-day fit, lift/off-day status, and scroll-stable planner polish. */
.visible-calendar-button,
.offseason-date-button.visible-calendar-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:190px!important;
  background:linear-gradient(135deg,#d4a73b,#f1cd62)!important;
  color:#101318!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 14px 28px rgba(212,167,59,.22)!important;
}
.calendar-button-icon{font-size:18px;line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35));}
.offseason-date-input{color-scheme:dark;position:relative;}
.offseason-date-input::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.5) sepia(1) saturate(1.8) hue-rotate(350deg);opacity:1;cursor:pointer;width:22px;height:22px;}
.weekly-game-day-card.full-day-game-card{min-height:0!important;justify-content:flex-start!important;overflow:hidden;}
.full-day-game-card .game-day-kicker{font-size:clamp(26px,2.9vw,44px)!important;line-height:.95;word-break:normal;}
.full-day-game-card h3{max-width:100%;overflow-wrap:anywhere;word-break:normal;font-size:clamp(17px,1.45vw,28px)!important;line-height:1.08!important;letter-spacing:.06em!important;}
.full-day-game-card .game-day-meta{font-size:13px;line-height:1.25;}
.weekly-day-board{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
@media(min-width:1180px){.weekly-day-board{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}.weekly-day-board:has(.weekly-planner-day-column:nth-child(6)){grid-template-columns:repeat(6,minmax(140px,1fr));}.weekly-day-board:has(.weekly-planner-day-column:nth-child(7)){grid-template-columns:repeat(7,minmax(125px,1fr));}.weekly-builder-day-column{padding-inline:14px!important;}}
.remove-weekend-button{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.055)!important;color:var(--soft)!important;}
.normal-day-status-toggle-row,.day-status-action-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;}
.day-status-action-row{justify-content:center;}
.lift-day-button{border-color:rgba(212,167,59,.55)!important;color:var(--gold)!important;}
.weekly-lift-day-card{border-style:solid;background:linear-gradient(135deg,rgba(212,167,59,.12),rgba(255,255,255,.035));}
.weekly-lift-day-card strong{font-size:32px;color:#f1cd62;}
.dashboard-mini-day-card.is-off-day{border-style:dashed;background:rgba(255,255,255,.018);}
.dashboard-mini-day-card.is-off-day strong{color:var(--mute);font-family:var(--font-cond);letter-spacing:.08em;}
.dashboard-mini-day-card.is-lift-day{border-color:rgba(212,167,59,.55);background:rgba(212,167,59,.07);}
.dashboard-mini-day-card.is-lift-day strong{color:var(--gold);font-family:var(--font-cond);letter-spacing:.08em;}
.team-settings-form label:has(input[name="preseason_camp_start_date"]){align-self:start!important;}
.team-settings-form label:has(input[name="preseason_camp_start_date"]) .input{margin-top:0!important;}
@media(max-width:900px){.visible-calendar-button,.offseason-date-button.visible-calendar-button{width:100%;}.normal-day-status-toggle-row{justify-content:flex-start;}}

/* PBv1.8.7.13beta: planner polish, no-bounce support, offseason/team interaction, and equal card sizing. */
.offseason-jump-details{margin-top:14px;border:1px solid rgba(212,167,59,.30);border-radius:16px;background:rgba(255,255,255,.025);padding:0;overflow:hidden;}
.offseason-jump-details > summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 16px;cursor:pointer;color:var(--gold);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;}
.offseason-jump-details > summary small{font-family:var(--font-sans);letter-spacing:0;text-transform:none;color:var(--mute);}
.offseason-jump-details[open] > summary{border-bottom:1px solid rgba(255,255,255,.10);}
.offseason-jump-details .week-jump-form{margin:0;border-top:0;}
.visible-calendar-button,.offseason-date-button.visible-calendar-button{background:linear-gradient(135deg,#d4a73b,#f4d575)!important;color:#101318!important;text-shadow:none!important;box-shadow:0 14px 30px rgba(212,167,59,.28)!important;}
.offseason-date-input{background:#10141d!important;color:#f4efe6!important;border:1px solid rgba(212,167,59,.55)!important;}
.weekly-day-board{align-items:stretch!important;}
.weekly-builder-day-column.weekly-planner-day-column{display:flex!important;flex-direction:column!important;min-height:100%!important;}
.weekly-game-day-card.full-day-game-card{flex:1 1 auto!important;min-height:420px!important;height:100%!important;justify-content:space-between!important;padding:16px!important;}
.weekly-practice-plan-slot,.weekly-builder-day-scripts,.add-day-script-details,.normal-day-status-toggle-row{flex:0 0 auto;}
.weekly-game-day-card.full-day-game-card .game-day-actions{margin-top:auto!important;}
.game-day-meta,.game-day-note{overflow-wrap:anywhere;}
.normal-day-status-toggle-row,.day-status-action-row{justify-content:center!important;text-align:center!important;width:100%;}
.normal-day-status-toggle-row form,.day-status-action-row form{display:inline-flex!important;align-items:center!important;margin:0!important;}
.normal-day-status-toggle-row .button,.day-status-action-row .button{align-self:center!important;}
.lift-day-button,.off-day-button{position:static!important;transform:none!important;margin:0!important;}
.team-interaction-mini-row{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px;text-align:center;}
.team-interaction-label{display:inline-flex;border:1px solid rgba(212,167,59,.35);border-radius:999px;padding:5px 9px;color:var(--gold);background:rgba(212,167,59,.08);font-size:11px;font-weight:900;}
.team-interaction-button{border-color:rgba(212,167,59,.45)!important;color:var(--soft)!important;}
.script-context-lock-note{border:1px solid rgba(212,167,59,.35);border-radius:14px;background:rgba(212,167,59,.08);padding:10px 12px;color:var(--gold);font-weight:900;text-align:center;}
[data-script-context-fields].is-context-locked{opacity:.72;}
[data-script-context-fields].is-context-locked label{pointer-events:none;}
.dashboard-mini-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
.dashboard-mini-day-card{min-height:120px;}
@media(max-width:1200px){.dashboard-mini-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}.weekly-game-day-card.full-day-game-card{min-height:320px!important;}}
@media(max-width:760px){.dashboard-mini-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.weekly-game-day-card.full-day-game-card{min-height:260px!important;}}
@media(max-width:520px){.dashboard-mini-week-grid{grid-template-columns:1fr!important;}}

/* PBv1.8.7.15beta: dashboard week navigation, super-admin footer pages, game-day buttons, and offseason lift defaults. */
.site-footer a{color:var(--gold);font-weight:900;text-decoration:none;white-space:nowrap}.site-footer a:hover{text-decoration:underline}.about-us-card{display:grid;gap:12px;line-height:1.6;font-size:15px}.about-company-hero h1{max-width:900px}.planner-lift-settings{grid-column:1 / -1;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.025);padding:12px;display:grid;gap:10px}.planner-lift-settings .form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lift-day-checkbox-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lift-day-checkbox{border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.14);padding:8px 10px!important;display:flex!important;align-items:center!important;gap:6px!important;color:var(--soft)!important;font-size:12px!important;letter-spacing:.04em!important;text-transform:uppercase!important}.lift-day-checkbox input{accent-color:var(--gold)}
.dashboard-week-nav-actions{display:grid;grid-template-columns:auto minmax(170px,1fr) auto;gap:8px;align-items:center;min-width:420px}.dashboard-week-nav-actions .button{white-space:nowrap;text-align:center}.dashboard-week-step{padding-inline:14px}.current-week-preview-topline{align-items:start}.current-week-main-copy h2{text-wrap:balance}.weekly-game-day-card.full-day-game-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:10px!important;min-height:100%!important;height:100%!important}.weekly-game-day-card.full-day-game-card h3{max-width:100%;overflow-wrap:anywhere;word-break:normal;line-height:1.05}.weekly-game-day-card.full-day-game-card .game-day-meta{max-width:100%;line-height:1.35}.weekly-game-day-card.full-day-game-card .game-day-actions{margin-top:10px!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;width:100%!important}.weekly-game-day-card.full-day-game-card .game-day-actions form{display:flex;justify-content:center;margin:0}.game-day-action-button{min-width:160px;padding:12px 16px!important;border-radius:14px!important;font-size:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.weekly-off-day-card .day-status-action-row{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important}.weekly-off-day-card .day-status-action-row form{display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important}.weekly-off-day-card .day-status-action-row .button{align-self:center!important}.team-interaction-mini-row{justify-content:center!important;text-align:center!important}
@media(max-width:900px){.dashboard-week-nav-actions{min-width:0;width:100%;grid-template-columns:1fr}.dashboard-week-step{display:none!important}.current-week-preview-topline{text-align:center}.current-week-main-copy{text-align:center}.current-week-main-copy h2,.current-week-main-copy p{text-align:center}.planner-lift-settings .form-grid-2{grid-template-columns:1fr}.lift-day-checkbox-row{justify-content:center}.weekly-game-day-card.full-day-game-card .game-day-actions{display:grid!important;grid-template-columns:1fr;width:100%}.game-day-action-button{width:100%;min-width:0}.current-week-preview-card .current-week-main-copy h2{text-align:center;margin-left:auto;margin-right:auto}.current-week-game-line{text-align:center}}

/* PBv1.8.7.15beta: smooth login entrance and mobile dashboard swipe polish. */
.pb-login-entering{scroll-behavior:auto!important;}
.pb-login-entering body{overflow-x:hidden;}
.dashboard-login-enter{animation:pbDashboardEnter .46s cubic-bezier(.2,.72,.18,1) both;will-change:opacity,transform;}
.dashboard-hero-stage-intro{animation:pbDashboardEnter .42s cubic-bezier(.2,.72,.18,1) both;}
@keyframes pbDashboardEnter{from{opacity:0;transform:translateY(14px) scale(.992);}to{opacity:1;transform:translateY(0) scale(1);}}
.current-week-preview-card{position:relative;overflow:hidden;touch-action:pan-y;}
.current-week-preview-card.pb-week-swipe-out-left{animation:pbWeekSwipeOutLeft .22s ease-in both;}
.current-week-preview-card.pb-week-swipe-out-right{animation:pbWeekSwipeOutRight .22s ease-in both;}
.current-week-preview-card.pb-week-swipe-in-left{animation:pbWeekSwipeInLeft .34s cubic-bezier(.2,.72,.18,1) both;}
.current-week-preview-card.pb-week-swipe-in-right{animation:pbWeekSwipeInRight .34s cubic-bezier(.2,.72,.18,1) both;}
@keyframes pbWeekSwipeOutLeft{from{opacity:1;transform:translateX(0);}to{opacity:.18;transform:translateX(-32px);}}
@keyframes pbWeekSwipeOutRight{from{opacity:1;transform:translateX(0);}to{opacity:.18;transform:translateX(32px);}}
@keyframes pbWeekSwipeInLeft{from{opacity:.15;transform:translateX(34px);}to{opacity:1;transform:translateX(0);}}
@keyframes pbWeekSwipeInRight{from{opacity:.15;transform:translateX(-34px);}to{opacity:1;transform:translateX(0);}}
@media (prefers-reduced-motion: reduce){.dashboard-login-enter,.dashboard-hero-stage-intro,.current-week-preview-card.pb-week-swipe-out-left,.current-week-preview-card.pb-week-swipe-out-right,.current-week-preview-card.pb-week-swipe-in-left,.current-week-preview-card.pb-week-swipe-in-right{animation:none!important;}}

/* PBv1.8.7.16.4beta: focused smooth login transition and no-reload dashboard week swipe. */
html.pb-login-leaving body{overflow:hidden;}
html.pb-login-leaving .login-card{animation:pbLoginCardExit .34s cubic-bezier(.22,.72,.18,1) both;}
html.pb-login-leaving .login-shell::after{content:'Entering Program Builder...';position:fixed;left:50%;bottom:28px;transform:translateX(-50%);border:1px solid rgba(212,167,59,.38);border-radius:999px;background:rgba(12,16,24,.86);backdrop-filter:blur(10px);color:var(--gold);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;padding:10px 14px;box-shadow:0 18px 38px rgba(0,0,0,.32);animation:pbLoginLoadingIn .28s ease both;z-index:40;}
@keyframes pbLoginCardExit{from{opacity:1;transform:translateY(0) scale(1);filter:none;}to{opacity:0;transform:translateY(-16px) scale(.985);filter:blur(1px);}}
@keyframes pbLoginLoadingIn{from{opacity:0;transform:translate(-50%,10px);}to{opacity:1;transform:translate(-50%,0);}}
html.pb-login-entering{scroll-behavior:auto!important;overflow-anchor:none!important;}
html.pb-login-entering body{opacity:0;overflow-x:hidden;}
html.pb-login-entering.pb-login-enter-ready body{opacity:1;transition:opacity .38s cubic-bezier(.22,.72,.18,1);}
.dashboard-hero-stage-intro,.dashboard-login-enter{will-change:opacity,transform;}
.current-week-preview-card{will-change:transform,opacity;backface-visibility:hidden;}
.current-week-preview-card.is-dragging{box-shadow:0 22px 50px rgba(0,0,0,.26);}
.current-week-preview-card.pb-week-loading{pointer-events:none;}
.pb-week-swap-stage{position:relative!important;overflow:hidden!important;}
.pb-week-swap-stage > .current-week-preview-card{margin:0!important;}
.current-week-preview-card.pb-week-current-out-left{animation:pbWeekFullOutLeft .54s cubic-bezier(.32,.02,.18,1) both;}
.current-week-preview-card.pb-week-current-out-right{animation:pbWeekFullOutRight .54s cubic-bezier(.32,.02,.18,1) both;}
.current-week-preview-card.pb-week-new-in-left{animation:pbWeekFullInLeft .54s cubic-bezier(.16,.88,.18,1) both;}
.current-week-preview-card.pb-week-new-in-right{animation:pbWeekFullInRight .54s cubic-bezier(.16,.88,.18,1) both;}
@keyframes pbWeekFullOutLeft{from{opacity:1;transform:translate3d(0,0,0) scale(1);}to{opacity:.35;transform:translate3d(-108%,0,0) scale(.985);}}
@keyframes pbWeekFullOutRight{from{opacity:1;transform:translate3d(0,0,0) scale(1);}to{opacity:.35;transform:translate3d(108%,0,0) scale(.985);}}
@keyframes pbWeekFullInLeft{from{opacity:.45;transform:translate3d(108%,0,0) scale(.985);}to{opacity:1;transform:translate3d(0,0,0) scale(1);}}
@keyframes pbWeekFullInRight{from{opacity:.45;transform:translate3d(-108%,0,0) scale(.985);}to{opacity:1;transform:translate3d(0,0,0) scale(1);}}
@media(max-width:900px){html.pb-login-leaving .login-shell::after{bottom:18px;font-size:12px;width:min(86vw,360px);text-align:center}.current-week-preview-card{touch-action:pan-y;}}
@media (prefers-reduced-motion: reduce){html.pb-login-leaving .login-card,html.pb-login-leaving .login-shell::after,.current-week-preview-card.pb-week-current-out-left,.current-week-preview-card.pb-week-current-out-right,.current-week-preview-card.pb-week-new-in-left,.current-week-preview-card.pb-week-new-in-right{animation:none!important;}html.pb-login-entering.pb-login-enter-ready body{transition:none!important;}}


/* PBv1.8.7.16.4beta: fix dashboard week swipe overlay within preview-only shell. */
.dashboard-week-swap-shell{position:relative;margin:18px 0;}
.dashboard-week-swap-shell > .current-week-preview-card{margin:0!important;}
.dashboard-week-swap-shell.pb-week-swap-stage{position:relative!important;overflow:hidden!important;border-radius:22px;}
.dashboard-week-swap-shell.pb-week-swap-stage > .current-week-preview-card{background:linear-gradient(135deg,rgba(30,34,44,.98),rgba(17,20,29,.98))!important;box-shadow:0 16px 40px rgba(0,0,0,.22);}
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-current-out-left,
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-current-out-right{z-index:1;}
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-new-in-left,
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-new-in-right{z-index:2;}
.dashboard-week-swap-shell:not(.pb-week-swap-stage){min-height:0!important;}

/* PBv1.8.7.16.4beta: smoother dashboard week preview navigation. */
.dashboard-week-current{border-color:rgba(212,167,59,.45)!important;color:var(--gold)!important;background:rgba(212,167,59,.09)!important;}
.dashboard-week-nav-actions{align-items:center;}
.current-week-preview-card.is-dragging{transition:none!important;}
@media(max-width:700px){.dashboard-week-nav-actions{gap:8px}.dashboard-week-current{order:4;width:100%;justify-content:center}.current-week-preview-card.is-dragging{box-shadow:0 18px 42px rgba(0,0,0,.22);}}

/* PBv1.8.7.16.4beta: polish dashboard week nav controls and expose Back to Current Week on mobile. */
.dashboard-week-nav-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  min-width:min(100%,720px)!important;
}
.dashboard-week-nav-actions .button{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.dashboard-week-prev,
.dashboard-week-next{
  min-width:104px!important;
  padding-inline:16px!important;
}
.dashboard-week-current{
  min-width:220px!important;
  padding-inline:18px!important;
  border-color:rgba(212,167,59,.55)!important;
  background:linear-gradient(135deg,rgba(212,167,59,.16),rgba(255,255,255,.035))!important;
  color:var(--gold)!important;
}
.current-week-preview-topline .current-week-open-button,
.dashboard-week-nav-actions .current-week-open-button{
  min-width:220px!important;
  flex:0 0 auto!important;
}
@media(max-width:1100px){
  .current-week-preview-topline{display:grid!important;grid-template-columns:1fr!important;}
  .dashboard-week-nav-actions{justify-content:start!important;width:100%!important;min-width:0!important;}
}
@media(max-width:700px){
  .dashboard-week-nav-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    justify-content:stretch!important;
    width:100%!important;
  }
  .dashboard-week-nav-actions .button{width:100%!important;min-width:0!important;}
  .dashboard-week-prev,
  .dashboard-week-next{display:none!important;}
  .dashboard-week-current{display:inline-flex!important;order:2!important;}
  .current-week-open-button{order:1!important;}
}


/* PBv1.8.7.16.5beta: lock dashboard preview header height and convert mobile week nav to side arrows. */
.current-week-main-copy{
  min-height:132px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.current-week-main-copy .page-eyebrow{
  min-height:22px!important;
}
.current-week-main-copy h2{
  min-height:78px!important;
  max-width:100%!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.12!important;
  margin-bottom:10px!important;
}
.current-week-main-copy p{
  min-height:26px!important;
  margin-top:0!important;
}
.dashboard-week-swap-shell,
.current-week-preview-card{
  position:relative!important;
}
@media(max-width:900px){
  .current-week-preview-card{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .current-week-main-copy{
    min-height:154px!important;
    align-items:center!important;
    text-align:center!important;
  }
  .current-week-main-copy h2{
    min-height:96px!important;
    max-width:100%!important;
    font-size:clamp(26px,7.4vw,42px)!important;
    line-height:1.14!important;
    text-align:center!important;
  }
  .current-week-main-copy p{
    min-height:44px!important;
    text-align:center!important;
  }
  .dashboard-week-nav-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    width:100%!important;
    gap:10px!important;
    padding-inline:44px!important;
  }
  .dashboard-week-nav-actions .current-week-open-button,
  .dashboard-week-nav-actions .dashboard-week-current{
    width:100%!important;
    max-width:360px!important;
  }
  .dashboard-week-prev,
  .dashboard-week-next{
    display:inline-flex!important;
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:8!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    border-radius:999px!important;
    font-size:0!important;
    line-height:1!important;
    background:rgba(10,14,23,.84)!important;
    border-color:rgba(212,167,59,.55)!important;
    color:#fff!important;
    box-shadow:0 12px 26px rgba(0,0,0,.28)!important;
  }
  .dashboard-week-prev{left:10px!important;}
  .dashboard-week-next{right:10px!important;}
  .dashboard-week-prev::before,
  .dashboard-week-next::before{
    font-size:24px!important;
    font-family:Arial, sans-serif!important;
    font-weight:900!important;
    color:#fff!important;
  }
  .dashboard-week-prev::before{content:'‹';}
  .dashboard-week-next::before{content:'›';}
  .dashboard-week-prev:active,
  .dashboard-week-next:active{
    transform:translateY(-50%) scale(.96)!important;
  }
}
@media(max-width:520px){
  .current-week-preview-card{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .current-week-main-copy h2{
    font-size:clamp(24px,7vw,34px)!important;
    min-height:86px!important;
  }
  .dashboard-week-nav-actions{
    padding-inline:38px!important;
  }
  .dashboard-week-prev,
  .dashboard-week-next{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  .dashboard-week-prev{left:6px!important;}
  .dashboard-week-next{right:6px!important;}
}


/* PBv1.8.7.16.6beta: fix mobile dashboard preview title clipping and place arrows beside Open This Week. */
@media(max-width:900px){
  .current-week-preview-card .current-week-main-copy{
    min-height:178px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .current-week-preview-card .current-week-main-copy h2{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    min-height:112px!important;
    max-height:122px!important;
    font-size:clamp(24px,6.6vw,34px)!important;
    line-height:1.14!important;
    letter-spacing:.045em!important;
    margin-bottom:10px!important;
    text-wrap:balance!important;
  }
  .current-week-preview-card .current-week-main-copy p{
    min-height:48px!important;
  }
  .current-week-preview-card .dashboard-week-nav-actions{
    position:relative!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    grid-auto-rows:auto!important;
    align-items:center!important;
    justify-items:center!important;
    column-gap:10px!important;
    row-gap:10px!important;
    width:100%!important;
    max-width:620px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-inline:0!important;
  }
  .current-week-preview-card .dashboard-week-nav-actions .current-week-open-button{
    grid-column:2!important;
    grid-row:1!important;
    order:initial!important;
    width:100%!important;
    max-width:420px!important;
    min-width:0!important;
  }
  .current-week-preview-card .dashboard-week-nav-actions .dashboard-week-current{
    grid-column:1 / -1!important;
    grid-row:2!important;
    order:initial!important;
    width:min(100%,420px)!important;
    max-width:420px!important;
    min-width:0!important;
  }
  .current-week-preview-card .dashboard-week-prev,
  .current-week-preview-card .dashboard-week-next{
    display:inline-flex!important;
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    z-index:2!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:999px!important;
    font-size:0!important;
    line-height:1!important;
    background:rgba(10,14,23,.88)!important;
    border-color:rgba(212,167,59,.6)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(0,0,0,.26)!important;
  }
  .current-week-preview-card .dashboard-week-prev{
    grid-column:1!important;
    grid-row:1!important;
  }
  .current-week-preview-card .dashboard-week-next{
    grid-column:3!important;
    grid-row:1!important;
  }
  .current-week-preview-card .dashboard-week-prev::before,
  .current-week-preview-card .dashboard-week-next::before{
    font-size:28px!important;
    font-family:Arial, sans-serif!important;
    font-weight:900!important;
    color:#fff!important;
    line-height:1!important;
  }
  .current-week-preview-card .dashboard-week-prev::before{content:'‹';}
  .current-week-preview-card .dashboard-week-next::before{content:'›';}
  .current-week-preview-card .dashboard-week-prev:active,
  .current-week-preview-card .dashboard-week-next:active{
    transform:scale(.96)!important;
  }
}
@media(max-width:520px){
  .current-week-preview-card .current-week-main-copy{
    min-height:170px!important;
  }
  .current-week-preview-card .current-week-main-copy h2{
    min-height:104px!important;
    max-height:112px!important;
    font-size:clamp(22px,6.1vw,29px)!important;
    line-height:1.16!important;
    letter-spacing:.04em!important;
  }
  .current-week-preview-card .dashboard-week-nav-actions{
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    column-gap:8px!important;
  }
  .current-week-preview-card .dashboard-week-prev,
  .current-week-preview-card .dashboard-week-next{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
}

/* PBv1.8.7.18beta: bank nav, mobile menu caret, login header, game day labels, and diagram scroll polish. */
.nav-bank-dropdown .nav-dropdown-menu a{white-space:nowrap;}
@media(max-width:900px){
  .topbar{overflow:visible!important;}
  .topbar .brand{min-width:0!important;max-width:100%!important;overflow:visible!important;}
  .topbar .brand-wordmark{min-width:0!important;max-width:100%!important;overflow:visible!important;}
  .topbar .brand-primary,.topbar .brand-secondary{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  .login-shell{padding-top:20px!important;align-items:start!important;}
  .login-brand-banner{padding-top:30px!important;overflow:visible!important;}
  .login-brand-banner h1{font-size:clamp(40px,15vw,64px)!important;line-height:.98!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
  .nav-account{position:relative!important;}
  .nav-account-toggle{position:relative!important;padding-right:46px!important;width:100%!important;display:grid!important;grid-template-columns:1fr!important;text-align:left!important;}
  .nav-account-toggle .nav-user-caret{position:absolute!important;right:17px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;line-height:1!important;color:var(--ink)!important;}
}
.detail-diagram.diagram-click-nav,.diagram-swipe-shell{overscroll-behavior:auto!important;}
.weekly-game-day-card.full-day-game-card .game-day-actions{align-items:center!important;justify-content:center!important;align-content:center!important;}
.weekly-game-day-card.full-day-game-card .game-day-action-button{min-height:46px!important;}

/* PBv1.8.7.18beta: dashboard command-center cleanup. */
.dashboard-command-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:28px;
  min-height:250px;
  padding-right:42px;
  padding-bottom:46px;
}
.dashboard-command-copy{max-width:820px;position:relative;z-index:1;}
.dashboard-hero-actions{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-self:center;
}
.dashboard-hero-action{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}
.dashboard-hero-action.primary{
  grid-column:1 / -1;
  min-height:62px;
  font-size:18px;
  letter-spacing:.08em;
}
.dashboard-version-badge-corner{
  position:absolute;
  right:22px;
  bottom:18px;
  min-width:auto;
  padding:7px 10px;
  border-radius:12px;
  opacity:.88;
  background:rgba(0,0,0,.16);
  z-index:2;
}
.dashboard-version-badge-corner span{font-size:8px;letter-spacing:.09em;line-height:1.05;}
.dashboard-version-badge-corner strong{font-size:11px;line-height:1.1;}
.dashboard-content-shell > .dashboard-week-swap-shell{margin-top:18px;}
@media(max-width:1050px){
  .dashboard-command-hero{grid-template-columns:1fr;align-items:start;gap:20px;padding-right:28px;}
  .dashboard-hero-actions{grid-template-columns:1fr 1fr;width:100%;}
}
@media(max-width:700px){
  .dashboard-command-hero{padding:24px 20px 44px;min-height:auto;}
  .dashboard-hero-actions{grid-template-columns:1fr;gap:10px;}
  .dashboard-hero-action,.dashboard-hero-action.primary{min-height:48px;font-size:14px;}
  .dashboard-version-badge-corner{display:block;right:16px;bottom:12px;text-align:right;margin:0;}
}

/* PBv1.8.7.21beta: dashboard action polish, play-detail diagram sizing, script copy, and no-bounce cleanup. */
.dashboard-hero-actions{grid-template-columns:1.25fr 1fr!important;max-width:640px;justify-self:end;width:100%;}
.dashboard-hero-action.primary{grid-column:1 / -1!important;min-height:64px!important;font-size:18px!important;}
.dashboard-hero-action:not(.primary){min-height:56px!important;font-size:13px!important;}
@media(min-width:1051px){.dashboard-command-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.72fr)!important;}.dashboard-hero-actions{align-self:center;}}
@media(max-width:700px){.dashboard-hero-actions{grid-template-columns:1fr!important;justify-self:stretch;max-width:none;}.dashboard-hero-action.primary,.dashboard-hero-action:not(.primary){min-height:50px!important;font-size:14px!important;}}

.play-diagram-size-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:10px 0 8px;flex-wrap:wrap;}
.play-diagram-size-tools span{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:var(--mute);font-size:12px;margin-right:4px;}
.play-detail-clean .diagram-carousel-card[data-diagram-size="compact"]{max-width:min(920px,100%);margin-left:auto;margin-right:auto;}
.play-detail-clean .diagram-carousel-card[data-diagram-size="compact"] .diagram-swipe-slide img{max-height:520px;}
.play-detail-clean .diagram-carousel-card[data-diagram-size="compact"] .detail-diagram{background:rgba(255,255,255,.96);}
.play-detail-clean .diagram-carousel-card[data-diagram-size="wide"]{max-width:100%;}
.play-detail-clean .diagram-carousel-card[data-diagram-size="wide"] .diagram-swipe-slide img{max-height:none;}
.play-diagram-size-button.is-active{background:var(--gold)!important;color:#151515!important;border-color:transparent!important;}
html{scroll-behavior:smooth;}
.diagram-swipe-shell,.diagram-click-nav{overscroll-behavior:auto!important;}

.script-copy-card{padding:22px;margin-bottom:22px;}
.script-copy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0;}
.script-copy-options{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0;}
.script-copy-entry-list{display:grid;gap:10px;margin-top:14px;}
.script-copy-entry{display:grid;grid-template-columns:auto 72px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:10px;background:rgba(255,255,255,.025);}
.script-copy-entry img,.script-copy-thumb-fallback{width:72px;height:44px;object-fit:contain;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#111;font-size:10px;font-weight:900;text-align:center;}
.script-copy-entry.is-excluded{opacity:.42;filter:grayscale(.5);}
.script-copy-entry .copy-remove-toggle{min-width:42px;height:34px;border-radius:999px;font-size:18px;}
.script-copy-submit-row{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:16px;flex-wrap:wrap;}
@media(max-width:900px){.script-copy-grid{grid-template-columns:1fr}.script-copy-entry{grid-template-columns:auto 58px minmax(0,1fr) auto}.script-copy-entry img,.script-copy-thumb-fallback{width:58px;height:38px}.script-copy-submit-row .button{width:100%;}}

/* PBv1.8.7.21beta: Weekly Planner reload polish, subtle version badge, and buildable lift days. */
.dashboard-version-badge-corner{
  opacity:.48!important;
  padding:5px 8px!important;
  border-color:rgba(212,167,59,.22)!important;
  background:rgba(0,0,0,.10)!important;
  box-shadow:none!important;
}
.dashboard-version-badge-corner span{font-size:7px!important;color:rgba(214,220,232,.55)!important;}
.dashboard-version-badge-corner strong{font-size:9px!important;color:rgba(212,167,59,.72)!important;}
.dashboard-version-badge-corner:hover{opacity:.78!important;}
@media(max-width:700px){
  .dashboard-command-hero{padding-bottom:24px!important;}
  .dashboard-version-badge-corner{
    position:static!important;
    display:block!important;
    width:max-content!important;
    min-width:0!important;
    max-width:100%!important;
    margin:4px 0 0 auto!important;
    text-align:right!important;
    justify-self:end!important;
    opacity:.44!important;
  }
}
.weekly-lift-status-banner{
  border:1px solid rgba(212,167,59,.42);
  background:linear-gradient(135deg,rgba(212,167,59,.14),rgba(255,255,255,.025));
  border-radius:16px;
  padding:12px 14px;
  display:grid;
  gap:4px;
  margin:0 0 12px;
}
.weekly-lift-status-banner strong{
  font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-size:16px;
}
.weekly-lift-status-banner span{color:var(--soft);font-size:13px;line-height:1.35;}
html.pb-weekly-loading .weekly-selector-card,
html.pb-weekly-loading .weekly-board-card{
  transition:opacity .16s ease, transform .16s ease;
  opacity:.92;
}
html.pb-weekly-loading .weekly-selector-card::after{
  content:'Updating…';
  position:absolute;
  right:18px;
  bottom:14px;
  font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;
  color:rgba(212,167,59,.72);font-size:12px;
}

/* PBv1.8.7.21beta: readable but low-profile version badge and cleaner Weekly Planner nav. */
.dashboard-version-badge-corner{
  opacity:1!important;
  padding:4px 7px!important;
  border-color:rgba(212,167,59,.28)!important;
  background:rgba(0,0,0,.18)!important;
  box-shadow:none!important;
  line-height:1!important;
}
.dashboard-version-badge-corner span{font-size:7px!important;color:rgba(214,220,232,.72)!important;line-height:1!important;}
.dashboard-version-badge-corner strong{font-size:9px!important;color:rgba(212,167,59,.9)!important;line-height:1!important;}
.dashboard-version-badge-corner:hover{opacity:1!important;}
.weekly-selector-form-v3 [data-regular-week-field] select{min-width:280px;}
@media(max-width:700px){
  .dashboard-version-badge-corner{opacity:1!important;margin-top:8px!important;}
  .weekly-selector-form-v3 [data-regular-week-field] select{min-width:0;width:100%;}
}

/* PBv1.8.7.22beta: final Weekly Planner nav polish + compact script cards */
.weekly-planner-day-column .weekly-script-link-card-compact,
.weekly-planner-day-column .weekly-script-link-card{
  padding: 8px 10px !important;
  border-radius: 12px !important;
  min-height: 0 !important;
  display: grid !important;
  gap: 1px !important;
  line-height: 1.15 !important;
}
.weekly-planner-day-column .weekly-script-link-card-compact strong,
.weekly-planner-day-column .weekly-script-link-card strong{
  font-size: 13px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}
.weekly-planner-day-column .weekly-script-link-card-compact span,
.weekly-planner-day-column .weekly-script-link-card span,
.weekly-planner-day-column .weekly-script-link-card-compact small,
.weekly-planner-day-column .weekly-script-link-card small{
  font-size: 11px !important;
  line-height: 1.15 !important;
  margin-top: 0 !important;
}
.weekly-side-block{padding:8px!important;gap:6px!important;}
.weekly-script-section-title{margin-top:0!important;}
.weekly-selector-form-v3 [hidden]{display:none!important;}
.weekly-selector-submit-wrap{align-self:end;}
.dashboard-version-badge-corner{display:none!important;}
.dashboard-command-hero{padding-bottom:34px!important;}
@media(max-width:700px){
  .weekly-planner-day-column .weekly-script-link-card-compact,
  .weekly-planner-day-column .weekly-script-link-card{padding:9px 10px!important;}
  .dashboard-command-hero{padding-bottom:22px!important;}
}

/* PBv1.8.7.23beta: intuitive Weekly Planner Week Navigator */
.weekly-navigator-card{display:grid;gap:16px;overflow:visible}.weekly-nav-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.week-phase-pills{display:flex;flex-wrap:wrap;gap:10px}.week-phase-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid rgba(212,167,59,.34);border-radius:999px;background:rgba(255,255,255,.025);color:var(--ink);text-decoration:none;font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.08em;transition:transform .15s ease,background .15s ease,border-color .15s ease}.week-phase-pill:hover{transform:translateY(-1px);border-color:rgba(212,167,59,.72);background:rgba(212,167,59,.10)}.week-phase-pill.active{background:var(--primary);border-color:var(--gold);color:var(--primary-contrast);box-shadow:0 10px 24px rgba(0,0,0,.22)}.week-nav-grid{display:grid;grid-template-columns:minmax(130px,.32fr) minmax(320px,1fr);gap:14px;align-items:end}.week-nav-field{display:grid;gap:8px;color:var(--mute);font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.week-nav-field .input{width:100%;min-height:58px}.main-week-nav-field .input{font-size:1rem}.compact-season-field .input{text-align:center}.weekly-navigator-card + .opponent-notes-card,.weekly-navigator-card + .weekly-workflow-primary-card{margin-top:16px}@media(max-width:900px){.week-phase-pills{display:grid;grid-template-columns:1fr}.week-nav-grid{grid-template-columns:1fr}.week-phase-pill{width:100%;}.weekly-nav-headline{display:grid}.main-week-nav-field .input{font-size:.95rem}}

/* PBv1.8.7.24beta: Weekly Navigator polish, postseason add prompt, and scroll/game-day fixes. */
.weekly-navigator-card .small-copy{max-width:640px;}
.compact-season-field{max-width:155px;}
.compact-season-field .input{min-height:44px!important;padding:8px 10px!important;font-size:.92rem!important;}
.week-nav-grid{grid-template-columns:minmax(110px,150px) minmax(220px,.42fr) minmax(320px,1fr)!important;}
.week-nav-field.offseason-month-field{min-width:180px;}
.postseason-empty-nav{border:1px dashed rgba(212,167,59,.42);border-radius:18px;background:rgba(212,167,59,.07);padding:14px;display:grid;gap:8px;align-self:stretch;}
.postseason-empty-nav strong{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:#fff;font-size:18px;}
.postseason-empty-nav span{color:var(--soft);font-size:13px;}
.postseason-add-details{margin-top:4px;}
.postseason-add-details summary{cursor:pointer;color:var(--gold);font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.postseason-add-form{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;}
.postseason-add-form button{align-self:end;}
.weekly-builder-day-column,.weekly-practice-plan-slot,.weekly-plan-slot-list,.weekly-builder-day-scripts,.weekly-side-block,.add-day-script-details,.weekly-script-link-card,.weekly-plan-slot-row{touch-action:pan-y!important;overscroll-behavior:auto!important;}
.weekly-builder-day-column.is-game-day-column{overflow:hidden!important;}
.weekly-builder-day-column.is-game-day-column .weekly-game-day-card.full-day-game-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;min-height:0!important;height:auto!important;max-height:100%!important;flex:1 1 auto!important;align-self:stretch!important;}
.weekly-builder-day-column.is-game-day-column .weekly-game-day-card.full-day-game-card h3{font-size:clamp(16px,1.15vw,23px)!important;overflow-wrap:anywhere!important;}
.weekly-builder-day-column.is-game-day-column .weekly-game-day-card.full-day-game-card .game-day-kicker{font-size:clamp(24px,2.25vw,38px)!important;}
.weekly-builder-day-column.is-game-day-column .weekly-game-day-card.full-day-game-card .game-day-meta{font-size:clamp(10px,.85vw,13px)!important;}
@media(max-width:900px){.week-nav-grid{grid-template-columns:1fr!important}.compact-season-field{max-width:none}.postseason-add-form{grid-template-columns:1fr}.postseason-empty-nav{text-align:left}.weekly-builder-day-column.is-game-day-column .weekly-game-day-card.full-day-game-card{min-height:280px!important;}}

/* PBv1.8.7.25beta: Week Navigator visual polish + smoother planner scrolling. */
.weekly-navigator-card-v25{
  position:relative;
  display:grid!important;
  gap:18px!important;
  padding:22px 24px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(212,167,59,.12), transparent 34%),
    linear-gradient(135deg, rgba(13,21,36,.96), rgba(32,31,27,.90))!important;
}
.weekly-nav-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.weekly-nav-title-block{display:grid;gap:4px;min-width:0;}
.weekly-nav-title-block .small-copy{max-width:none!important;margin:0!important;}
.season-corner-control{
  width:118px!important;
  max-width:118px!important;
  min-width:118px!important;
  justify-self:end;
  align-self:start;
  gap:5px!important;
  text-align:left;
  color:rgba(196,205,220,.70)!important;
  font-size:12px!important;
}
.season-corner-control .input{
  min-height:38px!important;
  height:38px!important;
  padding:6px 28px 6px 12px!important;
  font-size:14px!important;
  border-radius:13px!important;
  text-align:center;
  background:rgba(5,10,19,.55)!important;
}
.week-phase-pills-v25{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px!important;
  max-width:900px;
}
.week-phase-pills-v25 .week-phase-pill{
  min-height:48px!important;
  border-radius:16px!important;
  padding:12px 16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.week-nav-active-panel-v25{
  display:grid;
  grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);
  gap:16px;
  align-items:end;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.025);
  border-radius:20px;
  padding:16px;
}
.week-nav-panel-copy{
  display:grid;
  gap:5px;
  align-self:center;
}
.week-nav-panel-copy strong{
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--gold);
  font-size:18px;
}
.week-nav-panel-copy span{
  color:var(--soft);
  font-size:13px;
  line-height:1.35;
}
.week-nav-active-panel-v25 .week-nav-field{min-width:0;}
.week-nav-active-panel-v25 .main-week-nav-field .input,
.week-nav-active-panel-v25 .offseason-month-field .input{
  min-height:54px!important;
  border-radius:16px!important;
  background:rgba(5,10,19,.70)!important;
}
.offseason-nav-controls-v25{
  display:grid;
  grid-template-columns:minmax(160px,.35fr) minmax(240px,1fr);
  gap:14px;
  align-items:end;
}
.phase-regular-season .week-nav-active-panel-v25{border-color:rgba(212,167,59,.28);}
.phase-offseason .week-nav-active-panel-v25{border-color:rgba(255,255,255,.10);}
.phase-postseason .week-nav-active-panel-v25{border-color:rgba(212,167,59,.34);}
.postseason-empty-nav.main-week-nav-field{align-self:stretch!important;}
.weekly-selector-card .week-nav-grid{display:none!important;}
.weekly-builder-day-column,
.weekly-practice-plan-slot,
.weekly-plan-slot-list,
.weekly-builder-day-scripts,
.weekly-side-block,
.weekly-script-link-card,
.weekly-plan-slot-row,
.add-day-script-details,
.add-day-script-details summary{
  overflow:visible!important;
  overscroll-behavior:contain!important;
  scroll-behavior:auto!important;
}
.weekly-board-card,
.weekly-day-board{
  overscroll-behavior:auto!important;
  scroll-behavior:smooth;
}
@media(max-width:900px){
  .weekly-navigator-card-v25{padding:18px 16px!important;gap:14px!important;}
  .weekly-nav-topline{align-items:start;gap:12px;}
  .season-corner-control{width:104px!important;min-width:104px!important;max-width:104px!important;font-size:11px!important;}
  .season-corner-control .input{height:36px!important;min-height:36px!important;font-size:13px!important;}
  .week-phase-pills-v25{grid-template-columns:1fr!important;max-width:none;}
  .week-nav-active-panel-v25{grid-template-columns:1fr!important;padding:14px!important;gap:12px!important;}
  .offseason-nav-controls-v25{grid-template-columns:1fr!important;}
  .week-nav-panel-copy{text-align:left;}
}

/* PBv1.8.7.26beta: finishing-touch polish for login transition, hub calendar button, admin dropdown, and smoother planner updates. */
html.pb-login-leaving .login-shell::after{
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(420px,86vw)!important;
  min-height:92px!important;
  border-radius:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:16px!important;
  line-height:1.15!important;
  padding:22px 24px!important;
  background:linear-gradient(135deg,rgba(12,16,24,.94),rgba(28,31,40,.90))!important;
  border:1px solid rgba(212,167,59,.48)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.06)!important;
}
@keyframes pbLoginLoadingIn{from{opacity:0;transform:translate(-50%,-44%) scale(.985);}to{opacity:1;transform:translate(-50%,-50%) scale(1);}}
.weekly-hub-head-with-action{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;}
.weekly-hub-calendar-button{align-self:flex-start!important;white-space:nowrap!important;padding:11px 16px!important;border-radius:15px!important;font-size:13px!important;}
.nav-account-menu a{display:block;}
.weekly-selector-card.pb-week-nav-loading{opacity:.985;}
.weekly-selector-card.pb-week-nav-loading .week-nav-active-panel-v25{filter:saturate(.95);}
/* Keep wheel/trackpad scrolling native from anywhere in the Weekly Planner. */
.weekly-board-card,
.weekly-day-board,
.weekly-builder-day-column,
.weekly-practice-plan-slot,
.weekly-plan-slot-list,
.weekly-builder-day-scripts,
.weekly-side-block,
.weekly-script-link-card,
.weekly-plan-slot-row,
.add-day-script-details,
.add-day-script-details summary,
.normal-day-status-toggle-row{
  overscroll-behavior:auto!important;
  scroll-behavior:auto!important;
  touch-action:pan-y!important;
}
@media(max-width:900px){
  .weekly-hub-head-with-action{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .weekly-hub-calendar-button{justify-self:start!important;width:auto!important;}
  html.pb-login-leaving .login-shell::after{font-size:14px!important;min-height:82px!important;}
}

/* PBv1.8.7.27beta: Weekly Planner header/date polish and Team Calendar button sizing. */
.week-opponent-hero-title-v27 span{
  font-size:clamp(16px,1.35vw,22px)!important;
  letter-spacing:.13em!important;
  white-space:normal!important;
}
.week-opponent-hero-title-v27 small{
  font-size:clamp(12px,1.02vw,15px)!important;
  line-height:1.25!important;
  max-width:520px;
  margin-left:auto;
}
.weekly-hub-head-with-action{
  align-items:center!important;
}
.weekly-hub-calendar-button{
  align-self:center!important;
  padding:13px 22px!important;
  border-radius:18px!important;
  font-size:14px!important;
  min-width:180px;
  justify-content:center;
  box-shadow:0 14px 28px rgba(0,0,0,.25);
}
@media(max-width:900px){
  .week-opponent-hero-title-v27{text-align:left!important;}
  .week-opponent-hero-title-v27 small{margin-left:0;max-width:none;}
  .weekly-hub-calendar-button{width:100%!important;min-width:0!important;padding:13px 18px!important;}
}


/* PBv1.8.7.28beta: Restore full weekday date ranges in planner headers and enlarge Team Calendar hub button. */
.weekly-hub-calendar-button{
  padding:16px 30px!important;
  min-width:220px!important;
  font-size:15px!important;
  border-radius:20px!important;
  letter-spacing:.08em!important;
}
.week-opponent-hero-title-v27 span{
  font-size:clamp(18px,1.45vw,24px)!important;
  letter-spacing:.14em!important;
}
@media(max-width:900px){
  .weekly-hub-calendar-button{width:100%!important;min-width:0!important;padding:15px 20px!important;font-size:14px!important;}
}

/* PBv1.8.7.30beta: redesigned login/product landing, subtle account controls, and smarter planner states. */
.login-shell-v29{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:28px 0!important;}
.login-product-layout{width:min(100% - 36px,1320px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);gap:22px;align-items:stretch;}
.login-product-panel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:30px;padding:34px;background:radial-gradient(circle at 15% 12%,rgba(212,167,59,.22),transparent 28rem),linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.02));box-shadow:0 24px 60px rgba(0,0,0,.28);min-height:560px;display:flex;flex-direction:column;justify-content:center;}
.login-product-panel:before{content:"";position:absolute;inset:auto -8rem -9rem auto;width:27rem;height:27rem;border-radius:999px;background:rgba(212,167,59,.13);filter:blur(8px);pointer-events:none;}
.login-product-eyebrow{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.11em;color:var(--gold);font-weight:900;font-size:13px;margin-bottom:10px;}
.login-product-panel h1{font-family:var(--font-display);font-size:clamp(60px,8vw,112px);line-height:.86;margin:0;color:#f8f1e4;text-shadow:0 8px 28px rgba(0,0,0,.35);}
.login-product-panel h2{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.035em;font-size:clamp(27px,3.3vw,48px);line-height:1;margin:16px 0 12px;color:#f1c766;}
.login-product-copy{max-width:760px;color:#d7dce5;font-size:16px;line-height:1.6;margin:0 0 24px;}
.login-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:860px;}
.login-feature-card{position:relative;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:16px 16px 15px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));backdrop-filter:blur(8px);}
.login-feature-card span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(212,167,59,.3);color:var(--gold);font-family:var(--font-mono);font-weight:900;font-size:12px;margin-bottom:10px;background:rgba(0,0,0,.18);}
.login-feature-card strong{display:block;color:#f7f2e6;font-size:15px;margin-bottom:5px;}
.login-feature-card p{margin:0;color:#bfc7d4;font-size:13px;line-height:1.45;}
.login-product-tagline{margin-top:22px;color:#f1ece1;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:14px;}
.login-card-v29{max-width:none!important;width:100%;text-align:left!important;padding:28px!important;display:flex;flex-direction:column;justify-content:center;}
.login-card-v29 .stack-form{max-width:none!important;margin:0!important;}
.login-card-head h2,.login-pending-state h2{margin:.15rem 0 .35rem;font-family:var(--font-display);font-size:40px;line-height:.95;color:#f8f1e4;}
.login-card-head{margin-bottom:16px;}
.login-check-row{display:grid;grid-template-columns:1fr;gap:9px;margin:2px 0 10px;}
.login-check{display:flex!important;align-items:center;gap:9px;color:#dfe3ea;font-weight:800;font-size:13px;line-height:1.2;}
.login-check input{width:16px;height:16px;accent-color:#d4a73b;}
.login-pending-state{display:grid;gap:14px;text-align:center;place-items:center;padding:18px 4px;}
.login-pending-state p{max-width:420px;}
.account-create-shell{min-height:calc(100vh - 120px);}
.account-create-card{max-width:560px!important;}
.regular-season-empty-nav .button{justify-self:start;margin-top:8px;}
@media(max-width:980px){
  .login-product-layout{grid-template-columns:1fr;width:min(100% - 24px,720px);gap:14px;}
  .login-product-panel{min-height:auto;padding:24px;border-radius:24px;}
  .login-product-panel h1{font-size:clamp(46px,13vw,72px);line-height:.9;}
  .login-product-panel h2{font-size:clamp(24px,7vw,34px);}
  .login-product-copy{font-size:14px;margin-bottom:16px;}
  .login-feature-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .login-feature-card{padding:12px;border-radius:18px;}
  .login-feature-card p{display:none;}
  .login-card-v29{padding:22px!important;border-radius:24px;}
  .login-card-head h2,.login-pending-state h2{font-size:34px;}
}
@media(max-width:560px){
  .login-shell-v29{padding:12px 0!important;align-items:start!important;}
  .login-product-layout{width:min(100% - 20px,420px);}
  .login-product-panel{padding:18px;}
  .login-feature-grid{grid-template-columns:1fr;}
  .login-feature-card{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;}
  .login-feature-card span{margin-bottom:0;grid-row:1 / span 1;}
  .login-feature-card strong{margin:0;}
  .login-product-tagline{font-size:12px;margin-top:14px;}
}

/* PBv1.8.7.30beta: compact login landing, feature carousel, smoother auth transitions, and stable planner nav panels. */
.login-shell-v30{
  min-height:calc(100vh - 96px)!important;
  padding:14px 0!important;
  align-items:center!important;
}
.login-product-layout-v30{
  width:min(100% - 34px,1360px)!important;
  grid-template-columns:minmax(0,1.35fr) minmax(350px,.68fr)!important;
  gap:20px!important;
  align-items:center!important;
}
.login-product-panel-v30{
  min-height:0!important;
  height:clamp(430px, calc(100vh - 146px), 555px)!important;
  padding:26px 30px!important;
  justify-content:center!important;
  border-radius:28px!important;
}
.login-product-panel-v30 h1{
  font-size:clamp(48px,6.3vw,94px)!important;
  line-height:.86!important;
}
.login-product-panel-v30 h2{
  font-size:clamp(25px,2.75vw,40px)!important;
  margin:12px 0 9px!important;
}
.login-product-panel-v30 .login-product-copy{
  font-size:15px!important;
  line-height:1.48!important;
  margin-bottom:18px!important;
  max-width:780px!important;
}
.login-feature-grid{display:none!important;}
.login-feature-carousel{
  position:relative;
  width:min(100%,760px);
  min-height:136px;
  border:1px solid rgba(212,167,59,.20);
  border-radius:26px;
  background:
    radial-gradient(circle at 16% 18%,rgba(212,167,59,.18),transparent 46%),
    linear-gradient(135deg,rgba(255,255,255,.080),rgba(255,255,255,.024));
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 45px rgba(0,0,0,.20);
}
.login-feature-track{position:relative;min-height:136px;}
.login-feature-slide{
  position:absolute;inset:0;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  gap:6px 14px;
  align-content:center;
  padding:18px 20px 22px;
  opacity:0;
  transform:translateX(28px) scale(.985);
  transition:opacity .48s ease,transform .48s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
}
.login-feature-slide.is-active{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;}
.login-feature-slide span{
  grid-row:1 / span 2;
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:16px;
  border:1px solid rgba(212,167,59,.36);
  background:rgba(0,0,0,.18);
  color:var(--gold);font-family:var(--font-mono);font-weight:900;font-size:13px;
}
.login-feature-slide strong{color:#fff7e7;font-size:20px;line-height:1.05;align-self:end;}
.login-feature-slide p{margin:0;color:#c6cfda;font-size:14px;line-height:1.36;max-width:560px;}
.login-feature-dots{position:absolute;left:20px;bottom:10px;display:flex;gap:6px;}
.login-feature-dots span{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.28);transition:width .3s ease,background .3s ease;}
.login-feature-dots span.is-active{width:22px;background:var(--gold);}
.login-product-panel-v30 .login-product-tagline{margin-top:16px!important;font-size:13px!important;}
.login-card-v30{
  min-height:0!important;
  height:auto!important;
  max-height:calc(100vh - 150px)!important;
  padding:24px!important;
  border-radius:28px!important;
  justify-content:center!important;
  overflow:visible!important;
}
.login-card-v30 .login-card-head{margin-bottom:12px!important;}
.login-card-v30 .login-card-head h2,
.login-card-v30 .login-pending-state h2{font-size:clamp(30px,2.9vw,38px)!important;line-height:.94!important;}
.login-card-v30 .muted{font-size:13px!important;line-height:1.45!important;}
.login-card-v30 .stack-form{gap:10px!important;}
.login-card-v30 label{gap:5px!important;}
.login-card-v30 .input{min-height:44px!important;border-radius:14px!important;padding:10px 12px!important;}
.login-card-v30 .button{min-height:44px!important;border-radius:14px!important;}
.login-check-row{gap:7px!important;margin:0 0 8px!important;}
.login-check{font-size:12px!important;}
.login-secondary-action{margin-top:12px!important;font-size:13px!important;}
.auth-view{animation:authPanelIn .24s ease both;}
html.pb-auth-switching .auth-view-active,
.auth-panel-switching .auth-view-active{animation:authPanelOut .18s ease both;}
@keyframes authPanelIn{from{opacity:0;transform:translateY(8px) scale(.992);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes authPanelOut{from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(-8px) scale(.992);}}
.account-create-shell-v30{min-height:calc(100vh - 96px)!important;padding:14px 0!important;}
.account-product-layout-v30{grid-template-columns:minmax(0,1.18fr) minmax(360px,.76fr)!important;}
.account-product-panel-v30{height:clamp(390px, calc(100vh - 150px), 510px)!important;}
.account-create-card-v30{max-width:none!important;padding:24px!important;}
.account-create-card-v30 h1{font-family:var(--font-display);font-size:clamp(34px,3.2vw,44px);line-height:.94;margin:3px 0 6px;color:#f8f1e4;}
.compact-account-form{gap:9px!important;}
.compact-account-form .input{min-height:42px!important;}
.compact-account-carousel{min-height:120px;}
.compact-account-carousel .login-feature-track{min-height:120px;}
.compact-account-carousel .login-feature-slide{padding:16px 18px 20px;}
.week-nav-active-panel-v25{min-height:152px!important;align-items:center!important;transition:min-height .18s ease, border-color .18s ease, background .18s ease;}
.postseason-empty-nav,.regular-season-empty-nav{min-height:96px!important;align-content:center!important;}
.postseason-empty-nav .button,.regular-season-empty-nav .button{justify-self:start!important;min-height:44px!important;padding:11px 18px!important;border-radius:15px!important;font-size:13px!important;}
/* Major-page navigation should land at the top; planner in-page controls keep their own scroll behavior. */
html.pb-force-top-pending{scroll-behavior:auto!important;}
@media(max-width:980px){
  .login-shell-v30{min-height:auto!important;padding:12px 0!important;align-items:start!important;}
  .login-product-layout-v30,.account-product-layout-v30{grid-template-columns:1fr!important;width:min(100% - 22px,720px)!important;gap:12px!important;}
  .login-product-panel-v30,.account-product-panel-v30{height:auto!important;min-height:0!important;padding:18px 20px!important;border-radius:24px!important;}
  .login-product-panel-v30 h1{font-size:clamp(42px,11vw,70px)!important;}
  .login-product-panel-v30 h2{font-size:clamp(22px,6vw,32px)!important;margin:9px 0 7px!important;}
  .login-product-panel-v30 .login-product-copy{font-size:13px!important;line-height:1.4!important;margin-bottom:12px!important;}
  .login-feature-carousel{min-height:112px;border-radius:22px;}
  .login-feature-track{min-height:112px;}
  .login-feature-slide{padding:14px 16px 18px;grid-template-columns:auto 1fr;gap:5px 10px;}
  .login-feature-slide span{width:34px;height:34px;border-radius:13px;font-size:12px;}
  .login-feature-slide strong{font-size:17px;}
  .login-feature-slide p{font-size:12px;line-height:1.32;}
  .login-product-panel-v30 .login-product-tagline{margin-top:10px!important;font-size:12px!important;}
  .login-card-v30,.account-create-card-v30{max-height:none!important;padding:18px!important;border-radius:23px!important;}
  .login-card-v30 .login-card-head h2,.login-card-v30 .login-pending-state h2{font-size:30px!important;}
  .week-nav-active-panel-v25{min-height:176px!important;}
}
@media(max-width:560px){
  .login-product-layout-v30,.account-product-layout-v30{width:min(100% - 18px,420px)!important;}
  .login-product-panel-v30{padding:15px 16px!important;}
  .login-product-panel-v30 h1{font-size:clamp(38px,12vw,58px)!important;}
  .login-product-panel-v30 h2{font-size:clamp(20px,6.6vw,28px)!important;}
  .login-product-copy{display:block!important;}
  .login-feature-carousel{min-height:104px;}
  .login-feature-track{min-height:104px;}
  .login-feature-slide p{display:block!important;}
  .login-card-v30 .input,.login-card-v30 .button{min-height:42px!important;}
  .login-check-row{grid-template-columns:1fr!important;}
}
.postseason-add-details .postseason-add-summary-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-height:44px!important;
  padding:11px 18px!important;
  border-radius:15px!important;
  list-style:none!important;
  margin-top:8px!important;
}
.postseason-add-details .postseason-add-summary-button::-webkit-details-marker{display:none;}

/* PBv1.8.7.31beta: user management, auth transition, and weekly navigator final polish. */
.account-notification-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  margin-left:7px;
  border-radius:999px;
  background:#d4a73b;
  color:#111;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:950;
  line-height:1;
  box-shadow:0 0 0 2px rgba(0,0,0,.25);
}
.pending-approval-card{
  border-color:rgba(212,167,59,.42)!important;
  background:linear-gradient(135deg,rgba(212,167,59,.09),rgba(255,255,255,.025))!important;
}
.pending-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(212,167,59,.5);
  background:rgba(212,167,59,.14);
  color:var(--gold);
  font-family:var(--font-mono);
  font-weight:950;
}
.pending-user-row{
  border-color:rgba(212,167,59,.28)!important;
  background:rgba(212,167,59,.055)!important;
}
.user-management-actions form[data-confirm-delete-user] .button.danger{
  background:rgba(224,82,82,.18);
  border-color:rgba(224,82,82,.5);
}
.nav-account-toggle .nav-user-name{display:inline-flex;align-items:center;gap:2px;}
@media(max-width:900px){.account-notification-badge{height:18px;min-width:18px;font-size:10px;margin-left:5px;}}

/* Keep auth card switches contained so Login -> Create Account -> Pending does not feel like the whole page jumps. */
.login-product-layout-v30{align-items:center!important;}
.login-card-v30{min-height:430px;}
.account-create-card-v30{min-height:430px;}
.login-pending-state{min-height:320px;align-content:center;}
html.pb-auth-submitting .login-card-v30,
html.pb-auth-submitting .account-create-card-v30{
  pointer-events:none;
}
.auth-panel-submitting::after{
  content:'Creating account...';
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  border:1px solid rgba(212,167,59,.36);
  background:rgba(8,12,20,.82);
  color:var(--gold);
  border-radius:999px;
  padding:8px 12px;
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  box-shadow:0 12px 26px rgba(0,0,0,.24);
}
.login-card-v30,.account-create-card-v30{position:relative;overflow:hidden;}
@media(max-width:900px){.login-card-v30,.account-create-card-v30{min-height:0;}.login-pending-state{min-height:240px;}}

/* Match Regular Season and Postseason empty-state action buttons exactly. */
.regular-season-empty-nav .button,
.postseason-empty-nav .button,
.postseason-empty-nav .postseason-add-summary-button{
  min-height:42px!important;
  border-radius:14px!important;
  padding:10px 14px!important;
  font-size:12px!important;
  letter-spacing:.055em!important;
  width:max-content;
  max-width:100%;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.postseason-empty-nav .postseason-add-summary-button::-webkit-details-marker{display:none;}
.postseason-empty-nav .postseason-add-summary-button{list-style:none;cursor:pointer;}

/* Reserve a stable selector area so phase text/empty states do not shove the page up and down. */
.weekly-navigator-card-v25{overflow:visible!important;}
.week-nav-active-panel-v25{
  min-height:176px;
  align-items:center!important;
}
.week-nav-active-panel-v25 .input{min-height:54px!important;}
.postseason-empty-nav,
.regular-season-empty-nav{
  min-height:126px;
  align-content:center;
}
.week-nav-panel-copy strong,.week-nav-panel-copy span{overflow-wrap:normal;}
@media(max-width:900px){
  .week-nav-active-panel-v25{min-height:0;}
  .postseason-empty-nav,.regular-season-empty-nav{min-height:0;}
  .regular-season-empty-nav .button,.postseason-empty-nav .button,.postseason-empty-nav .postseason-add-summary-button{width:100%;}
}

/* PBv1.8.7.32beta: sticky toast notifications, user-management polish, lift toggle, and dashboard calendar access. */
.flash-stack{
  position:fixed!important;
  top:86px!important;
  right:22px!important;
  z-index:9999!important;
  display:grid!important;
  gap:10px!important;
  width:min(390px,calc(100vw - 28px))!important;
  margin:0!important;
  pointer-events:none!important;
}
.flash{
  pointer-events:auto!important;
  border-radius:16px!important;
  padding:13px 15px!important;
  background:linear-gradient(135deg,rgba(20,24,32,.98),rgba(15,18,25,.96))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05)!important;
  color:#f2f5fa!important;
  font-weight:800!important;
  line-height:1.35!important;
  animation:pbToastIn .22s ease both!important;
}
.flash.success{border-color:rgba(212,167,59,.58)!important;background:linear-gradient(135deg,rgba(38,31,13,.98),rgba(18,20,27,.96))!important;}
.flash.error{border-color:rgba(224,82,82,.62)!important;background:linear-gradient(135deg,rgba(57,20,22,.98),rgba(18,20,27,.96))!important;}
.flash.warning{border-color:rgba(212,167,59,.65)!important;background:linear-gradient(135deg,rgba(45,33,12,.98),rgba(18,20,27,.96))!important;}
.flash.is-hiding{animation:pbToastOut .28s ease both!important;}
@keyframes pbToastIn{from{opacity:0;transform:translateY(-8px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes pbToastOut{from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(-8px) scale(.985);}}
@media(max-width:900px){.flash-stack{top:76px!important;left:10px!important;right:10px!important;width:auto!important;}.flash{font-size:13px!important;}}

/* Stabilize Weekly Planner nav height and match empty-state buttons exactly. */
.week-nav-active-panel-v25{
  min-height:224px!important;
  align-items:center!important;
  transition:border-color .16s ease, background .16s ease!important;
}
.regular-season-empty-nav,
.postseason-empty-nav{
  min-height:150px!important;
  align-content:center!important;
}
.regular-season-empty-nav .button,
.postseason-empty-nav .button,
.postseason-empty-nav .postseason-add-summary-button{
  min-height:44px!important;
  padding:11px 18px!important;
  border-radius:15px!important;
  font-size:13px!important;
  letter-spacing:.06em!important;
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  margin-top:8px!important;
}
.postseason-empty-nav .postseason-add-summary-button{background:var(--gold)!important;color:#151515!important;border-color:transparent!important;}
@media(max-width:900px){
  .week-nav-active-panel-v25{min-height:236px!important;}
  .regular-season-empty-nav,.postseason-empty-nav{min-height:152px!important;}
  .regular-season-empty-nav .button,.postseason-empty-nav .button,.postseason-empty-nav .postseason-add-summary-button{width:100%!important;}
}

/* Lift Day can be toggled off without blocking normal practice/script work. */
.lift-day-button.is-active{
  border-color:rgba(212,167,59,.52)!important;
  background:rgba(212,167,59,.14)!important;
  color:#f5d27a!important;
}
.normal-day-status-toggle-row{justify-content:center!important;align-items:center!important;}
.normal-day-status-toggle-row form{display:flex!important;align-items:center!important;}
.normal-day-status-toggle-row .button{min-width:108px!important;}

/* Dashboard weekly preview: Team Calendar action should feel useful but not cluttered. */
.dashboard-team-calendar-button{
  min-height:42px!important;
  padding:10px 14px!important;
  border-radius:14px!important;
  border-color:rgba(212,167,59,.32)!important;
  background:rgba(212,167,59,.08)!important;
  color:#f3d588!important;
  white-space:nowrap!important;
}
.dashboard-team-calendar-button:hover{background:rgba(212,167,59,.14)!important;border-color:rgba(212,167,59,.55)!important;}
@media(max-width:700px){
  .dashboard-team-calendar-button{order:3!important;width:100%!important;justify-content:center!important;}
  .current-week-preview-card .dashboard-week-nav-actions .dashboard-team-calendar-button{width:100%!important;min-width:0!important;}
}

/* PBv1.8.7.33beta: auth stability, user display settings, dashboard nav layout, and diagram resize access. */
.login-product-layout-v30,
.account-product-layout-v30{
  align-items:stretch!important;
}
.login-product-panel-v30,
.account-product-panel-v30{
  height:clamp(450px, calc(100vh - 146px), 555px)!important;
}
.login-card-v30,
.account-create-card-v30{
  min-height:450px!important;
  height:100%!important;
  max-height:none!important;
}
.login-card-v30 .auth-view,
.account-create-card-v30 .auth-view,
.login-card-v30 .login-pending-state{
  min-height:360px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.login-card-v30 .stack-form,
.account-create-card-v30 .stack-form{
  width:100%;
}
@media(max-width:980px){
  .login-product-panel-v30,
  .account-product-panel-v30{
    height:auto!important;
    min-height:0!important;
  }
  .login-card-v30,
  .account-create-card-v30{
    min-height:0!important;
    height:auto!important;
  }
  .login-card-v30 .auth-view,
  .account-create-card-v30 .auth-view,
  .login-card-v30 .login-pending-state{
    min-height:0!important;
  }
}

.dashboard-week-nav-actions-v33{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
  min-width:min(100%,360px);
}
.dashboard-week-primary-row{
  display:grid;
  grid-template-columns:54px minmax(150px,1fr) 54px;
  gap:8px;
  align-items:center;
}
.dashboard-week-secondary-row{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.dashboard-week-primary-row .dashboard-week-step{
  min-width:0!important;
  width:100%;
  min-height:44px!important;
  padding:10px 0!important;
  font-size:18px!important;
  border-radius:15px!important;
}
.dashboard-week-primary-row .current-week-open-button{
  width:100%;
  min-height:44px!important;
  border-radius:15px!important;
  letter-spacing:.07em!important;
}
.dashboard-week-secondary-row .dashboard-team-calendar-button,
.dashboard-week-secondary-row .dashboard-week-current{
  width:100%;
  justify-content:center!important;
  min-height:42px!important;
}
.dashboard-week-secondary-row .dashboard-week-current{
  border-color:rgba(255,255,255,.18)!important;
  color:var(--soft)!important;
}
@media(max-width:760px){
  .current-week-preview-topline{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  .dashboard-week-nav-actions-v33{min-width:0;width:100%;}
}

.regular-season-empty-nav .planner-empty-action,
.postseason-empty-nav .planner-empty-action,
.postseason-empty-nav .postseason-add-summary-button.planner-empty-action{
  min-width:230px!important;
  min-height:46px!important;
  padding:12px 20px!important;
  border-radius:16px!important;
  font-family:var(--font-cond)!important;
  text-transform:uppercase!important;
  letter-spacing:.065em!important;
  font-size:13px!important;
  line-height:1!important;
  margin-top:10px!important;
  box-shadow:0 12px 26px rgba(0,0,0,.22)!important;
}
.postseason-add-details{display:inline-block;max-width:100%;}
.postseason-add-details[open]{display:block;}
@media(max-width:900px){
  .regular-season-empty-nav .planner-empty-action,
  .postseason-empty-nav .planner-empty-action,
  .postseason-empty-nav .postseason-add-summary-button.planner-empty-action{
    width:100%!important;
    min-width:0!important;
  }
}

.user-settings-card{max-width:980px;margin:0 auto;}
.user-display-settings-form{margin-top:20px;gap:18px!important;}
.settings-option-group{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:16px;
  align-items:start;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.022);
  border-radius:20px;
  padding:18px;
}
.settings-radio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.settings-radio-card{
  position:relative;
  display:grid!important;
  gap:5px!important;
  padding:14px!important;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(0,0,0,.12);
  cursor:pointer;
  min-height:108px;
}
.settings-radio-card input{position:absolute;inset:12px 12px auto auto;width:16px;height:16px;accent-color:var(--gold);}
.settings-radio-card strong{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;color:var(--ink);font-size:17px;}
.settings-radio-card span{color:var(--mute);font-size:12px;line-height:1.35;}
.settings-radio-card.is-active,
.settings-radio-card:has(input:checked){border-color:rgba(212,167,59,.62);background:rgba(212,167,59,.085);box-shadow:inset 0 1px 0 rgba(255,255,255,.045);}
.settings-actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
body.site-scale-smaller main.shell{zoom:.94;}
body.site-scale-larger main.shell{zoom:1.06;}
body.site-scale-smaller .topbar{font-size:.96em;}
body.site-scale-larger .topbar{font-size:1.03em;}
body.site-spacing-condensed .shell{padding-top:18px;padding-bottom:28px;}
body.site-spacing-spacious .shell{padding-top:32px;padding-bottom:48px;}
body.site-spacing-condensed .form-card,
body.site-spacing-condensed .scripts-card,
body.site-spacing-condensed .detail-main,
body.site-spacing-condensed .weekly-builder-day-column,
body.site-spacing-condensed .weekly-practice-plan-slot,
body.site-spacing-condensed .weekly-side-block{padding-block:calc(1em * .72);}
body.site-spacing-spacious .form-card,
body.site-spacing-spacious .scripts-card,
body.site-spacing-spacious .detail-main,
body.site-spacing-spacious .weekly-builder-day-column,
body.site-spacing-spacious .weekly-practice-plan-slot,
body.site-spacing-spacious .weekly-side-block{padding-block:calc(1em * 1.25);}
body.site-spacing-condensed .play-grid,
body.site-spacing-condensed .recent-grid,
body.site-spacing-condensed .action-grid,
body.site-spacing-condensed .script-list,
body.site-spacing-condensed .weekly-day-board{gap:12px!important;}
body.site-spacing-spacious .play-grid,
body.site-spacing-spacious .recent-grid,
body.site-spacing-spacious .action-grid,
body.site-spacing-spacious .script-list,
body.site-spacing-spacious .weekly-day-board{gap:22px!important;}
@media(max-width:900px){
  .settings-option-group{grid-template-columns:1fr;padding:15px;}
  .settings-radio-grid{grid-template-columns:1fr;}
  body.site-scale-smaller main.shell,
  body.site-scale-larger main.shell{zoom:1;}
}

.filter-panel .thumb-size-control{
  position:sticky;
  top:0;
  z-index:6;
  padding:9px 10px;
  margin:6px 0 8px;
  border:1px solid rgba(212,167,59,.22);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(23,26,33,.98),rgba(17,20,27,.96));
  box-shadow:0 12px 26px rgba(0,0,0,.20);
}
.thumb-size-control input[data-thumb-zoom]{
  min-height:30px;
  cursor:pointer;
  pointer-events:auto;
}
html[data-thumb-zoom="0"] .filter-panel .thumb-size-control{
  border-color:rgba(212,167,59,.58);
  background:linear-gradient(135deg,rgba(44,34,13,.98),rgba(17,20,27,.96));
}
.bank-thumb-resize-rescue{
  position:fixed;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:80;
  display:none;
  width:min(420px,calc(100vw - 24px));
  padding:10px 12px;
  border:1px solid rgba(212,167,59,.48);
  border-radius:18px;
  background:rgba(15,17,21,.96);
  box-shadow:0 18px 42px rgba(0,0,0,.40);
}
html[data-thumb-zoom="0"] body.has-bank-catalog .bank-thumb-resize-rescue,
html[data-thumb-zoom="0"] body:has(.catalog-layout) .bank-thumb-resize-rescue{display:block;}
.bank-thumb-resize-rescue .thumb-size-control{position:static;margin:0;padding:0;border:0;background:transparent;box-shadow:none;}

/* PBv1.8.7.34beta: login quote intro, coach image wall, quote admin, and smoother planner actions. */
html.pb-login-leaving .login-shell::after{display:none!important;content:none!important;}
.dashboard-hero-stage.has-login-quote{min-height:clamp(390px,58vh,620px);overflow:hidden;border-radius:24px;}
.login-quote-intro{grid-area:1 / 1;position:relative;z-index:5;min-height:clamp(390px,58vh,620px);border:1px solid rgba(212,167,59,.28);border-radius:24px;overflow:hidden;display:grid;place-items:center;background:#080b10;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:pbLoginQuoteStage 7.2s cubic-bezier(.2,.72,.18,1) both;}
.coach-wall-bg{position:absolute;inset:-12px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,1fr);gap:8px;opacity:.22;filter:grayscale(.55) saturate(.85) blur(1.1px);transform:scale(1.02);}
.coach-wall-tile{min-width:0;min-height:0;border-radius:18px;overflow:hidden;background:#111722;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);}
.coach-wall-tile img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.08);}
.login-quote-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(212,167,59,.12),rgba(8,11,16,.38) 32%,rgba(8,11,16,.86) 72%),linear-gradient(135deg,rgba(0,0,0,.70),rgba(18,22,32,.82));z-index:1;}
.login-quote-card{position:relative;z-index:2;width:min(920px,calc(100% - 42px));padding:clamp(24px,4vw,46px);border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(180deg,rgba(10,14,22,.74),rgba(10,14,22,.56));box-shadow:0 26px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(12px);text-align:center;animation:pbLoginQuoteCard 7.2s cubic-bezier(.2,.72,.18,1) both;}
.login-quote-card blockquote{margin:0;color:#fff;font-family:var(--font-cond);font-size:clamp(28px,4.8vw,58px);line-height:1.04;font-weight:900;letter-spacing:.012em;text-transform:none;text-wrap:balance;text-shadow:0 4px 26px rgba(0,0,0,.62);}
.login-quote-byline{margin-top:20px;color:var(--gold);font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(13px,1.7vw,18px);line-height:1.35;}
.dashboard-hero-stage.has-login-quote .dashboard-welcome-intro{opacity:0;animation-delay:7.05s!important;}
.dashboard-hero-stage.has-login-quote .dashboard-welcome-kicker,.dashboard-hero-stage.has-login-quote .dashboard-welcome-title{animation-delay:7.05s!important;}
.dashboard-hero-stage.has-login-quote .dashboard-hero-after-welcome{animation-delay:9.76s!important;}
.dashboard-hero-stage.has-login-quote + .dashboard-content-shell.dashboard-login-enter{opacity:0;animation-delay:10.35s!important;}
@keyframes pbLoginQuoteStage{0%{opacity:0;transform:scale(.992);filter:blur(2px)}13%{opacity:1;transform:scale(1);filter:blur(0)}78%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.008);filter:blur(1.4px);pointer-events:none}}
@keyframes pbLoginQuoteCard{0%{opacity:0;transform:translateY(18px) scale(.985)}14%{opacity:1;transform:translateY(0) scale(1)}76%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(.992)}}
.dashboard-mini-day-card.is-game-day{border-color:rgba(212,167,59,.78)!important;background:linear-gradient(135deg,rgba(212,167,59,.18),rgba(255,255,255,.035))!important;}
.dashboard-mini-day-card .dashboard-game-day-label{font-size:clamp(24px,2.6vw,42px)!important;line-height:.94!important;color:var(--gold)!important;letter-spacing:.06em;}
.weekly-game-day-card.full-day-game-card .game-day-actions{flex-wrap:wrap!important;}
.weekly-game-day-card.full-day-game-card .game-day-actions .game-day-action-button{min-width:158px;}
html.pb-weekly-loading .weekly-selector-card,html.pb-weekly-loading .weekly-board-card{opacity:1!important;transform:none!important;transition:none!important;}
html.pb-weekly-loading .weekly-selector-card::after{content:none!important;display:none!important;}
.weekly-board-card,.weekly-day-board{scroll-behavior:auto!important;}
.quote-admin-create-card,.quote-admin-table-card{padding:20px;margin-bottom:18px;}
.quote-admin-form{display:grid;gap:10px;align-items:end;}
.quote-admin-form label{display:grid;gap:6px;color:var(--soft);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.quote-admin-add-form{grid-template-columns:minmax(320px,1.35fr) repeat(3,minmax(160px,.55fr)) auto;}
.quote-admin-list{display:grid;gap:12px;}
.quote-admin-row{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;}
.quote-admin-row.is-inactive{opacity:.58;}
.quote-admin-edit-form{grid-template-columns:minmax(320px,1.4fr) minmax(150px,.5fr) minmax(120px,.35fr) minmax(180px,.6fr) 86px 92px auto;}
.quote-active-check{align-self:center;display:flex!important;align-items:center;gap:8px;margin-bottom:10px;}
.quote-active-check input{accent-color:var(--gold);}
.quote-admin-actions,.quote-delete-form{display:flex;align-items:end;justify-content:flex-end;margin:0;}
.quote-admin-main-field textarea{min-height:82px;}
@media(max-width:980px){.coach-wall-bg{grid-template-columns:repeat(2,1fr);opacity:.18;}.login-quote-card{width:min(94vw,760px);padding:24px 20px;}.login-quote-card blockquote{font-size:clamp(25px,8vw,42px);}.quote-admin-add-form,.quote-admin-edit-form,.quote-admin-row{grid-template-columns:1fr;}.quote-delete-form,.quote-admin-actions{justify-content:stretch}.quote-delete-form .button,.quote-admin-actions .button{width:100%;}.dashboard-hero-stage.has-login-quote{min-height:520px}.login-quote-intro{min-height:520px}}
@media (prefers-reduced-motion: reduce){.login-quote-intro,.login-quote-card{animation:none!important;opacity:1!important}.dashboard-hero-stage.has-login-quote .dashboard-welcome-intro{display:none!important}.dashboard-hero-stage.has-login-quote .dashboard-hero-after-welcome,.dashboard-hero-stage.has-login-quote + .dashboard-content-shell.dashboard-login-enter{opacity:1!important;animation:none!important}}

/* PBv1.8.7.35beta: smoother login-to-quote transition and more visible coach collage. */
html.pb-login-leaving body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:34;
  pointer-events:none;
  background:
    radial-gradient(circle at center,rgba(212,167,59,.12),rgba(7,10,16,.58) 42%,rgba(3,5,9,.92) 100%),
    linear-gradient(135deg,rgba(6,9,15,.74),rgba(10,14,22,.94));
  opacity:0;
  animation:pbAuthToQuoteVeilV35 .48s cubic-bezier(.22,.72,.18,1) both;
}
html.pb-login-leaving .login-card{
  animation:pbLoginCardExitV35 .44s cubic-bezier(.22,.72,.18,1) both!important;
}
@keyframes pbAuthToQuoteVeilV35{from{opacity:0;}to{opacity:1;}}
@keyframes pbLoginCardExitV35{from{opacity:1;transform:translateY(0) scale(1);filter:none;}to{opacity:0;transform:translateY(-8px) scale(.992);filter:blur(.6px);}}
html.pb-login-entering body{background:#070a10;}
html.pb-login-entering.pb-login-enter-ready body{transition:opacity .72s cubic-bezier(.22,.72,.18,1)!important;}
.dashboard-hero-stage-intro.has-login-quote{
  animation:pbQuoteShellFadeInV35 .68s cubic-bezier(.22,.72,.18,1) both!important;
  transform:none!important;
}
@keyframes pbQuoteShellFadeInV35{from{opacity:0;filter:blur(1.5px);}to{opacity:1;filter:blur(0);}}
.dashboard-hero-stage.has-login-quote{min-height:clamp(450px,68vh,720px);}
.login-quote-intro{
  min-height:clamp(450px,68vh,720px)!important;
  background:#05070d!important;
  animation:pbLoginQuoteStageV35 7.35s cubic-bezier(.2,.72,.18,1) both!important;
}
.coach-wall-bg{
  inset:-8px!important;
  gap:10px!important;
  opacity:.44!important;
  filter:grayscale(.32) saturate(1.08) contrast(1.08) blur(.25px)!important;
  transform:scale(1.012)!important;
}
.coach-wall-tile{
  position:relative!important;
  border-radius:20px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.18)!important;
}
.coach-wall-tile::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.16));
  pointer-events:none;
}
.coach-wall-tile img{filter:contrast(1.1) brightness(1.05)!important;}
.login-quote-overlay{
  background:
    radial-gradient(circle at center,rgba(212,167,59,.09),rgba(7,10,16,.28) 34%,rgba(7,10,16,.62) 82%),
    linear-gradient(135deg,rgba(0,0,0,.42),rgba(13,18,28,.58))!important;
}
.login-quote-card{
  background:linear-gradient(180deg,rgba(8,12,20,.70),rgba(8,12,20,.50))!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  animation:pbLoginQuoteCardV35 7.35s cubic-bezier(.2,.72,.18,1) both!important;
}
@keyframes pbLoginQuoteStageV35{0%{opacity:0;filter:blur(1.5px)}10%{opacity:1;filter:blur(0)}79%{opacity:1;filter:blur(0)}100%{opacity:0;filter:blur(.8px);pointer-events:none}}
@keyframes pbLoginQuoteCardV35{0%{opacity:0;transform:translateY(10px) scale(.992)}13%{opacity:1;transform:translateY(0) scale(1)}77%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(.996)}}
@media(max-width:980px){
  .coach-wall-bg{grid-template-columns:repeat(2,1fr)!important;opacity:.38!important;gap:8px!important;}
  .dashboard-hero-stage.has-login-quote,.login-quote-intro{min-height:560px!important;}
}
@media (prefers-reduced-motion: reduce){
  html.pb-login-leaving body::before,.dashboard-hero-stage-intro.has-login-quote,.login-quote-intro,.login-quote-card{animation:none!important;opacity:1!important;filter:none!important;}
}


/* PBv1.8.7.36beta: sync login product-info fade with the login card/pill before quote intro. */
html.pb-login-leaving .login-product-panel-v30,
html.pb-login-leaving .login-product-layout-v30 > .login-product-panel{
  animation:pbLoginProductPanelExitV36 .44s cubic-bezier(.22,.72,.18,1) both!important;
  transform-origin:center center;
}
html.pb-login-leaving .login-product-panel-v30 .login-feature-slide,
html.pb-login-leaving .login-product-panel-v30 .login-feature-dots,
html.pb-login-leaving .login-product-panel-v30 .login-product-tagline{
  animation:none!important;
}
@keyframes pbLoginProductPanelExitV36{
  from{opacity:1;transform:translateY(0) scale(1);filter:none;}
  to{opacity:0;transform:translateY(-8px) scale(.992);filter:blur(.6px);}
}
@media (prefers-reduced-motion: reduce){
  html.pb-login-leaving .login-product-panel-v30,
  html.pb-login-leaving .login-product-layout-v30 > .login-product-panel{animation:none!important;opacity:0!important;filter:none!important;}
}


/* PBv1.8.7.37beta: adjust the second top-row coach tile upward so the head is not cropped. */
.coach-wall-tile:nth-child(2) img{object-position:center 12%!important;}

/* PBv1.8.7.38beta: reliable desktop-only Bank thumbnail slider, quick-nav search, and no-jump lift toggles. */
@media (min-width:901px){
  .catalog-layout .play-grid{grid-template-columns:repeat(auto-fill,minmax(var(--bank-card-min,260px),1fr))!important;gap:var(--bank-grid-gap,18px)!important;}
  .catalog-layout .diagram-thumb{height:var(--bank-thumb-height,170px)!important;}
  .catalog-layout .play-title{font-size:var(--bank-title-size,18px)!important;}
}
@media (max-width:900px){
  .catalog-layout .thumb-size-control,.bank-thumb-resize-rescue{display:none!important;}
}
.bank-thumb-resize-rescue{display:none!important;}
.quick-nav-search{position:relative;min-width:210px;max-width:300px;flex:0 1 260px;}
.quick-nav-input{width:100%;height:38px;border:1px solid rgba(212,167,59,.25);border-radius:999px;background:rgba(255,255,255,.045);color:var(--ink);padding:8px 15px;font-size:13px;font-weight:800;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.quick-nav-input::placeholder{color:rgba(223,227,234,.62);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;font-weight:900;}
.quick-nav-input:focus{border-color:rgba(212,167,59,.68);background:rgba(212,167,59,.08);box-shadow:0 0 0 3px rgba(212,167,59,.12);}
.quick-nav-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:120;display:grid;gap:4px;padding:7px;border:1px solid rgba(212,167,59,.28);border-radius:16px;background:rgba(15,17,21,.98);box-shadow:0 24px 48px rgba(0,0,0,.42);backdrop-filter:blur(14px);}
.quick-nav-suggestion{width:100%;border:0;border-radius:12px;background:transparent;color:var(--ink);padding:9px 10px;text-align:left;cursor:pointer;display:grid;gap:2px;}
.quick-nav-suggestion span{font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:14px;color:#f4efe4;}
.quick-nav-suggestion small{font-size:11px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.quick-nav-suggestion:hover,.quick-nav-suggestion.is-active{background:rgba(212,167,59,.15);}
.normal-day-lift-toggle.is-saving button,.normal-day-lift-toggle button:disabled{opacity:.72;cursor:wait;}
@media(max-width:900px){.quick-nav-search{width:100%;max-width:none;min-width:0;flex:1 1 100%;}.quick-nav-input{height:42px;border-radius:14px}.quick-nav-suggestions{position:static;margin-top:6px;}}

/* PBv1.8.7.39beta: top-nav fit polish, quick-nav placement, password reveal, and planner no-jump action states. */
@media (min-width:901px){
  .topbar{
    gap:18px!important;
    padding:0 24px!important;
    min-height:70px!important;
    overflow:visible!important;
  }
  .topbar .brand{
    flex:0 1 390px!important;
    min-width:220px!important;
    max-width:420px!important;
    overflow:hidden!important;
  }
  .topbar .brand-wordmark{
    min-width:0!important;
    overflow:hidden!important;
  }
  .topbar .brand-primary{
    max-width:315px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    line-height:1!important;
  }
  .topbar .brand-secondary{white-space:nowrap!important;}
  .topbar .nav{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
  }
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    min-height:42px!important;
    padding:8px 9px!important;
    font-size:clamp(12px,.82vw,14px)!important;
    line-height:1.12!important;
    text-align:center!important;
    white-space:normal!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-shrink:0!important;
  }
  .topbar .nav > a{max-width:118px!important;}
  .topbar .nav-dropdown{flex:0 0 auto!important;min-width:0!important;}
  .topbar .nav-dropdown > .nav-dropdown-toggle{max-width:124px!important;}
  .topbar .nav-program-dropdown > .nav-dropdown-toggle{max-width:132px!important;}
  .topbar .nav-account-toggle{
    max-width:178px!important;
    min-width:146px!important;
    padding:8px 10px!important;
  }
  .nav-account-toggle .nav-user-name{max-width:92px!important;}
  .quick-nav-search{
    order:0;
    min-width:170px!important;
    max-width:238px!important;
    flex:1 1 220px!important;
  }
  .quick-nav-input{height:39px!important;font-size:12px!important;padding:8px 14px!important;}
  .quick-nav-input::placeholder{letter-spacing:.065em!important;}
  body.team-branded .topbar .nav > a,
  body.team-branded .topbar .nav-dropdown > .nav-dropdown-toggle,
  body.team-branded .topbar .nav-account-toggle{
    color:var(--team-primary-text, #fff)!important;
  }
}
@media (min-width:901px) and (max-width:1480px){
  .topbar{padding:0 18px!important;gap:12px!important;}
  .topbar .brand{flex-basis:330px!important;max-width:350px!important;min-width:190px!important;}
  .topbar .brand-logo{width:38px!important;height:38px!important;}
  .topbar .brand-primary{font-size:30px!important;max-width:260px!important;}
  .topbar .brand-secondary{font-size:15px!important;}
  .topbar .nav{gap:6px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{font-size:12px!important;padding:7px 8px!important;min-height:40px!important;max-width:106px!important;}
  .topbar .nav-program-dropdown > .nav-dropdown-toggle{max-width:118px!important;}
  .quick-nav-search{min-width:150px!important;max-width:210px!important;flex-basis:190px!important;}
  .nav-account-toggle{min-width:132px!important;max-width:158px!important;}
}
.password-field-wrap{position:relative;display:block;width:100%;}
.password-field-wrap > input{padding-right:48px!important;}
.password-eye-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.055);color:var(--soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;}
.password-eye-toggle svg{width:19px;height:19px;display:block;}
.password-eye-toggle:hover,.password-eye-toggle.is-showing{background:rgba(212,167,59,.16);color:var(--gold);}
.weekly-board-card .off-day-toggle-form button:disabled,.weekly-board-card .weekend-plus-button.is-saving{opacity:.72!important;cursor:wait!important;transform:none!important;}
.weekly-board-card{overflow-anchor:none;}


/* PBv1.8.7.40beta: remove extra Program Builder nav, make quick-nav inline autocomplete, and tighten topbar fit. */
.quick-nav-suggestions{display:none!important;}
.quick-nav-search{position:relative!important;min-width:0!important;max-width:none!important;flex:0 0 174px!important;width:174px!important;}
.quick-nav-ghost{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none;padding:0 13px;color:rgba(223,227,234,.32);font-family:var(--font-cond);font-weight:900;text-transform:uppercase;letter-spacing:.075em;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:0;}
.quick-nav-input{position:relative;z-index:1;height:34px!important;padding:7px 13px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;font-family:var(--font-cond)!important;text-transform:uppercase!important;letter-spacing:.075em!important;background:rgba(255,255,255,.038)!important;}
.quick-nav-input:not(:placeholder-shown){background:rgba(255,255,255,.025)!important;}
.quick-nav-input:focus{background:rgba(212,167,59,.07)!important;}
.quick-nav-input::placeholder{font-size:12px!important;letter-spacing:.075em!important;}
@media (min-width:901px){
  .topbar{min-height:64px!important;padding:0 18px!important;gap:12px!important;}
  .topbar .brand{flex:0 1 370px!important;min-width:185px!important;max-width:390px!important;}
  .topbar .brand-logo{width:38px!important;height:38px!important;}
  .topbar .brand-primary{font-size:clamp(26px,1.8vw,34px)!important;max-width:285px!important;}
  .topbar .brand-secondary{font-size:14px!important;}
  .topbar .nav{justify-content:flex-end!important;gap:6px!important;min-width:0!important;}
  .topbar .nav > a,.topbar .nav-dropdown > .nav-dropdown-toggle,.topbar .nav-account-toggle{min-height:38px!important;padding:6px 8px!important;font-size:clamp(11px,.75vw,13px)!important;line-height:1.08!important;max-width:112px!important;}
  .topbar .nav-dropdown > .nav-dropdown-toggle{max-width:118px!important;}
  .topbar .nav-account-toggle{min-width:132px!important;max-width:158px!important;padding:6px 10px!important;}
  .nav-account-toggle .nav-user-name{max-width:86px!important;}
}
@media (min-width:901px) and (max-width:1480px){
  .topbar{padding:0 14px!important;gap:10px!important;}
  .topbar .brand{flex-basis:320px!important;max-width:335px!important;min-width:175px!important;}
  .topbar .brand-primary{font-size:28px!important;max-width:245px!important;}
  .quick-nav-search{flex-basis:154px!important;width:154px!important;}
  .quick-nav-input,.quick-nav-ghost{font-size:11px!important;letter-spacing:.055em!important;}
  .topbar .nav{gap:5px!important;}
  .topbar .nav > a,.topbar .nav-dropdown > .nav-dropdown-toggle,.topbar .nav-account-toggle{font-size:11px!important;padding:6px 7px!important;max-width:100px!important;}
  .topbar .nav-account-toggle{min-width:126px!important;max-width:150px!important;}
}
@media(max-width:900px){.quick-nav-search{width:100%!important;flex:1 1 100%!important}.quick-nav-ghost{height:42px}.quick-nav-input{height:42px!important;border-radius:14px!important}}


/* PBv1.8.7.42beta: desktop nav fit cleanup -- no stacked labels, no clipped team/user names, smaller Search placeholder. */
@media (min-width:901px){
  .topbar{
    display:flex!important;
    align-items:center!important;
    min-height:64px!important;
    height:auto!important;
    padding:0 20px!important;
    gap:16px!important;
    overflow:visible!important;
  }
  .topbar .brand{
    flex:1 1 auto!important;
    min-width:360px!important;
    max-width:none!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    overflow:visible!important;
  }
  .topbar .brand-logo{width:40px!important;height:40px!important;flex:0 0 auto!important;}
  .topbar .brand-wordmark{
    display:flex!important;
    align-items:baseline!important;
    gap:14px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .topbar .brand-primary{
    font-size:clamp(29px,1.8vw,36px)!important;
    max-width:none!important;
    width:auto!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1!important;
  }
  .topbar .brand-secondary{
    display:inline-flex!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:18px!important;
    line-height:1!important;
  }
  .topbar .nav{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .quick-nav-search{
    order:0!important;
    flex:0 0 150px!important;
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
  }
  .quick-nav-input{
    height:34px!important;
    padding:7px 12px!important;
    font-size:12px!important;
    letter-spacing:.06em!important;
  }
  .quick-nav-input::placeholder{content:'Search';font-size:12px!important;letter-spacing:.06em!important;}
  .quick-nav-ghost{font-size:12px!important;letter-spacing:.06em!important;padding:0 12px!important;}
  .quick-nav-suggestions{display:none!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    min-height:38px!important;
    max-width:none!important;
    width:auto!important;
    padding:7px 8px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1!important;
    font-size:clamp(12px,.74vw,15px)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  .topbar .nav-dropdown{flex:0 0 auto!important;white-space:nowrap!important;}
  .topbar .nav-dropdown > .nav-dropdown-toggle{white-space:nowrap!important;}
  .topbar .nav-account-toggle{
    min-width:168px!important;
    padding:7px 12px!important;
    gap:7px!important;
  }
  .nav-account-toggle .nav-user-name,
  .nav-account-toggle .nav-user-role{
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .nav-account-toggle .nav-user-role{font-size:11px!important;letter-spacing:.055em!important;}
  .nav-user-caret{flex:0 0 auto!important;}
}
@media (min-width:901px) and (max-width:1480px){
  .topbar{padding:0 16px!important;gap:12px!important;}
  .topbar .brand{min-width:310px!important;}
  .topbar .brand-primary{font-size:28px!important;}
  .topbar .brand-secondary{font-size:16px!important;}
  .topbar .nav{gap:9px!important;}
  .quick-nav-search{flex-basis:130px!important;width:130px!important;min-width:130px!important;max-width:130px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    font-size:12px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .topbar .nav-account-toggle{min-width:154px!important;padding-left:10px!important;padding-right:10px!important;}
}
@media (min-width:901px) and (max-width:1240px){
  .topbar{gap:8px!important;padding:0 12px!important;}
  .topbar .brand{min-width:260px!important;}
  .topbar .brand-primary{font-size:24px!important;}
  .topbar .brand-secondary{display:none!important;}
  .topbar .nav{gap:6px!important;}
  .quick-nav-search{flex-basis:112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{font-size:11px!important;}
  .topbar .nav-account-toggle{min-width:142px!important;}
}


/* PBv1.8.7.42beta: full-width responsive desktop nav -- use available banner space without clipping. */
@media (min-width:901px){
  .topbar{
    height:72px!important;
    min-height:72px!important;
    padding:0 clamp(18px,1.55vw,34px)!important;
    gap:clamp(16px,1.6vw,30px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    overflow:visible!important;
  }
  .topbar .brand{
    flex:1 1 44%!important;
    min-width:0!important;
    max-width:760px!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:clamp(10px,.9vw,16px)!important;
    overflow:visible!important;
  }
  .topbar .brand-logo{
    width:clamp(38px,2.75vw,52px)!important;
    height:clamp(38px,2.75vw,52px)!important;
    flex:0 0 auto!important;
  }
  .topbar .brand-wordmark{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:clamp(14px,1.25vw,24px)!important;
    overflow:visible!important;
  }
  .topbar .brand-primary{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    font-size:clamp(27px,1.92vw,39px)!important;
    line-height:.96!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .topbar .brand-secondary{
    flex:0 0 auto!important;
    display:inline-flex!important;
    white-space:nowrap!important;
    font-size:clamp(17px,1.1vw,23px)!important;
    line-height:1!important;
    overflow:visible!important;
  }
  .topbar .nav{
    flex:1 1 56%!important;
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(16px,1.35vw,28px)!important;
    overflow:visible!important;
  }
  .quick-nav-search{
    flex:0 1 clamp(150px,10vw,210px)!important;
    width:clamp(150px,10vw,210px)!important;
    min-width:130px!important;
    max-width:210px!important;
    order:0!important;
  }
  .quick-nav-input{
    height:40px!important;
    padding:8px 15px!important;
    font-size:clamp(12px,.72vw,14px)!important;
    letter-spacing:.06em!important;
  }
  .quick-nav-input::placeholder{font-size:clamp(12px,.72vw,14px)!important;letter-spacing:.06em!important;}
  .quick-nav-ghost{font-size:clamp(12px,.72vw,14px)!important;letter-spacing:.06em!important;padding:0 15px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    flex:0 0 auto!important;
    max-width:none!important;
    width:auto!important;
    min-height:40px!important;
    padding:8px 0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1!important;
    font-size:clamp(12px,.82vw,16px)!important;
    letter-spacing:.06em!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .topbar .nav-dropdown{flex:0 0 auto!important;min-width:0!important;white-space:nowrap!important;}
  .topbar .nav-dropdown > .nav-dropdown-toggle{white-space:nowrap!important;}
  .topbar .nav-account-toggle{
    min-width:clamp(170px,10.5vw,220px)!important;
    padding:8px clamp(12px,.9vw,18px)!important;
    gap:8px!important;
    justify-content:center!important;
  }
  .nav-account-toggle .nav-user-name,
  .nav-account-toggle .nav-user-role{
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .nav-account-toggle .nav-user-role{font-size:clamp(10px,.64vw,12px)!important;letter-spacing:.055em!important;}
}
@media (min-width:901px) and (max-width:1680px){
  .topbar{padding:0 clamp(14px,1.1vw,22px)!important;gap:clamp(12px,1.05vw,20px)!important;}
  .topbar .brand{flex-basis:42%!important;max-width:680px!important;}
  .topbar .brand-primary{font-size:clamp(25px,1.7vw,34px)!important;}
  .topbar .brand-secondary{font-size:clamp(15px,1vw,19px)!important;}
  .topbar .nav{gap:clamp(12px,1vw,18px)!important;}
  .quick-nav-search{flex-basis:clamp(130px,9vw,170px)!important;width:clamp(130px,9vw,170px)!important;max-width:170px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{font-size:clamp(11px,.76vw,14px)!important;}
  .topbar .nav-account-toggle{min-width:clamp(158px,10vw,190px)!important;}
}
@media (min-width:901px) and (max-width:1320px){
  .topbar{gap:10px!important;padding:0 12px!important;}
  .topbar .brand{flex-basis:39%!important;max-width:520px!important;}
  .topbar .brand-wordmark{gap:12px!important;}
  .topbar .brand-primary{font-size:23px!important;}
  .topbar .brand-secondary{font-size:14px!important;}
  .topbar .nav{gap:8px!important;}
  .quick-nav-search{flex-basis:112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;}
  .quick-nav-input{height:36px!important;padding:7px 11px!important;font-size:11px!important;}
  .quick-nav-ghost{font-size:11px!important;padding:0 11px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{font-size:11px!important;letter-spacing:.045em!important;}
  .topbar .nav-account-toggle{min-width:144px!important;padding-left:9px!important;padding-right:9px!important;}
  .nav-account-toggle .nav-user-role{font-size:9.5px!important;}
}
@media (min-width:901px) and (max-width:1120px){
  .topbar .brand-secondary{display:none!important;}
  .topbar .brand-primary{font-size:22px!important;}
  .quick-nav-search{display:none!important;}
  .topbar .nav{gap:7px!important;}
}


/* PBv1.8.7.43beta: coach-facing full-width desktop nav -- fill the bar with larger click targets. */
@media (min-width:901px){
  .topbar{
    min-height:82px!important;
    height:auto!important;
    padding:0 clamp(24px,1.8vw,38px)!important;
    gap:clamp(24px,2.1vw,44px)!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .topbar .brand{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    gap:clamp(12px,1vw,18px)!important;
    overflow:visible!important;
  }
  .topbar .brand-logo{
    width:clamp(44px,3vw,56px)!important;
    height:clamp(44px,3vw,56px)!important;
  }
  .topbar .brand-wordmark{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:none!important;
    gap:clamp(18px,1.55vw,32px)!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .topbar .brand-primary{
    flex:0 1 auto!important;
    font-size:clamp(34px,2.05vw,44px)!important;
    line-height:.98!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .topbar .brand-secondary{
    display:inline-flex!important;
    flex:0 0 auto!important;
    font-size:clamp(20px,1.24vw,27px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .topbar .nav{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(20px,1.55vw,34px)!important;
    overflow:visible!important;
  }
  .quick-nav-search{
    flex:0 0 clamp(180px,10.25vw,230px)!important;
    width:clamp(180px,10.25vw,230px)!important;
    min-width:180px!important;
    max-width:230px!important;
    order:0!important;
  }
  .quick-nav-input{
    height:48px!important;
    padding:10px 18px!important;
    font-size:clamp(14px,.82vw,16px)!important;
    border-radius:999px!important;
    letter-spacing:.065em!important;
  }
  .quick-nav-input::placeholder{font-size:clamp(14px,.82vw,16px)!important;letter-spacing:.065em!important;}
  .quick-nav-ghost{font-size:clamp(14px,.82vw,16px)!important;letter-spacing:.065em!important;padding:0 18px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    min-height:54px!important;
    max-width:none!important;
    width:auto!important;
    padding:0 clamp(14px,1.02vw,22px)!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1!important;
    font-size:clamp(15px,.92vw,18px)!important;
    letter-spacing:.065em!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  .topbar .nav-dropdown{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important;}
  .topbar .nav-dropdown > .nav-dropdown-toggle{white-space:nowrap!important;}
  .topbar .nav-account-toggle{
    min-width:clamp(215px,11.5vw,250px)!important;
    padding:0 clamp(16px,1.15vw,24px)!important;
    gap:10px!important;
  }
  .nav-account-toggle .nav-user-name,
  .nav-account-toggle .nav-user-role{
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .nav-account-toggle .nav-user-name{font-size:clamp(14px,.82vw,16px)!important;}
  .nav-account-toggle .nav-user-role{font-size:clamp(11px,.66vw,13px)!important;letter-spacing:.06em!important;}
}
@media (min-width:901px) and (max-width:1700px){
  .topbar{min-height:78px!important;padding:0 clamp(18px,1.35vw,26px)!important;gap:clamp(18px,1.4vw,28px)!important;}
  .topbar .brand-logo{width:44px!important;height:44px!important;}
  .topbar .brand-primary{font-size:clamp(31px,1.9vw,38px)!important;}
  .topbar .brand-secondary{font-size:clamp(18px,1.1vw,23px)!important;}
  .topbar .brand-wordmark{gap:clamp(14px,1.2vw,22px)!important;}
  .topbar .nav{gap:clamp(14px,1.15vw,22px)!important;}
  .quick-nav-search{flex-basis:clamp(165px,9.5vw,205px)!important;width:clamp(165px,9.5vw,205px)!important;min-width:165px!important;}
  .quick-nav-input{height:44px!important;font-size:13px!important;padding:9px 16px!important;}
  .quick-nav-ghost{font-size:13px!important;padding:0 16px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    min-height:50px!important;
    padding:0 clamp(10px,.82vw,16px)!important;
    font-size:clamp(13px,.82vw,16px)!important;
  }
  .topbar .nav-account-toggle{min-width:clamp(196px,11vw,230px)!important;}
}
@media (min-width:901px) and (max-width:1420px){
  .topbar{min-height:74px!important;padding:0 14px!important;gap:14px!important;}
  .topbar .brand-logo{width:40px!important;height:40px!important;}
  .topbar .brand-primary{font-size:28px!important;}
  .topbar .brand-secondary{font-size:16px!important;}
  .topbar .brand-wordmark{gap:12px!important;}
  .topbar .nav{gap:10px!important;}
  .quick-nav-search{flex-basis:145px!important;width:145px!important;min-width:145px!important;max-width:145px!important;}
  .quick-nav-input{height:40px!important;font-size:12px!important;padding:8px 13px!important;}
  .quick-nav-ghost{font-size:12px!important;padding:0 13px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{min-height:46px!important;font-size:12px!important;padding:0 9px!important;letter-spacing:.052em!important;}
  .topbar .nav-account-toggle{min-width:176px!important;}
  .nav-account-toggle .nav-user-role{font-size:10px!important;}
}
@media (min-width:901px) and (max-width:1180px){
  .topbar .brand-secondary{display:none!important;}
  .topbar .brand-primary{font-size:25px!important;}
  .quick-nav-search{display:none!important;}
  .topbar .nav{gap:8px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{font-size:11px!important;padding:0 7px!important;}
  .topbar .nav-account-toggle{min-width:150px!important;}
}


/* PBv1.8.7.44beta: branded header restructure -- Program Builder under team name; larger pre-search-style nav buttons. */
@media (min-width:901px){
  .topbar{
    min-height:96px!important;
    height:auto!important;
    padding:0 clamp(22px,1.55vw,34px)!important;
    gap:clamp(20px,1.6vw,34px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .topbar .brand{
    flex:0 0 auto!important;
    min-width:0!important;
    max-width:43vw!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:clamp(12px,.9vw,18px)!important;
    overflow:visible!important;
  }
  .topbar .brand-logo{
    width:clamp(52px,3.55vw,68px)!important;
    height:clamp(52px,3.55vw,68px)!important;
    flex:0 0 auto!important;
  }
  .topbar .brand-wordmark{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    overflow:visible!important;
  }
  .topbar .brand-primary{
    display:block!important;
    font-size:clamp(33px,2.05vw,44px)!important;
    line-height:.95!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    max-width:none!important;
    width:auto!important;
  }
  .topbar .brand-secondary{
    display:block!important;
    font-size:clamp(18px,1.12vw,25px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-align:center!important;
    letter-spacing:.14em!important;
    margin-top:0!important;
  }
  .topbar .nav{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(18px,1.35vw,30px)!important;
    overflow:visible!important;
  }
  .quick-nav-search{
    flex:0 0 clamp(148px,8.2vw,184px)!important;
    width:clamp(148px,8.2vw,184px)!important;
    min-width:148px!important;
    max-width:184px!important;
  }
  .quick-nav-input{
    height:48px!important;
    padding:10px 17px!important;
    font-size:clamp(14px,.83vw,17px)!important;
    border-radius:999px!important;
    letter-spacing:.065em!important;
  }
  .quick-nav-input::placeholder{
    font-size:clamp(14px,.83vw,17px)!important;
    letter-spacing:.065em!important;
  }
  .quick-nav-ghost{
    font-size:clamp(14px,.83vw,17px)!important;
    letter-spacing:.065em!important;
    padding:0 17px!important;
  }
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{
    min-height:58px!important;
    padding:0 clamp(14px,.92vw,22px)!important;
    font-size:clamp(17px,1.02vw,22px)!important;
    letter-spacing:.07em!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    max-width:none!important;
    width:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  .topbar .nav-dropdown{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    white-space:nowrap!important;
  }
  .nav-team-management-dropdown > .nav-dropdown-toggle{
    min-width:clamp(185px,11.2vw,235px)!important;
  }
  .topbar .nav-account-toggle{
    min-width:clamp(220px,12.2vw,265px)!important;
    padding:0 clamp(16px,1vw,24px)!important;
    gap:10px!important;
  }
  .nav-account-toggle .nav-user-name{font-size:clamp(15px,.9vw,18px)!important;}
  .nav-account-toggle .nav-user-role{font-size:clamp(11px,.68vw,13px)!important;letter-spacing:.06em!important;}
}
@media (min-width:901px) and (max-width:1700px){
  .topbar{min-height:92px!important;padding:0 clamp(16px,1.2vw,24px)!important;gap:clamp(14px,1.15vw,24px)!important;}
  .topbar .brand{max-width:42vw!important;}
  .topbar .brand-logo{width:50px!important;height:50px!important;}
  .topbar .brand-primary{font-size:clamp(29px,1.78vw,38px)!important;}
  .topbar .brand-secondary{font-size:clamp(16px,.98vw,21px)!important;}
  .topbar .nav{gap:clamp(12px,.95vw,20px)!important;}
  .quick-nav-search{flex-basis:clamp(134px,7.6vw,164px)!important;width:clamp(134px,7.6vw,164px)!important;min-width:134px!important;max-width:164px!important;}
  .quick-nav-input{height:46px!important;font-size:clamp(13px,.74vw,15px)!important;padding:9px 14px!important;}
  .quick-nav-ghost{font-size:clamp(13px,.74vw,15px)!important;padding:0 14px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{min-height:54px!important;font-size:clamp(14px,.82vw,18px)!important;padding:0 clamp(10px,.72vw,16px)!important;}
  .nav-team-management-dropdown > .nav-dropdown-toggle{min-width:clamp(158px,10vw,205px)!important;}
  .topbar .nav-account-toggle{min-width:clamp(198px,11.2vw,236px)!important;}
}
@media (min-width:901px) and (max-width:1380px){
  .topbar{min-height:88px!important;padding:0 12px!important;gap:12px!important;}
  .topbar .brand{max-width:38vw!important;}
  .topbar .brand-logo{width:44px!important;height:44px!important;}
  .topbar .brand-primary{font-size:25px!important;}
  .topbar .brand-secondary{font-size:14px!important;letter-spacing:.12em!important;}
  .topbar .nav{gap:8px!important;}
  .quick-nav-search{flex-basis:118px!important;width:118px!important;min-width:118px!important;max-width:118px!important;}
  .quick-nav-input{height:42px!important;font-size:12px!important;padding:8px 12px!important;}
  .quick-nav-ghost{font-size:12px!important;padding:0 12px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{min-height:48px!important;font-size:12px!important;padding:0 8px!important;letter-spacing:.052em!important;}
  .nav-team-management-dropdown > .nav-dropdown-toggle{min-width:142px!important;}
  .topbar .nav-account-toggle{min-width:168px!important;}
  .nav-account-toggle .nav-user-role{font-size:10px!important;}
}
@media (min-width:901px) and (max-width:1160px){
  .quick-nav-search{display:none!important;}
  .topbar .brand-primary{font-size:22px!important;}
  .topbar .brand-secondary{font-size:12px!important;}
  .topbar .nav > a,
  .topbar .nav-dropdown > .nav-dropdown-toggle,
  .topbar .nav-account-toggle{font-size:11px!important;padding:0 6px!important;}
  .nav-team-management-dropdown > .nav-dropdown-toggle{min-width:124px!important;}
  .topbar .nav-account-toggle{min-width:148px!important;}
}

/* PBv1.8.7.45beta: final cleanup before Practice Plan workflow. */
/* Dashboard weekly preview spacing: close down tall heading/game-week gaps. */
.current-week-preview-card.current-week-preview-compact{
  padding-top:clamp(16px,2vw,24px)!important;
  padding-bottom:clamp(16px,2vw,24px)!important;
}
.current-week-preview-card .current-week-main-copy{
  min-height:0!important;
  gap:4px!important;
}
.current-week-preview-card .current-week-main-copy .page-eyebrow{
  min-height:0!important;
  margin-bottom:2px!important;
}
.current-week-preview-card .current-week-main-copy h2{
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  line-height:1.02!important;
}
.current-week-preview-card .current-week-main-copy p{
  min-height:0!important;
  margin:3px 0 0!important;
  line-height:1.25!important;
}
.current-week-preview-card .current-week-game-line{
  margin-top:6px!important;
  padding-top:6px!important;
}
.current-week-preview-topline{
  gap:clamp(12px,2vw,22px)!important;
}

/* Quick-nav search: center the placeholder/ghost visually inside the pill. */
.quick-nav-search{align-items:center!important;}
.quick-nav-input{
  display:flex!important;
  align-items:center!important;
  height:42px!important;
  line-height:42px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.quick-nav-input::placeholder{line-height:42px!important;opacity:.84!important;}
.quick-nav-ghost{
  top:50%!important;
  transform:translateY(-50%)!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  pointer-events:none!important;
}

/* Top nav: tighten gaps a little and recover room for larger readable labels. */
@media(min-width:901px){
  .topbar{gap:clamp(10px,1.15vw,18px)!important;}
  .nav{gap:clamp(5px,.55vw,9px)!important;}
  .nav > a,
  .nav .nav-dropdown-toggle,
  .nav-submenu-button{
    font-size:clamp(15px,1vw,18px)!important;
  }
  .nav > a,
  .nav .nav-dropdown-toggle{
    padding-inline:clamp(10px,.85vw,16px)!important;
  }
}

/* Dashboard weekly preview animation: keep incoming/outgoing cards on the same horizontal plane. */
.dashboard-week-swap-shell.pb-week-swap-stage{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:stretch!important;
}
.dashboard-week-swap-shell.pb-week-swap-stage > .current-week-preview-card{
  grid-area:1 / 1!important;
  width:100%!important;
  max-width:100%!important;
}
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-new-in-left,
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-new-in-right,
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-current-out-left,
.dashboard-week-swap-shell.pb-week-swap-stage .current-week-preview-card.pb-week-current-out-right{
  position:relative!important;
  top:auto!important;
  left:auto!important;
}

/* Mobile dashboard weekly quick-view controls: prevent arrows/current/team actions from falling off screen. */
@media(max-width:900px){
  .current-week-preview-card{overflow:visible!important;}
  .current-week-preview-topline{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .current-week-preview-card .current-week-main-copy{
    min-height:0!important;
    align-items:center!important;
  }
  .current-week-preview-card .current-week-main-copy h2{
    min-height:0!important;
    max-height:none!important;
    display:block!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    font-size:clamp(26px,7vw,38px)!important;
  }
  .current-week-preview-card .current-week-main-copy p{min-height:0!important;}
  .current-week-preview-card .dashboard-week-nav-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) 46px!important;
    gap:9px!important;
    padding:0!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .current-week-preview-card .dashboard-week-primary-row{
    display:contents!important;
  }
  .current-week-preview-card .dashboard-week-secondary-row{
    grid-column:1 / -1!important;
    width:100%!important;
    display:grid!important;
    justify-items:center!important;
  }
  .current-week-preview-card .dashboard-week-prev,
  .current-week-preview-card .dashboard-week-next{
    display:inline-flex!important;
    position:static!important;
    transform:none!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0!important;
  }
  .current-week-preview-card .dashboard-week-prev{grid-column:1!important;grid-row:1!important;}
  .current-week-preview-card .current-week-open-button{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:none!important;}
  .current-week-preview-card .dashboard-week-next{grid-column:3!important;grid-row:1!important;}
  .current-week-preview-card .dashboard-week-current{width:100%!important;max-width:360px!important;min-width:0!important;}
}
@media(max-width:430px){
  .current-week-preview-card .dashboard-week-nav-actions{grid-template-columns:42px minmax(0,1fr) 42px!important;gap:7px!important;}
  .current-week-preview-card .dashboard-week-prev,
  .current-week-preview-card .dashboard-week-next{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;}
  .current-week-preview-card .current-week-open-button{font-size:12px!important;padding-inline:8px!important;}
}

/* Mobile script detail: collapse large sections by default to reduce endless scrolling. */
@media(max-width:760px){
  .script-detail-mobile-collapsed .script-meta-card,
  .script-detail-mobile-collapsed .script-analytics-card,
  .script-detail-mobile-collapsed .quick-add-panel{
    padding:0!important;
    overflow:hidden!important;
  }
  .script-detail-mobile-collapsed .script-meta-card::before,
  .script-detail-mobile-collapsed .script-analytics-card::before,
  .script-detail-mobile-collapsed .quick-add-panel::before{
    content:attr(data-mobile-title);
    display:block;
    padding:14px 16px;
    font-family:var(--font-cond);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--gold);
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .script-detail-mobile-collapsed .script-meta-card:not(.is-mobile-open) > :not(:first-child),
  .script-detail-mobile-collapsed .script-analytics-card:not(.is-mobile-open) > :not(:first-child),
  .script-detail-mobile-collapsed .quick-add-panel:not(.is-mobile-open) > :not(:first-child){display:none!important;}
  .script-detail-mobile-collapsed .script-meta-card:not(.is-mobile-open) .script-meta-form,
  .script-detail-mobile-collapsed .script-analytics-card:not(.is-mobile-open) .script-analytics-head,
  .script-detail-mobile-collapsed .quick-add-panel:not(.is-mobile-open) .quick-add-filters,
  .script-detail-mobile-collapsed .quick-add-panel:not(.is-mobile-open) .quick-add-list,
  .script-detail-mobile-collapsed .quick-add-panel:not(.is-mobile-open) .quick-bank-link,
  .script-detail-mobile-collapsed .quick-add-panel:not(.is-mobile-open) p{display:none!important;}
  .script-detail-mobile-collapsed .script-meta-card,
  .script-detail-mobile-collapsed .script-analytics-card,
  .script-detail-mobile-collapsed .quick-add-panel{cursor:pointer;}
}

/* Mobile play page: diagram-size buttons are desktop-only. */
@media(max-width:760px){
  .play-diagram-size-tools{display:none!important;}
  .diagram-carousel-card{margin-top:0!important;}
}


/* PBv1.8.7.46beta: quick-nav alignment, dashboard Bank Management shortcut, and mobile nav cleanup. */
.quick-nav-search{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.quick-nav-input{
  text-align:center!important;
  display:block!important;
  line-height:1!important;
}
.quick-nav-input::placeholder{
  text-align:center!important;
  opacity:.88!important;
}
.quick-nav-ghost{
  left:0!important;
  right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  justify-content:center!important;
  text-align:center!important;
}
.dashboard-hero-actions .dashboard-bank-management-action{
  grid-column:auto;
}
@media(max-width:900px){
  /* Keep the real arrow characters and remove old pseudo chevrons on mobile weekly preview. */
  .current-week-preview-card .dashboard-week-prev,
  .current-week-preview-card .dashboard-week-next{
    font-size:22px!important;
    font-family:var(--font-cond)!important;
  }
  .current-week-preview-card .dashboard-week-prev::before,
  .current-week-preview-card .dashboard-week-next::before{
    content:none!important;
    display:none!important;
  }
  /* Push username/account caret to the far right like the other mobile dropdown rows. */
  .topbar .nav .nav-account-toggle,
  body.team-branded .topbar .nav .nav-account-toggle{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 34px!important;
    grid-template-rows:auto auto!important;
    width:100%!important;
    padding-right:48px!important;
    text-align:left!important;
  }
  .topbar .nav .nav-account-toggle .nav-user-caret,
  body.team-branded .topbar .nav .nav-account-toggle .nav-user-caret{
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin-left:0!important;
    width:24px!important;
    height:24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* PBv1.8.8beta: Practice Plan Builder workflow */
.practice-plan-create-head,
.practice-plan-builder-head,
.practice-plans-hub-head {
  align-items: center;
}
.practice-plan-context-card,
.practice-plan-filter-card,
.practice-install-card,
.practice-grid-card,
.practice-plan-header-card {
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
}
.practice-context-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}
.practice-context-grid span {
  display: grid;
  gap: .2rem;
  padding: .85rem 1rem;
  border-radius: 18px;
  background: rgba(248, 250, 252, .9);
  border: 1px solid rgba(148, 163, 184, .22);
}
.practice-context-grid strong {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
}
.practice-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.practice-type-card,
.practice-template-choice-row {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  padding: 1.1rem;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #f8fafc);
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}
.practice-type-card strong {
  font-size: 1.18rem;
  color: #0f172a;
}
.practice-type-card span,
.practice-template-choice-row span {
  color: #64748b;
  line-height: 1.35;
}
.practice-template-choice-card { margin-top: 1.25rem; }
.practice-template-choice-list {
  display: grid;
  gap: .75rem;
}
.practice-template-choice-row {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.practice-plan-day-list {
  display: grid;
  gap: 1rem;
}
.practice-plan-list {
  display: grid;
  gap: .55rem;
}
.practice-plan-list-row small {
  display: block;
  margin-top: .18rem;
}
.practice-empty-hub {
  text-align: center;
  padding: 2rem;
}
.practice-plan-builder-shell {
  display: grid;
  gap: 1rem;
}
.practice-save-status {
  align-self: center;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, .06);
  color: #334155;
  font-size: .85rem;
  font-weight: 800;
  border: 1px solid rgba(148, 163, 184, .22);
}
.practice-save-status.is-saving { background: rgba(234, 179, 8, .16); color: #854d0e; }
.practice-save-status.is-saved { background: rgba(34, 197, 94, .14); color: #166534; }
.practice-save-status.is-error { background: rgba(239, 68, 68, .13); color: #991b1b; }
.practice-header-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
}
.practice-header-grid label,
.practice-notes-label {
  display: grid;
  gap: .35rem;
  font-weight: 800;
  color: #334155;
  font-size: .85rem;
}
.practice-notes-label { margin-top: .85rem; }
.practice-header-actions,
.practice-section-topline,
.practice-grid-card-top,
.practice-grid-tools,
.practice-add-inline-form,
.practice-period-actions,
.practice-column-actions {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
}
.practice-header-actions,
.practice-section-topline,
.practice-grid-card-top {
  justify-content: space-between;
}
.practice-lock-toggle {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 800;
  color: #475569;
}
.compact-muted { margin: .15rem 0 0; }
.practice-install-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
  margin: .8rem 0;
}
.practice-install-row {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(160px, .9fr) minmax(240px, 2fr) auto;
  gap: .5rem;
  align-items: center;
  padding: .55rem;
  border-radius: 18px;
  background: rgba(248, 250, 252, .85);
  border: 1px solid rgba(148, 163, 184, .18);
}
.practice-mini-delete { align-self: center; }
.practice-grid-tools {
  justify-content: space-between;
  margin-bottom: .8rem;
}
.practice-add-inline-form {
  padding: .6rem;
  border-radius: 18px;
  background: rgba(248, 250, 252, .9);
  border: 1px solid rgba(148, 163, 184, .2);
}
.practice-add-inline-form .input { max-width: 180px; }
.practice-template-save-box {
  padding: .65rem .8rem;
  border-radius: 18px;
  background: rgba(15, 23, 42, .04);
  border: 1px solid rgba(148, 163, 184, .22);
}
.practice-template-save-box summary {
  cursor: pointer;
  font-weight: 900;
}
.practice-template-save-box form {
  display: flex;
  gap: .5rem;
  margin-top: .6rem;
}
.practice-plan-scroll-wrap {
  overflow-x: auto;
  padding-bottom: .35rem;
  border-radius: 22px;
}
.practice-plan-grid {
  min-width: max(980px, calc(250px + (var(--practice-cols, 4) * 220px)));
  display: grid;
  grid-template-columns: 112px 190px repeat(var(--practice-cols, 4), minmax(190px, 1fr));
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}
.practice-grid-fixed-head,
.practice-grid-column-head {
  min-height: 112px;
  padding: .7rem;
  background: linear-gradient(180deg, #0f172a, #1e293b);
  color: #fff;
  border-right: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(15,23,42,.2);
}
.practice-grid-fixed-head {
  display: grid;
  place-items: center;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.practice-grid-column-head.is-locked {
  background: linear-gradient(180deg, #334155, #1e293b);
}
.practice-column-form {
  display: grid;
  gap: .45rem;
}
.practice-column-form .input,
.practice-period-meta-cell .input,
.practice-period-name-cell .input {
  min-height: 34px;
  padding: .45rem .55rem;
  font-size: .86rem;
}
.practice-column-form .input {
  background: rgba(255,255,255,.94);
  color: #0f172a;
}
.column-title-input {
  font-weight: 950;
  text-align: center;
}
.column-coaches-input {
  resize: vertical;
  text-align: center;
}
.practice-column-actions {
  justify-content: center;
  margin-top: .45rem;
}
.practice-period-meta-cell,
.practice-period-name-cell,
.practice-cell-wrap {
  min-height: 124px;
  padding: .55rem;
  border-right: 1px solid rgba(148, 163, 184, .22);
  border-bottom: 1px solid rgba(148, 163, 184, .22);
  background: rgba(255,255,255,.96);
}
.practice-period-meta-cell,
.practice-period-name-cell {
  background: rgba(248, 250, 252, .92);
}
.period-meta-form {
  display: grid;
  gap: .4rem;
}
.practice-period-actions {
  margin-top: .42rem;
}
.practice-cell-textarea {
  width: 100%;
  min-height: 104px;
  resize: vertical;
  line-height: 1.35;
  font-size: .9rem;
}
.icon-button {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .45);
  background: #fff;
  color: #0f172a;
  font-weight: 950;
  cursor: pointer;
}
.icon-button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(15,23,42,.12); }
.button.danger,
.icon-button.danger {
  border-color: rgba(239, 68, 68, .45);
  color: #991b1b;
  background: rgba(254, 242, 242, .95);
}
.tiny-select { min-width: 120px; }
.practice-mobile-period-list { display: none; }
.practice-mobile-period-card {
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, .22);
  background: rgba(255,255,255,.96);
  overflow: hidden;
}
.practice-mobile-period-card summary {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .25rem .75rem;
  align-items: center;
  cursor: pointer;
  padding: .85rem;
  background: #0f172a;
  color: #fff;
}
.practice-mobile-period-card summary small {
  grid-column: 1 / -1;
  color: rgba(255,255,255,.75);
}
.practice-mobile-cell {
  display: grid;
  gap: .35rem;
  padding: .8rem;
  border-top: 1px solid rgba(148, 163, 184, .18);
}
.practice-mobile-cell small { color: #64748b; }

@media (max-width: 1050px) {
  .practice-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practice-header-grid,
  .practice-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practice-install-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .practice-type-grid,
  .practice-context-grid,
  .practice-header-grid { grid-template-columns: 1fr; }
  .practice-template-choice-row { flex-direction: column; align-items: stretch; }
  .practice-install-list { grid-template-columns: 1fr; }
  .practice-install-row { grid-template-columns: 1fr; }
  .practice-grid-card-top,
  .practice-grid-tools,
  .practice-add-inline-form,
  .practice-template-save-box form { align-items: stretch; flex-direction: column; }
  .practice-add-inline-form .input { max-width: none; width: 100%; }
  .practice-plan-scroll-wrap { display: none; }
  .practice-mobile-period-list { display: grid; gap: .8rem; }
  .practice-save-status { justify-self: start; }
}

/* PBv1.8.8.2beta: Practice Plan Builder usability cleanup */
.practice-plan-context-card,
.practice-plan-filter-card,
.practice-install-card,
.practice-grid-card,
.practice-plan-header-card,
.practice-template-choice-card {
  padding: 1rem 1.1rem;
  overflow: hidden;
}
.practice-context-headline { margin-bottom: .8rem; }
.practice-context-form {
  display: grid;
  grid-template-columns: minmax(110px,.4fr) minmax(160px,.55fr) minmax(220px,1fr) minmax(170px,.7fr) minmax(170px,.7fr) minmax(120px,.45fr) minmax(180px,.6fr);
  gap: .75rem;
  align-items: end;
}
.practice-context-form label {
  min-width: 0;
  display: grid;
  gap: .35rem;
  color: var(--mute);
  font-family: var(--font-cond);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .76rem;
}
.practice-context-form .input,
.practice-context-summary span,
.practice-header-grid .input,
.practice-notes-label .input,
.practice-install-row .input,
.practice-add-inline-form .input,
.practice-column-form .input,
.practice-period-meta-cell .input,
.practice-period-name-cell .input {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.practice-context-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin-top: .85rem;
}
.practice-context-summary span {
  display: grid;
  gap: .18rem;
  padding: .65rem .8rem;
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(212,167,59,.2);
  color: var(--soft);
}
.practice-context-summary strong {
  color: var(--gold);
  font-family: var(--font-cond);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .68rem;
}

.practice-context-live-status {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 18px;
  border: 1px solid rgba(212,167,59,.35);
  background: rgba(255,255,255,.045);
  color: var(--soft);
  font-family: var(--font-cond);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .76rem;
  padding: .65rem .8rem;
}
.practice-context-live-status.is-loading { color: var(--gold); }
.practice-context-live-status.is-saved { color: rgba(190, 242, 100, .95); }
.practice-context-live-status.is-error { color: rgba(248, 113, 113, .95); }
.practice-context-form.is-live-updating .input {
  box-shadow: 0 0 0 1px rgba(212,167,59,.16);
}
.practice-context-summary em {
  font-style: normal;
  color: var(--soft);
  overflow-wrap: anywhere;
}
.practice-type-grid {
  align-items: stretch;
}
.practice-type-card {
  min-height: 218px;
  height: 100%;
}
.practice-type-card strong {
  line-height: 1.12;
}
.practice-type-card span {
  min-height: 3.1rem;
}
.practice-type-card .button {
  width: 100%;
  margin-top: auto;
  min-height: 38px;
}
.practice-header-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.practice-header-grid label,
.practice-notes-label {
  min-width: 0;
}
.practice-plan-header-form,
.practice-install-panel,
.practice-grid-card {
  min-width: 0;
}
.practice-install-empty {
  grid-column: 1 / -1;
  padding: .85rem 1rem;
  border: 1px dashed rgba(148, 163, 184, .35);
  border-radius: 18px;
  color: var(--mute);
  background: rgba(255,255,255,.025);
  font-weight: 750;
}
.practice-grid-card-top {
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .6rem;
}
.practice-grid-tools {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: .75rem;
}
.practice-add-inline-form {
  min-width: 0;
}
.practice-add-inline-form .input {
  flex: 1 1 130px;
}
.practice-time-input::placeholder,
.practice-minutes-input::placeholder,
.practice-add-inline-form input[name="start_time"]::placeholder,
.practice-add-inline-form input[name="duration_minutes"]::placeholder {
  text-align: center;
  font-weight: 900;
  color: rgba(148, 163, 184, .95);
}
.practice-time-input,
.practice-minutes-input {
  text-align: center;
}
.practice-minutes-input::-webkit-outer-spin-button,
.practice-minutes-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.practice-minutes-input[type=number] {
  -moz-appearance: textfield;
}
.practice-period-meta-cell .button,
.practice-period-name-cell .button,
.practice-column-form .button {
  min-height: 32px;
}
.practice-plan-grid {
  min-width: max(980px, calc(280px + (var(--practice-cols, 4) * 218px)));
  grid-template-columns: 128px 190px repeat(var(--practice-cols, 4), minmax(190px, 1fr));
}
.practice-period-meta-cell,
.practice-period-name-cell,
.practice-cell-wrap {
  min-height: 112px;
}
.practice-cell-textarea {
  min-height: 92px;
}
.practice-plan-builder-head h1,
.practice-plan-create-head h1 {
  overflow-wrap: anywhere;
}
.practice-template-choice-row {
  min-height: 74px;
}
@media (max-width: 1280px) {
  .practice-context-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
  .practice-grid-tools { grid-template-columns: 1fr; }
  .practice-context-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .practice-plan-context-card,
  .practice-install-card,
  .practice-grid-card,
  .practice-plan-header-card,
  .practice-template-choice-card { padding: .85rem; }
  .practice-context-form,
  .practice-context-summary { grid-template-columns: 1fr; }
  .practice-type-card { min-height: auto; }
  .practice-type-card span { min-height: 0; }
}

/* PBv1.8.8.3beta: Practice Plan Builder layout cleanup */
.practice-builder-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  flex-wrap:wrap;
}
.practice-plan-day-card{
  overflow:hidden;
  padding:1rem 1.1rem;
  display:grid;
  gap:.75rem;
}
.practice-plan-day-card .section-title{
  margin:0;
  padding:.15rem 0 .2rem;
  line-height:1.15;
  overflow-wrap:anywhere;
  min-width:0;
}
.practice-plan-list-row-actions{
  display:flex;
  gap:.75rem;
  align-items:center;
  justify-content:space-between;
  min-width:0;
}
.practice-plan-row-main{
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  min-width:0;
  flex:1 1 auto;
}
.practice-plan-row-main > div{
  min-width:0;
}
.practice-plan-row-main strong,
.practice-plan-row-main span,
.practice-plan-row-main small{
  overflow-wrap:anywhere;
}
.practice-grid-action-row{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin:.45rem 0 .75rem;
}
.practice-grid-action-row-top{
  justify-content:flex-end;
}
.practice-grid-action-row-bottom{
  justify-content:center;
  margin-top:.85rem;
  margin-bottom:.25rem;
}
.practice-add-popover{
  position:relative;
  min-width:0;
}
.practice-add-popover > summary{
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(212,167,59,.45);
  border-radius:999px;
  background:rgba(212,167,59,.14);
  color:var(--gold);
  font-family:var(--font-cond);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.65rem 1rem;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
}
.practice-add-popover > summary::-webkit-details-marker{display:none;}
.practice-add-popover[open] > summary{
  background:var(--gold);
  color:#151515;
}
.practice-add-popover .practice-add-inline-form{
  margin-top:.6rem;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  min-width:min(100%,720px);
  max-width:100%;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.practice-add-popover .practice-add-inline-form .input{
  max-width:190px;
}
.practice-add-period-popover .practice-add-inline-form .input{
  max-width:165px;
}
.button.save-button{
  background:linear-gradient(135deg,rgba(212,167,59,.95),rgba(246,196,73,.95));
  color:#101318;
  border-color:rgba(212,167,59,.75);
  box-shadow:0 8px 18px rgba(212,167,59,.18);
  font-weight:950;
}
.button.save-button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(212,167,59,.24);
}
.practice-column-form .button.save-button,
.practice-period-meta-cell .button.save-button,
.practice-period-name-cell .button.save-button{
  min-height:34px;
  opacity:1;
}
.icon-button,
.practice-period-actions .icon-button,
.practice-column-actions .icon-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:17px!important;
  min-width:30px;
  min-height:30px;
}
.icon-button.tiny{
  width:34px;
  height:34px;
}
.practice-period-actions form,
.practice-column-actions form{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
@media (max-width:760px){
  .practice-plan-day-card{padding:.85rem;gap:.6rem;}
  .practice-plan-list-row-actions{align-items:stretch;flex-direction:column;}
  .practice-plan-row-main{align-items:flex-start;}
  .practice-plan-list-row-actions form,.practice-plan-list-row-actions .button{width:100%;}
  .practice-builder-head-actions{justify-content:flex-start;}
  .practice-grid-action-row-top,.practice-grid-action-row-bottom{justify-content:stretch;}
  .practice-add-popover,.practice-add-popover > summary{width:100%;}
  .practice-add-popover .practice-add-inline-form{display:grid;grid-template-columns:1fr;}
  .practice-add-popover .practice-add-inline-form .input{max-width:none;width:100%;}
}

/* PBv1.8.8.4beta: Practice Plan Builder usability and packaging cleanup */
.practice-create-large{
  min-height:48px;
  padding:.85rem 1.25rem;
  font-size:1rem;
  box-shadow:0 14px 30px rgba(212,167,59,.24);
}
.practice-plan-filter-grid{
  grid-template-columns: minmax(110px,.6fr) minmax(180px,.8fr) minmax(260px,1.15fr) minmax(220px,1fr) minmax(170px,.75fr) minmax(220px,1fr) minmax(140px,.65fr);
}
.practice-recent-note{
  text-align:center;
  padding:.35rem .5rem;
}
.practice-collapsible-card{
  display:block;
}
.practice-collapsible-summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:-.15rem 0 .85rem;
  padding:.2rem 0 .8rem;
  border-bottom:1px solid rgba(212,167,59,.22);
  color:var(--soft);
  font-family:var(--font-cond);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.practice-collapsible-summary span{font-size:1.05rem;}
.practice-collapsible-summary small{
  color:var(--mute);
  font-family:var(--font-body);
  font-size:.8rem;
  font-weight:800;
  text-transform:none;
  letter-spacing:0;
}
.practice-collapsible-summary::marker{color:var(--gold);}
.practice-collapsible-card:not([open]) .practice-collapsible-summary{
  margin-bottom:0;
  padding-bottom:.2rem;
  border-bottom:0;
}
.practice-quick-add-form{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
.practice-cell-wrap,
.practice-mobile-cell{
  gap:.45rem;
}
.practice-cell-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) 70px;
  gap:.4rem;
  margin-bottom:.45rem;
}
.practice-cell-tools .input{
  min-height:32px;
  padding:.4rem .55rem;
  font-size:.8rem;
}
.practice-cell-minutes{
  text-align:center;
}
.practice-cell-minutes::-webkit-outer-spin-button,
.practice-cell-minutes::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.practice-cell-minutes[type=number]{-moz-appearance:textfield;}
.practice-cell-with::placeholder,
.practice-cell-minutes::placeholder,
.column-title-input::placeholder,
.column-coaches-input::placeholder,
.practice-period-name-cell input[name="period_label"]::placeholder,
.practice-period-name-cell input[name="phase_tags"]::placeholder{
  color:rgba(148,163,184,.95);
  font-weight:850;
}
.practice-plan-grid{
  min-width:max(1050px, calc(300px + (var(--practice-cols, 4) * 240px)));
  grid-template-columns:132px 210px repeat(var(--practice-cols, 4), minmax(215px, 1fr));
}
.practice-cell-textarea{
  min-height:86px;
}
.practice-install-panel > .practice-section-topline .section-title{
  display:none;
}
@media (max-width:1280px){
  .practice-plan-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:760px){
  .practice-plan-filter-grid{grid-template-columns:1fr;}
  .practice-create-large{width:100%;}
  .practice-collapsible-summary{align-items:flex-start;flex-direction:column;gap:.25rem;}
  .practice-cell-tools{grid-template-columns:1fr 80px;}
}

/* PBv1.8.8.5beta: Practice Plan Builder grid cleanup, sticky context, autosave, and linked groups */
.practice-plan-header-card{
  overflow:visible;
}
.practice-plan-header-form{
  display:grid;
  gap:.85rem;
}
.practice-header-actions{
  padding-top:.75rem;
  margin-top:.35rem;
  border-top:1px solid rgba(212,167,59,.18);
}
.practice-header-actions .button{
  flex:0 0 auto;
  min-width:132px;
}
.practice-plan-scroll-wrap{
  overflow:auto;
  max-height:calc(100vh - 190px);
  border-radius:22px;
  scrollbar-gutter:stable;
  background:#fff;
}
.practice-plan-grid{
  --practice-time-col:132px;
  --practice-period-col:210px;
  grid-template-columns:var(--practice-time-col) var(--practice-period-col) repeat(var(--practice-cols, 4), minmax(205px, 1fr));
  min-width:max(980px, calc(var(--practice-time-col) + var(--practice-period-col) + (var(--practice-cols, 4) * 215px)));
  overflow:visible;
}
.practice-grid-fixed-head,
.practice-grid-column-head{
  position:sticky;
  top:0;
  z-index:18;
  min-height:102px;
}
.practice-grid-time-head{
  left:0;
  z-index:30;
}
.practice-grid-period-head{
  left:var(--practice-time-col);
  z-index:29;
}
.practice-period-meta-cell,
.practice-period-name-cell{
  position:sticky;
  z-index:12;
}
.practice-period-meta-cell{
  left:0;
}
.practice-period-name-cell{
  left:var(--practice-time-col);
}
.practice-period-meta-cell,
.practice-period-name-cell,
.practice-cell-wrap{
  min-height:104px;
  padding:.46rem;
}
.practice-column-form{
  gap:.36rem;
}
.practice-column-form .input,
.practice-period-meta-cell .input,
.practice-period-name-cell .input{
  min-height:31px;
  padding:.38rem .5rem;
  font-size:.82rem;
}
.practice-cell-textarea{
  min-height:76px;
  font-size:.84rem;
  padding:.5rem .55rem;
}
.practice-cell-tools{
  grid-template-columns:minmax(0,1fr) 72px;
  gap:.33rem;
  margin-bottom:.25rem;
}
.practice-cell-tools .input{
  min-height:30px;
  padding:.34rem .5rem;
  font-size:.78rem;
}
.practice-cell-minutes::placeholder{
  content:"Min(s)";
}
.practice-autosave-hint{
  color:rgba(148,163,184,.78);
  font-size:.68rem;
  line-height:1;
  text-align:center;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
  min-height:10px;
}
.practice-period-actions,
.practice-column-actions{
  gap:.38rem;
  margin-top:.35rem;
}
.practice-period-actions .icon-button,
.practice-column-actions .icon-button{
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
}
.practice-with-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem;
  min-height:0;
  margin:-.05rem 0 .25rem;
}
.practice-with-tag{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  border:1px solid rgba(212,167,59,.35);
  border-radius:999px;
  padding:.12rem .42rem;
  background:rgba(212,167,59,.12);
  color:#7c580d;
  font-size:.68rem;
  font-weight:900;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.practice-cell-wrap.is-linked-source,
.practice-mobile-cell.is-linked-source{
  background:linear-gradient(180deg, rgba(212,167,59,.18), rgba(255,255,255,.96));
  box-shadow:inset 0 0 0 2px rgba(212,167,59,.3);
}
.practice-cell-wrap.is-linked-target,
.practice-mobile-cell.is-linked-target{
  background:linear-gradient(180deg, rgba(59,130,246,.13), rgba(255,255,255,.96));
  box-shadow:inset 0 0 0 2px rgba(59,130,246,.22);
}
.practice-cell-wrap.is-linked-source.is-linked-target,
.practice-mobile-cell.is-linked-source.is-linked-target{
  background:linear-gradient(135deg, rgba(212,167,59,.2), rgba(59,130,246,.13));
}
.practice-plan-day-list.is-loading{
  opacity:.68;
  transition:opacity .12s ease;
}
.practice-plan-day-list.is-error{
  outline:1px solid rgba(239,68,68,.35);
  border-radius:18px;
}
.practice-create-large{
  min-height:48px;
  padding:.85rem 1.25rem;
  font-size:.86rem;
}
@media (max-width:760px){
  .practice-plan-scroll-wrap{display:none;}
  .practice-header-actions{align-items:stretch;}
  .practice-header-actions .button{width:100%;}
  .practice-mobile-cell.is-linked-source,
  .practice-mobile-cell.is-linked-target{border-left:4px solid var(--gold);}
}

/* PBv1.8.8.6beta: Practice Plan Builder page-scroll grid, silent autosave, weekly jump, and script status panel */
.button.danger.destructive-solid{
  background:#dc2626;
  color:#fff;
  border-color:#b91c1c;
  box-shadow:0 10px 22px rgba(220,38,38,.22);
}
.button.danger.destructive-solid:hover{
  background:#b91c1c;
  color:#fff;
  transform:translateY(-1px);
}
.practice-linked-scripts-card{
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 16px 40px rgba(15,23,42,.08);
  display:grid;
  gap:.85rem;
}
.practice-linked-scripts-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.practice-linked-script-list{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.practice-linked-script-pill{
  display:grid;
  gap:.15rem;
  min-width:min(100%, 220px);
  max-width:100%;
  padding:.68rem .82rem;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.25);
  background:rgba(248,250,252,.9);
  color:#0f172a;
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease;
}
.practice-linked-script-pill:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(15,23,42,.10);
}
.practice-linked-script-pill strong{
  font-size:.92rem;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.practice-linked-script-pill span{
  color:#64748b;
  font-size:.76rem;
  font-weight:850;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.practice-linked-script-pill.is-linked{
  border-color:rgba(34,197,94,.38);
  background:linear-gradient(135deg, rgba(34,197,94,.14), rgba(255,255,255,.94));
}
.practice-linked-script-pill.is-linked span{color:#166534;}
.practice-script-empty{
  padding:.85rem 1rem;
  border-radius:16px;
  border:1px dashed rgba(148,163,184,.32);
  background:rgba(248,250,252,.82);
  color:#64748b;
  font-weight:800;
}
.practice-plan-scroll-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  scrollbar-gutter:auto;
  padding-bottom:.65rem;
}
.practice-plan-grid{
  overflow:visible!important;
}
.practice-grid-fixed-head,
.practice-grid-column-head{
  top:0;
}
.practice-autosave-hint{display:none!important;}
@media (max-width:760px){
  .practice-builder-head-actions{align-items:stretch;}
  .practice-builder-head-actions .button,
  .practice-builder-head-actions form,
  .practice-builder-head-actions form button{width:100%;}
  .practice-linked-scripts-head{align-items:stretch;}
  .practice-linked-scripts-head .button{width:100%;}
  .practice-linked-script-pill{width:100%;}
}

/* PBv1.8.8.7beta: Practice Plan Builder script status, return polish, persistent header collapse, and sticky layer cleanup */
.topbar{
  z-index:500!important;
}
.practice-linked-script-list{
  align-items:stretch;
}
.practice-linked-script-pill{
  min-width:0!important;
  width:min(100%,260px);
  overflow:hidden;
  white-space:normal;
}
.practice-linked-script-pill strong,
.practice-linked-script-pill span{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.practice-linked-script-pill.is-linked{
  border-color:color-mix(in srgb, var(--team-primary, var(--gold)) 62%, rgba(255,255,255,.24));
  background:linear-gradient(135deg, var(--team-primary, var(--gold)), color-mix(in srgb, var(--team-primary, var(--gold)) 80%, #ffffff 20%));
  color:var(--team-primary-text, #111);
  box-shadow:0 10px 24px color-mix(in srgb, var(--team-primary, var(--gold)) 18%, transparent);
}
.practice-linked-script-pill.is-linked strong,
.practice-linked-script-pill.is-linked span{
  color:var(--team-primary-text, #111);
}
.practice-linked-script-pill.is-unlinked{
  border-color:rgba(148,163,184,.24);
  background:rgba(248,250,252,.9);
  color:#0f172a;
}
.practice-grid-fixed-head,
.practice-grid-column-head{
  top:72px!important;
  z-index:6!important;
}
.practice-grid-time-head{z-index:8!important;}
.practice-grid-period-head{z-index:7!important;}
.practice-period-meta-cell,
.practice-period-name-cell{z-index:4!important;}
.practice-grid-card,
.practice-plan-scroll-wrap{
  isolation:isolate;
}
@media (max-width:900px){
  .practice-grid-fixed-head,
  .practice-grid-column-head{top:78px!important;}
}
@media (max-width:760px){
  .practice-linked-script-pill{width:100%;}
}


/* PBv1.8.8.8beta: Practice Plan Builder sticky grid timing, script pill containment, and top-nav search alignment. */
@media (min-width:901px){
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(330px, max-content) minmax(0,1fr)!important;
    column-gap:clamp(18px,2.2vw,46px)!important;
    align-items:center!important;
  }
  .topbar .brand{
    min-width:0!important;
    justify-self:start!important;
  }
  .topbar .nav{
    display:grid!important;
    grid-template-columns:minmax(190px,1fr) repeat(6,max-content)!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:clamp(14px,1.1vw,26px)!important;
    min-width:0!important;
    width:100%!important;
  }
  .topbar .nav .quick-nav-search{
    justify-self:center!important;
    align-self:center!important;
    margin:0!important;
    flex:none!important;
    width:clamp(170px,11.5vw,235px)!important;
    min-width:170px!important;
    max-width:235px!important;
  }
}

.practice-linked-scripts-card{
  padding:1rem!important;
  overflow:hidden!important;
}
.practice-linked-scripts-head,
.practice-linked-scripts-head > div,
.practice-linked-scripts-card .section-title,
.practice-linked-scripts-card .compact-muted{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.practice-linked-script-list{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.practice-linked-script-pill{
  box-sizing:border-box!important;
  flex:0 1 280px!important;
  width:auto!important;
  max-width:min(100%, 280px)!important;
  min-width:0!important;
  padding:.72rem .9rem!important;
  overflow:hidden!important;
  border-radius:17px!important;
}
.practice-linked-script-pill strong,
.practice-linked-script-pill span{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.practice-linked-script-pill span{
  white-space:normal!important;
}

.practice-plan-scroll-wrap{
  position:relative!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  isolation:isolate!important;
}
.practice-plan-grid{
  position:relative!important;
  overflow:visible!important;
}
.practice-grid-fixed-head,
.practice-grid-column-head{
  position:relative!important;
  top:auto!important;
  z-index:3!important;
  transform:none!important;
}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:sticky!important;
  top:var(--pb-practice-sticky-top, 82px)!important;
  z-index:42!important;
  box-shadow:0 10px 18px rgba(15,23,42,.22)!important;
}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-time-head{z-index:48!important;}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-period-head{z-index:47!important;}
.practice-period-meta-cell,
.practice-period-name-cell{
  position:sticky!important;
  z-index:12!important;
}
.practice-period-meta-cell{left:0!important;}
.practice-period-name-cell{left:var(--practice-time-col)!important;}
.topbar,
.team-brand-strip{
  position:sticky;
}
.topbar{z-index:700!important;}
.team-brand-strip{z-index:650!important;}
@media (max-width:760px){
  .practice-linked-scripts-card{padding:.9rem!important;}
  .practice-linked-script-pill{max-width:100%!important;flex-basis:100%!important;}
}

/* PBv1.8.8.9beta: practice grid entry/tab flow and drag-to-scroll polish */
.practice-column-form{
  gap:.5rem!important;
}
.practice-column-form .column-title-input,
.practice-column-form .column-coaches-input{
  width:100%;
}
.practice-plan-scroll-wrap{
  cursor:grab;
  touch-action:pan-y;
}
.practice-plan-scroll-wrap.is-practice-panning{
  cursor:grabbing!important;
  user-select:none;
}
.practice-plan-scroll-wrap input,
.practice-plan-scroll-wrap textarea,
.practice-plan-scroll-wrap select,
.practice-plan-scroll-wrap button,
.practice-plan-scroll-wrap a{
  cursor:auto;
}
.practice-plan-scroll-wrap .icon-button,
.practice-plan-scroll-wrap button{
  cursor:pointer;
}
.practice-cell-wrap.is-linked-source,
.practice-cell-wrap.is-linked-target{
  outline-offset:-2px;
}
.practice-with-tag{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* PBv1.8.8.10beta: practice grid freeze-pane, destructive deletes, stronger linking, script highlights, and vertical merge polish */
.practice-plan-list-row .button.danger,
.practice-plan-list-row .button.danger.destructive-solid{
  background:#dc2626!important;
  color:#fff!important;
  border-color:#b91c1c!important;
  box-shadow:0 10px 22px rgba(220,38,38,.22)!important;
}
.practice-plan-list-row .button.danger:hover,
.practice-plan-list-row .button.danger.destructive-solid:hover{
  background:#b91c1c!important;
  color:#fff!important;
}
.practice-plan-scroll-wrap{
  --practice-sticky-top:var(--pb-practice-sticky-top, 82px);
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.92))!important;
  border:1px solid rgba(212,167,59,.28)!important;
  border-radius:22px!important;
}
.practice-plan-grid{
  display:grid!important;
  align-items:stretch!important;
  overflow:visible!important;
  background:#101827!important;
  border-color:rgba(212,167,59,.22)!important;
}
.practice-grid-fixed-head,
.practice-grid-column-head{
  position:sticky!important;
  top:var(--practice-sticky-top)!important;
  z-index:60!important;
  background:linear-gradient(180deg,#172235,#111827)!important;
  border-bottom:2px solid rgba(212,167,59,.38)!important;
  box-shadow:0 10px 18px rgba(0,0,0,.2)!important;
}
.practice-grid-time-head{
  left:0!important;
  z-index:90!important;
}
.practice-grid-period-head{
  left:var(--practice-time-col)!important;
  z-index:89!important;
}
.practice-period-meta-cell,
.practice-period-name-cell{
  position:sticky!important;
  background:#f3f6fa!important;
  z-index:35!important;
  box-shadow:7px 0 14px rgba(15,23,42,.08)!important;
}
.practice-period-meta-cell{left:0!important;z-index:42!important;}
.practice-period-name-cell{left:var(--practice-time-col)!important;z-index:41!important;}
.practice-cell-wrap{
  background:#f8fafc!important;
  border-color:rgba(32,45,66,.16)!important;
}
.practice-cell-wrap.is-linked-source,
.practice-cell-wrap.is-linked-target{
  background:linear-gradient(180deg,#fff9e8,#fffdf5)!important;
  outline:3px solid rgba(212,167,59,.62)!important;
  box-shadow:inset 0 0 0 1px rgba(212,167,59,.35), 0 0 0 2px rgba(212,167,59,.16)!important;
}
.practice-cell-wrap.is-linked-source::before,
.practice-cell-wrap.is-linked-target::before{
  content:"Grouped";
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 .28rem;
  padding:.18rem .5rem;
  border-radius:999px;
  background:rgba(212,167,59,.18);
  color:#8a5b00;
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.practice-cell-wrap.is-merged-vertical{
  background:linear-gradient(180deg,#eef6ff,#f8fbff)!important;
  border:2px solid rgba(59,130,246,.35)!important;
}
.practice-cell-wrap.is-merged-vertical::after{
  content:"Merged block";
  position:absolute;
  right:.55rem;
  bottom:.45rem;
  padding:.16rem .44rem;
  border-radius:999px;
  background:rgba(59,130,246,.14);
  color:#1d4ed8;
  font-size:.64rem;
  font-weight:950;
  text-transform:uppercase;
  pointer-events:none;
}
.practice-cell-tools{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 74px 66px!important;
  gap:.38rem!important;
}
.practice-cell-span{
  text-align:center!important;
}
.practice-period-name-cell.has-linked-script,
.practice-script-select.is-linked{
  border-color:rgba(37,99,235,.65)!important;
  box-shadow:0 0 0 2px rgba(37,99,235,.14)!important;
}
.practice-script-select.is-linked{
  background:#1d4ed8!important;
  color:#fff!important;
}
.practice-with-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.28rem!important;
  min-height:0!important;
  margin:.28rem 0!important;
}
.practice-with-tag{
  display:inline-flex!important;
  align-items:center!important;
  gap:.28rem!important;
  padding:.18rem .28rem .18rem .5rem!important;
  border-radius:999px!important;
  background:rgba(212,167,59,.2)!important;
  border:1px solid rgba(212,167,59,.42)!important;
  color:#8a5b00!important;
  font-size:.7rem!important;
  font-weight:900!important;
}
.practice-with-tag-remove{
  display:inline-grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  border-radius:999px!important;
  border:0!important;
  background:rgba(153,27,27,.12)!important;
  color:#991b1b!important;
  font-weight:950!important;
  cursor:pointer!important;
  line-height:1!important;
}
.practice-with-tag-remove:hover{background:#dc2626!important;color:#fff!important;}
.topbar{z-index:900!important;}
.team-brand-strip{z-index:850!important;}
@media (max-width:760px){
  .practice-cell-tools{grid-template-columns:1fr 76px 68px!important;}
}

/* PBv1.8.8.11beta: Practice Plan grid freeze-pane cleanup, dark table styling, and button-based vertical merge controls. */
.practice-plan-list-row form .button.danger,
.practice-plan-list-row form .button.danger.destructive-solid,
.practice-builder-head-actions .button.danger,
.practice-builder-head-actions .button.danger.destructive-solid{
  background:#dc2626!important;
  color:#ffffff!important;
  border-color:#991b1b!important;
  box-shadow:0 10px 22px rgba(220,38,38,.28)!important;
}
.practice-plan-list-row form .button.danger:hover,
.practice-plan-list-row form .button.danger.destructive-solid:hover,
.practice-builder-head-actions .button.danger:hover,
.practice-builder-head-actions .button.danger.destructive-solid:hover{
  background:#b91c1c!important;
  color:#ffffff!important;
}

.practice-grid-card{
  overflow:visible!important;
}
.practice-plan-scroll-wrap{
  position:relative!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(17,24,39,.96))!important;
  border:1px solid rgba(212,167,59,.34)!important;
  border-radius:22px!important;
  padding-bottom:.75rem!important;
  isolation:isolate!important;
}
.practice-plan-grid{
  --practice-time-col:132px;
  --practice-period-col:210px;
  display:grid!important;
  grid-template-columns:var(--practice-time-col) var(--practice-period-col) repeat(var(--practice-cols, 4), minmax(215px, 1fr))!important;
  min-width:max(1040px, calc(var(--practice-time-col) + var(--practice-period-col) + (var(--practice-cols, 4) * 230px)))!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#111827,#0f172a)!important;
  border:1px solid rgba(212,167,59,.26)!important;
  border-radius:22px!important;
}
.practice-grid-fixed-head,
.practice-grid-column-head{
  position:relative!important;
  top:auto!important;
  min-height:116px!important;
  background:linear-gradient(180deg,#172235,#111827)!important;
  color:#f8fafc!important;
  border-right:1px solid rgba(148,163,184,.18)!important;
  border-bottom:2px solid rgba(212,167,59,.42)!important;
  z-index:20!important;
  box-shadow:none!important;
}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:sticky!important;
  top:var(--pb-practice-sticky-top, 82px)!important;
  z-index:80!important;
  box-shadow:0 12px 22px rgba(0,0,0,.28)!important;
}
.practice-grid-time-head{
  left:0!important;
  z-index:92!important;
}
.practice-grid-period-head{
  left:var(--practice-time-col)!important;
  z-index:91!important;
}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-time-head{z-index:104!important;}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-period-head{z-index:103!important;}

.practice-period-meta-cell,
.practice-period-name-cell{
  position:sticky!important;
  background:linear-gradient(180deg,#1b2638,#111827)!important;
  color:#f8fafc!important;
  border-right:1px solid rgba(148,163,184,.18)!important;
  border-bottom:1px solid rgba(148,163,184,.16)!important;
  z-index:44!important;
  box-shadow:8px 0 16px rgba(0,0,0,.16)!important;
}
.practice-period-meta-cell{left:0!important;z-index:54!important;}
.practice-period-name-cell{left:var(--practice-time-col)!important;z-index:53!important;}
.practice-period-meta-cell .input,
.practice-period-name-cell .input,
.practice-cell-wrap .input,
.practice-cell-wrap textarea{
  background:#0b111d!important;
  color:#f8fafc!important;
  border-color:rgba(212,167,59,.38)!important;
}
.practice-period-meta-cell .input::placeholder,
.practice-period-name-cell .input::placeholder,
.practice-cell-wrap .input::placeholder,
.practice-cell-wrap textarea::placeholder{
  color:rgba(148,163,184,.95)!important;
}
.practice-cell-wrap{
  position:relative!important;
  background:linear-gradient(180deg,#1a2434,#111827)!important;
  border-color:rgba(148,163,184,.16)!important;
  color:#f8fafc!important;
}
.practice-cell-wrap.is-linked-source,
.practice-cell-wrap.is-linked-target{
  background:linear-gradient(180deg,rgba(212,167,59,.24),rgba(17,24,39,.96))!important;
  outline:3px solid rgba(245,197,66,.8)!important;
  box-shadow:inset 0 0 0 1px rgba(245,197,66,.5),0 0 0 3px rgba(245,197,66,.14)!important;
}
.practice-cell-wrap.is-linked-source::before,
.practice-cell-wrap.is-linked-target::before{
  background:rgba(245,197,66,.95)!important;
  color:#111827!important;
}
.practice-cell-wrap.is-merged-vertical{
  background:linear-gradient(180deg,rgba(37,99,235,.24),rgba(17,24,39,.96))!important;
  border:2px solid rgba(59,130,246,.65)!important;
}
.practice-cell-wrap.is-merged-vertical::after{
  content:"Merged"!important;
  background:rgba(59,130,246,.92)!important;
  color:#ffffff!important;
}
.practice-cell-tools{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 82px!important;
  gap:.42rem!important;
}
.practice-cell-span{
  display:none!important;
}
.practice-cell-merge-tools{
  display:flex!important;
  gap:.38rem!important;
  flex-wrap:wrap!important;
  margin:.42rem 0 .3rem!important;
}
.practice-merge-button{
  appearance:none!important;
  border:1px solid rgba(212,167,59,.45)!important;
  background:rgba(15,23,42,.85)!important;
  color:#f8fafc!important;
  border-radius:999px!important;
  padding:.28rem .62rem!important;
  min-height:28px!important;
  font-family:var(--font-cond)!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  font-size:.68rem!important;
  cursor:pointer!important;
}
.practice-merge-button:hover{
  background:var(--team-primary, #0b47a1)!important;
  color:var(--team-primary-text,#fff)!important;
}
.practice-merge-button.danger{
  border-color:rgba(239,68,68,.55)!important;
  color:#fecaca!important;
}
.practice-merge-button.danger:hover{
  background:#dc2626!important;
  color:#fff!important;
}
.practice-with-tag{
  background:rgba(245,197,66,.92)!important;
  color:#111827!important;
  border-color:rgba(245,197,66,.95)!important;
}
.practice-script-select.is-linked,
.practice-period-name-cell.has-linked-script .practice-script-select{
  background:#1d4ed8!important;
  border-color:#60a5fa!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(59,130,246,.22)!important;
}
.topbar{z-index:1000!important;}
.team-brand-strip{z-index:950!important;}
@media (max-width:760px){
  .practice-cell-tools{grid-template-columns:1fr 82px!important;}
  .practice-cell-merge-tools{margin-top:.35rem!important;}
}

/* PBv1.8.8.12beta: final Practice Plan freeze-pane behavior and merge controls. */
.practice-plan-scroll-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(17,24,39,.96))!important;
  border:1px solid rgba(212,167,59,.36)!important;
  border-radius:22px!important;
  padding-bottom:.75rem!important;
}
.practice-plan-grid{
  --practice-time-col:132px;
  --practice-period-col:210px;
  --practice-header-y:0px;
  position:relative!important;
  align-items:stretch!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#101827,#0d1524)!important;
  border-color:rgba(212,167,59,.26)!important;
  border-radius:20px!important;
}
.practice-grid-fixed-head,
.practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  top:auto!important;
  bottom:auto!important;
  transform:translateY(var(--practice-header-y,0px))!important;
  transition:none!important;
  min-height:116px!important;
  background:linear-gradient(180deg,#172235,#101827)!important;
  color:#f8fafc!important;
  border-right:1px solid rgba(148,163,184,.18)!important;
  border-bottom:2px solid rgba(212,167,59,.45)!important;
  box-shadow:0 10px 18px rgba(0,0,0,.18)!important;
  z-index:150!important;
}
.practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:relative!important;
}
.practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head{
  position:sticky!important;
}
.practice-grid-time-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-time-head{
  left:0!important;
  z-index:190!important;
}
.practice-grid-period-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-period-head{
  left:var(--practice-time-col)!important;
  z-index:185!important;
}
.practice-period-meta-cell,
.practice-period-name-cell{
  position:sticky!important;
  background:linear-gradient(180deg,#172235,#111827)!important;
  color:#f8fafc!important;
  border-right:1px solid rgba(148,163,184,.2)!important;
  border-bottom:1px solid rgba(212,167,59,.24)!important;
  box-shadow:7px 0 16px rgba(0,0,0,.22)!important;
}
.practice-period-meta-cell{left:0!important;z-index:90!important;}
.practice-period-name-cell{left:var(--practice-time-col)!important;z-index:88!important;}
.practice-cell-wrap{
  background:linear-gradient(180deg,#182235,#111827)!important;
  border-color:rgba(212,167,59,.24)!important;
  color:#f8fafc!important;
}
.practice-cell-tools{grid-template-columns:minmax(0,1fr) 82px!important;}
.practice-cell-merge-tools{
  display:flex!important;
  align-items:center!important;
  gap:.35rem!important;
  flex-wrap:wrap!important;
  margin:.38rem 0 .3rem!important;
}
.practice-merge-button{
  min-height:28px!important;
  padding:.28rem .58rem!important;
  line-height:1!important;
  border-radius:999px!important;
  font-size:.68rem!important;
}
.practice-merge-button.danger{
  background:rgba(220,38,38,.16)!important;
  color:#fecaca!important;
  border-color:rgba(248,113,113,.45)!important;
}
.practice-cell-wrap.is-linked-source,
.practice-cell-wrap.is-linked-target{
  background:linear-gradient(180deg,rgba(212,167,59,.26),rgba(24,34,53,.98))!important;
  outline:3px solid rgba(245,197,66,.82)!important;
  box-shadow:inset 0 0 0 1px rgba(245,197,66,.45),0 0 0 3px rgba(245,197,66,.16)!important;
}
.practice-cell-wrap.is-merged-vertical{
  background:linear-gradient(180deg,rgba(37,99,235,.28),rgba(24,34,53,.98))!important;
  border:2px solid rgba(96,165,250,.72)!important;
}
@media (max-width:760px){
  .practice-grid-fixed-head,.practice-grid-column-head{transform:none!important;}
}

/* PBv1.8.8.13beta: print plan, grouped-with dropdown, and no-gap sticky header. */
.practice-builder-head-actions .button[href*="/print"]{
  background:var(--team-primary,#0b47a1)!important;
  color:var(--team-primary-text,#fff)!important;
  border-color:var(--team-secondary,#d4a73b)!important;
}
.practice-cell-with-select{
  min-width:0!important;
  width:100%!important;
  font-weight:900!important;
}
.practice-cell-tools{
  grid-template-columns:minmax(0,1fr) 82px!important;
}
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  top:var(--pb-practice-sticky-top,82px)!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid .practice-grid-column-head{
  scroll-margin-top:var(--pb-practice-sticky-top,82px)!important;
}
@media (max-width:760px){
  .practice-cell-tools{grid-template-columns:1fr 82px!important;}
}

/* PBv1.8.8.14beta: Practice Plan Builder no-gap, smoother native sticky header. */
.practice-plan-scroll-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  scroll-behavior:auto!important;
}
.practice-plan-grid{
  --practice-header-y:0px!important;
  position:relative!important;
  overflow:visible!important;
  transform:none!important;
  padding-top:0!important;
  margin-top:0!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:sticky!important;
  top:calc(var(--pb-practice-sticky-top, 96px) - 1px)!important;
  transform:none!important;
  translate:none!important;
  transition:none!important;
  will-change:auto!important;
  backface-visibility:hidden!important;
  contain:paint!important;
}
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  z-index:150!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head{
  z-index:180!important;
}
.practice-plan-grid .practice-grid-time-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-time-head{
  left:0!important;
  z-index:230!important;
}
.practice-plan-grid .practice-grid-period-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-period-head{
  left:var(--practice-time-col)!important;
  z-index:225!important;
}
.practice-plan-grid .practice-period-meta-cell,
.practice-plan-grid .practice-period-name-cell{
  transform:none!important;
  will-change:auto!important;
}
.practice-plan-grid .practice-period-meta-cell{left:0!important;z-index:85!important;}
.practice-plan-grid .practice-period-name-cell{left:var(--practice-time-col)!important;z-index:84!important;}
.topbar{z-index:1000!important;}
.team-brand-strip{z-index:999!important;}
@media (max-width:760px){
  .practice-plan-grid .practice-grid-fixed-head,
  .practice-plan-grid .practice-grid-column-head{
    position:relative!important;
    top:auto!important;
    transform:none!important;
  }
}


/* PBv1.8.8.15beta: surgical Practice Plan freeze-pane restore from .12 with no nav gap. */
.practice-plan-scroll-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-height:none!important;
  scroll-behavior:auto!important;
  isolation:isolate!important;
}
.practice-plan-grid{
  --practice-header-y:0px;
  position:relative!important;
  overflow:visible!important;
  align-items:stretch!important;
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  top:auto!important;
  bottom:auto!important;
  translate:none!important;
  transform:translate3d(0,var(--practice-header-y,0px),0)!important;
  transition:none!important;
  will-change:transform!important;
  contain:none!important;
  backface-visibility:hidden!important;
  min-height:116px!important;
  background:linear-gradient(180deg,#172235,#101827)!important;
  color:#f8fafc!important;
  border-right:1px solid rgba(148,163,184,.18)!important;
  border-bottom:2px solid rgba(212,167,59,.45)!important;
  box-shadow:0 10px 18px rgba(0,0,0,.18)!important;
  z-index:150!important;
}
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:relative!important;
  z-index:150!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head{
  position:sticky!important;
  z-index:180!important;
}
.practice-plan-grid .practice-grid-time-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-time-head{
  left:0!important;
  z-index:230!important;
}
.practice-plan-grid .practice-grid-period-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-period-head{
  left:var(--practice-time-col)!important;
  z-index:225!important;
}
.practice-plan-grid .practice-period-meta-cell{
  left:0!important;
  z-index:90!important;
}
.practice-plan-grid .practice-period-name-cell{
  left:var(--practice-time-col)!important;
  z-index:88!important;
}
.topbar{z-index:1000!important;}
.team-brand-strip{z-index:950!important;}
@media (max-width:760px){
  .practice-plan-grid .practice-grid-fixed-head,
  .practice-plan-grid .practice-grid-column-head{
    position:relative!important;
    top:auto!important;
    transform:none!important;
    will-change:auto!important;
  }
}


/* PBv1.8.8.16beta: restore active Practice Plan sticky movement without changing the correct .15 default layout. */
.practice-plan-grid{
  --practice-header-y:var(--pb-practice-header-y, 0px)!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  transform:translate3d(0,var(--practice-header-y,0px),0)!important;
  will-change:transform!important;
}
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:relative!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head{
  position:sticky!important;
}

/* PBv1.8.8.17beta: smooth Practice Plan sticky header using a fixed visual clone.
   The real table header keeps the correct default placement; the clone appears only while scrolling. */
.practice-plan-grid{
  --practice-header-y:0px!important;
  --pb-practice-header-y:0px!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  transform:none!important;
  translate:none!important;
  transition:none!important;
  will-change:auto!important;
}
.practice-plan-grid .practice-grid-column-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-column-head{
  position:relative!important;
  top:auto!important;
}
.practice-plan-grid .practice-grid-fixed-head,
.practice-plan-grid.is-practice-grid-stuck .practice-grid-fixed-head{
  position:sticky!important;
  top:auto!important;
}
.practice-grid-sticky-clone{
  position:fixed;
  display:none;
  pointer-events:none;
  overflow:hidden;
  z-index:940;
  border-radius:0 0 14px 14px;
  box-shadow:0 16px 28px rgba(0,0,0,.28);
  background:rgba(15,23,42,.98);
  contain:layout paint;
}
.practice-grid-sticky-clone.is-visible{
  display:block;
}
.practice-grid-sticky-fixed{
  position:absolute;
  left:0;
  top:0;
  display:flex;
  z-index:4;
  overflow:hidden;
}
.practice-grid-sticky-groups{
  position:absolute;
  top:0;
  right:0;
  overflow:hidden;
  z-index:2;
}
.practice-grid-sticky-track{
  display:flex;
  align-items:stretch;
  height:100%;
  min-width:max-content;
  will-change:transform;
}
.practice-grid-sticky-clone .practice-grid-fixed-head,
.practice-grid-sticky-clone .practice-grid-column-head,
.practice-grid-sticky-clone .practice-grid-clone-cell{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
  min-height:0!important;
  flex-shrink:0;
  overflow:hidden;
  background:linear-gradient(180deg,#172235,#101827)!important;
  color:#f8fafc!important;
  border-right:1px solid rgba(148,163,184,.22)!important;
  border-bottom:2px solid rgba(212,167,59,.5)!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.practice-grid-sticky-clone input,
.practice-grid-sticky-clone textarea,
.practice-grid-sticky-clone .practice-clone-select-label{
  pointer-events:none!important;
  opacity:1!important;
  background:rgba(15,23,42,.76)!important;
  color:#f8fafc!important;
  border-color:rgba(148,163,184,.28)!important;
}
.practice-grid-sticky-clone .practice-column-actions,
.practice-grid-sticky-clone button,
.practice-grid-sticky-clone .icon-button{
  display:none!important;
}
@media (max-width:760px){
  .practice-grid-sticky-clone{display:none!important;}
}

/* PBv1.8.8.18beta: smoother horizontal Practice Plan scrolling and stable header focus. */
.practice-plan-scroll-wrap{
  overscroll-behavior-x:contain!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;
  cursor:grab;
}
.practice-plan-scroll-wrap.is-practice-panning{
  cursor:grabbing!important;
  user-select:none!important;
}
.practice-plan-scroll-wrap.is-practice-panning .practice-plan-grid{
  pointer-events:auto;
}
.practice-grid-sticky-track{
  transition:transform 22ms linear;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.practice-grid-sticky-clone{
  transform:translateZ(0);
  backface-visibility:hidden;
}
.practice-grid-column-head input:focus,
.practice-grid-column-head textarea:focus{
  outline:2px solid color-mix(in srgb,var(--team-primary,var(--gold)) 70%, white)!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 3px rgba(212,167,59,.12)!important;
}

/* PBv1.8.8.19beta: restore click-hold drag horizontal panning, header template controls, and print-script column polish. */
.practice-template-tools{
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:.75rem;
  margin-top:.65rem;
}
.practice-template-tools form{
  display:grid!important;
  grid-template-columns:minmax(160px,1fr) max-content;
  align-items:end;
  gap:.5rem!important;
  margin:0!important;
}
.practice-template-label{
  display:grid;
  gap:.25rem;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#475569;
}
.practice-template-tools .button[disabled],
.practice-template-tools .input[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
.practice-plan-scroll-wrap{
  cursor:grab!important;
  touch-action:pan-y!important;
}
.practice-plan-scroll-wrap.is-practice-panning,
.practice-plan-scroll-wrap.is-practice-panning *{
  cursor:grabbing!important;
}
.practice-plan-scroll-wrap.is-practice-panning input,
.practice-plan-scroll-wrap.is-practice-panning textarea{
  pointer-events:none;
}
.practice-grid-sticky-track{
  transition:none!important;
}
@media (max-width:900px){
  .practice-template-tools{grid-template-columns:1fr;}
  .practice-template-tools form{grid-template-columns:1fr;}
}

/* PBv1.8.8.20beta: Practice Plan Builder table condensation, full-team rows, no-jump templates, and minute labels. */
.practice-plan-grid{
  --practice-time-col:118px!important;
  --practice-period-col:176px!important;
  grid-template-columns:var(--practice-time-col) var(--practice-period-col) repeat(var(--practice-cols, 4), minmax(196px, 1fr))!important;
  min-width:max(960px, calc(var(--practice-time-col) + var(--practice-period-col) + (var(--practice-cols, 4) * 204px)))!important;
}
.practice-grid-column-head,
.practice-grid-fixed-head{
  padding:.55rem!important;
  min-height:108px!important;
}
.practice-period-meta-cell,
.practice-period-name-cell,
.practice-cell-wrap,
.practice-full-team-row-cell{
  padding:.46rem!important;
  min-height:114px!important;
}
.practice-column-form .input,
.practice-period-meta-cell .input,
.practice-period-name-cell .input{
  min-height:31px!important;
  padding:.36rem .48rem!important;
  font-size:.82rem!important;
}
.practice-cell-tools{
  grid-template-columns:minmax(0,1fr) 74px!important;
  gap:.34rem!important;
}
.practice-cell-with-select,
.practice-cell-minutes,
.practice-cell-textarea,
.practice-full-team-textarea{
  font-size:.82rem!important;
  line-height:1.25!important;
}
.practice-cell-textarea{
  min-height:92px!important;
}
.practice-minutes-field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:.32rem!important;
  min-width:0!important;
}
.practice-minutes-field span{
  font-size:.72rem!important;
  font-weight:900!important;
  color:#cbd5e1!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
}
.practice-minutes-field .practice-minutes-input{
  min-width:0!important;
  text-align:center!important;
}
.practice-full-team-row-cell{
  background:linear-gradient(180deg,rgba(212,167,59,.28),rgba(24,34,53,.98))!important;
  border:2px solid rgba(245,197,66,.78)!important;
  color:#f8fafc!important;
  box-shadow:inset 0 0 0 1px rgba(245,197,66,.35)!important;
  z-index:40!important;
}
.practice-full-team-label{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  padding:.25rem .7rem!important;
  border-radius:999px!important;
  background:rgba(245,197,66,.92)!important;
  color:#111827!important;
  font-family:var(--font-cond)!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  font-size:.72rem!important;
}
.practice-full-team-textarea{
  min-height:92px!important;
  background:rgba(15,23,42,.72)!important;
  border-color:rgba(245,197,66,.48)!important;
  color:#f8fafc!important;
}
.practice-full-team-button{
  background:rgba(245,197,66,.92)!important;
  color:#111827!important;
  border-color:rgba(245,197,66,.95)!important;
}
.practice-template-action-pair{
  display:flex!important;
  align-items:end!important;
  gap:.42rem!important;
}
.practice-template-delete-button[disabled]{
  opacity:.45!important;
  cursor:not-allowed!important;
}
.practice-plan-scroll-wrap{
  user-select:auto!important;
}
.practice-plan-scroll-wrap.is-practice-panning{
  user-select:none!important;
}
.practice-plan-scroll-wrap.is-practice-panning input,
.practice-plan-scroll-wrap.is-practice-panning textarea,
.practice-plan-scroll-wrap.is-practice-panning select{
  pointer-events:auto!important;
}
@media (max-width:760px){
  .practice-cell-tools{grid-template-columns:1fr 74px!important;}
  .practice-minutes-field{grid-template-columns:1fr!important;}
  .practice-minutes-field span{display:none!important;}
}

/* PBv1.8.8.21beta: faster practice-grid controls, wider drag-pan surface, row selection, and script print metadata. */
.practice-plan-grid{
  --practice-time-col:120px!important;
  --practice-period-col:150px!important;
  grid-template-columns:var(--practice-time-col) var(--practice-period-col) repeat(var(--practice-cols, 4), minmax(178px, 1fr))!important;
  min-width:max(920px, calc(var(--practice-time-col) + var(--practice-period-col) + (var(--practice-cols, 4) * 186px)))!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:pan-y!important;
}
.practice-plan-grid input,
.practice-plan-grid textarea,
.practice-plan-grid select,
.practice-plan-grid button,
.practice-plan-grid a{
  user-select:text!important;
  -webkit-user-select:text!important;
}
.practice-plan-grid button,
.practice-plan-grid select{
  user-select:none!important;
  -webkit-user-select:none!important;
}
.practice-period-meta-cell,
.practice-period-name-cell,
.practice-cell-wrap,
.practice-full-team-row-cell{
  padding:.38rem!important;
}
.practice-period-name-cell .period-meta-form{
  gap:.32rem!important;
}
.practice-period-actions-in-time{
  display:grid!important;
  grid-template-columns:1fr auto auto!important;
  gap:.26rem!important;
  align-items:center!important;
  margin-top:.42rem!important;
}
.practice-period-actions-in-time form{margin:0!important;}
.practice-period-actions-in-time form:last-child{grid-column:1 / -1; justify-self:start;}
.practice-period-actions-in-time .practice-full-team-button{
  min-height:28px!important;
  padding:.2rem .48rem!important;
  font-size:.68rem!important;
}
.practice-period-actions-in-time .icon-button{
  width:28px!important;
  height:28px!important;
}
.practice-cell-tools{
  grid-template-columns:minmax(0,1fr)!important;
}
.practice-cell-with-select{
  width:100%!important;
  min-width:0!important;
}
.practice-cell-minutes{display:none!important;}
.practice-cell-textarea,
.practice-full-team-textarea{
  min-height:82px!important;
}
.practice-full-team-row-cell{
  align-self:stretch!important;
}
[data-practice-period-row].is-period-selected{
  outline:2px solid rgba(59,130,246,.9)!important;
  outline-offset:-2px!important;
  box-shadow:inset 0 0 0 999px rgba(59,130,246,.08)!important;
}
.practice-plan-scroll-wrap.is-practice-panning,
.practice-plan-scroll-wrap.is-practice-panning *{
  cursor:grabbing!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.script-entry-details-form{
  display:grid!important;
  grid-template-columns:70px 72px minmax(86px, 1fr) auto!important;
  align-items:end!important;
  gap:.35rem!important;
}
.script-entry-details-form label{
  min-width:0!important;
  font-size:.68rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
.script-entry-details-form .input{
  min-height:30px!important;
  padding:.28rem .38rem!important;
  font-size:.78rem!important;
}
.script-entry-details-form .situation-input{min-width:0!important;}
@media (max-width:760px){
  .script-entry-details-form{grid-template-columns:1fr 1fr!important;}
  .practice-period-actions-in-time{grid-template-columns:1fr auto auto!important;}
}

/* PBv1.8.8.22beta: insert-between controls, zoom, stronger full-team merge, and smoother table panning. */
.practice-grid-card-top{
  grid-template-columns:minmax(260px,1fr) auto auto!important;
  align-items:start!important;
}
.practice-grid-view-tools{
  display:flex!important;
  align-items:end!important;
  justify-content:flex-end!important;
  gap:.45rem!important;
  min-width:132px!important;
}
.practice-grid-view-tools label{
  display:grid!important;
  gap:.22rem!important;
  font-size:.68rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
  color:#475569!important;
}
.practice-grid-view-tools .input{
  min-height:32px!important;
  min-width:104px!important;
  padding:.32rem .5rem!important;
  font-weight:900!important;
}
.practice-plan-scroll-wrap{
  --practice-grid-zoom:1;
  scroll-behavior:auto!important;
  cursor:grab!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.practice-plan-scroll-wrap .practice-plan-grid{
  transform-origin:top left!important;
}
.practice-plan-scroll-wrap.is-practice-panning,
.practice-plan-scroll-wrap.is-practice-panning *{
  cursor:grabbing!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
body.is-practice-grid-panning,
body.is-practice-grid-panning *{
  user-select:none!important;
  -webkit-user-select:none!important;
}
.practice-plan-grid input,
.practice-plan-grid textarea,
.practice-plan-grid select{
  user-select:text!important;
  -webkit-user-select:text!important;
}
.practice-grid-column-head,
.practice-period-meta-cell{
  overflow:visible!important;
}
.practice-grid-column-head{position:relative!important;}
.practice-grid-insert-button{
  width:24px!important;
  height:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid rgba(245,197,66,.96)!important;
  background:rgba(245,197,66,.98)!important;
  color:#101827!important;
  font-family:var(--font-cond)!important;
  font-weight:950!important;
  font-size:1rem!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
  opacity:0!important;
  transform:scale(.92)!important;
  transition:opacity .14s ease, transform .14s ease!important;
}
.practice-insert-column-form{
  position:absolute!important;
  right:-13px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:260!important;
  margin:0!important;
  pointer-events:none!important;
}
.practice-grid-column-head:hover .practice-insert-column-form,
.practice-insert-column-form:focus-within{
  pointer-events:auto!important;
}
.practice-grid-column-head:hover .practice-grid-insert-column,
.practice-insert-column-form:focus-within .practice-grid-insert-column{
  opacity:1!important;
  transform:scale(1)!important;
}
.practice-period-meta-cell{position:sticky!important;}
.practice-insert-period-form{
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  transform:translateX(-50%)!important;
  z-index:260!important;
  margin:0!important;
  pointer-events:none!important;
}
.practice-period-meta-cell:hover .practice-insert-period-form,
.practice-insert-period-form:focus-within{
  pointer-events:auto!important;
}
.practice-period-meta-cell:hover .practice-grid-insert-period,
.practice-insert-period-form:focus-within .practice-grid-insert-period{
  opacity:1!important;
  transform:scale(1)!important;
}
.practice-full-team-row-cell{
  grid-column:3 / -1!important;
  position:relative!important;
  z-index:120!important;
  min-width:0!important;
}
.practice-full-team-row-cell form{
  width:100%!important;
}
.practice-period-actions-in-time{
  grid-template-columns:1fr auto auto!important;
}
.practice-period-delete-form{
  grid-column:1 / -1!important;
  width:100%!important;
}
.practice-delete-period-button{
  width:100%!important;
  min-height:28px!important;
  border:1px solid rgba(239,68,68,.85)!important;
  border-radius:999px!important;
  background:rgba(239,68,68,.94)!important;
  color:white!important;
  font-family:var(--font-cond)!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  font-size:.68rem!important;
  cursor:pointer!important;
  box-shadow:0 8px 16px rgba(127,29,29,.22)!important;
}
.practice-delete-period-button:hover{
  filter:brightness(1.04)!important;
  transform:translateY(-1px)!important;
}
.practice-cell-wrap.is-linked-source textarea[data-practice-cell],
.practice-cell-wrap.is-linked-target textarea[data-practice-cell]{
  border-color:rgba(96,165,250,.55)!important;
}
@media (max-width:900px){
  .practice-grid-card-top{grid-template-columns:1fr!important;}
  .practice-grid-view-tools{justify-content:flex-start!important;}
}
@media (max-width:760px){
  .practice-grid-view-tools{display:none!important;}
}


/* PBv1.8.8.23beta: priority fixes for true Full Team row span and unclipped insert buttons. */
.practice-full-team-row-cell{
  grid-column:var(--practice-full-team-column, 3 / -1)!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
}
.practice-full-team-row-cell .period-meta-form,
.practice-full-team-row-cell form{
  width:100%!important;
  max-width:none!important;
}
.practice-full-team-row-cell .practice-full-team-textarea{
  width:100%!important;
  box-sizing:border-box!important;
}
.practice-grid-column-head,
.practice-period-meta-cell,
.practice-plan-grid{
  overflow:visible!important;
}
.practice-grid-insert-button{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  line-height:1!important;
  border:2px solid rgba(245,197,66,.98)!important;
  box-sizing:border-box!important;
  z-index:999!important;
  overflow:visible!important;
}
.practice-insert-column-form{
  right:4px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:999!important;
}
.practice-insert-period-form{
  left:50%!important;
  bottom:4px!important;
  transform:translateX(-50%)!important;
  z-index:999!important;
}
.practice-period-meta-cell{
  padding-bottom:36px!important;
}
.practice-grid-column-head:hover .practice-grid-insert-column,
.practice-insert-column-form:focus-within .practice-grid-insert-column,
.practice-period-meta-cell:hover .practice-grid-insert-period,
.practice-insert-period-form:focus-within .practice-grid-insert-period{
  opacity:1!important;
  transform:scale(1)!important;
}

/* PBv1.8.8.24beta: priority full-team merge, period controls, script row overflow, and print-window cleanup. */
.practice-plan-grid{
  --practice-time-col:122px!important;
  --practice-period-col:178px!important;
  grid-template-columns:var(--practice-time-col) var(--practice-period-col) repeat(var(--practice-cols, 4), minmax(178px, 1fr))!important;
  min-width:max(920px, calc(var(--practice-time-col) + var(--practice-period-col) + (var(--practice-cols, 4) * 186px)))!important;
}
.practice-minutes-field{
  display:block!important;
}
.practice-minutes-field .practice-minutes-input{
  width:100%!important;
  text-align:center!important;
  font-weight:850!important;
}
.practice-minutes-field span{
  display:none!important;
}
.practice-period-actions-in-period{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:.3rem!important;
  align-items:center!important;
  margin:.42rem 0 0!important;
}
.practice-period-actions-in-period form{margin:0!important;min-width:0!important;}
.practice-period-actions-in-period .practice-full-team-form{min-width:0!important;}
.practice-period-actions-in-period .practice-full-team-button{
  width:100%!important;
  min-height:28px!important;
  padding:.2rem .48rem!important;
  font-size:.68rem!important;
}
.practice-period-actions-in-period .icon-button{
  width:28px!important;
  height:28px!important;
}
.practice-period-actions-in-period .practice-period-delete-form{
  grid-column:1 / -1!important;
  width:100%!important;
}
.practice-delete-period-button,
.practice-row-add-button{
  width:100%!important;
  min-height:28px!important;
  border-radius:999px!important;
  font-family:var(--font-cond)!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  font-size:.68rem!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:.18rem .52rem!important;
}
.practice-delete-period-button{
  border:1px solid rgba(248,113,113,.55)!important;
  background:rgba(185,28,28,.72)!important;
  color:#fee2e2!important;
  box-shadow:none!important;
}
.practice-delete-period-button:hover{
  background:rgba(185,28,28,.86)!important;
  filter:none!important;
}
.practice-row-add-button{
  border:1px solid rgba(245,197,66,.84)!important;
  background:rgba(245,197,66,.92)!important;
  color:#111827!important;
  margin-top:.42rem!important;
}
.practice-period-meta-cell .practice-insert-period-form{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:auto!important;
  pointer-events:auto!important;
  width:100%!important;
  margin:0!important;
}
.practice-period-meta-cell{
  padding-bottom:.38rem!important;
}
.practice-grid-column-head{overflow:visible!important;}
.practice-insert-column-form{
  right:-14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:1000!important;
  pointer-events:none!important;
}
.practice-grid-column-head:hover .practice-insert-column-form,
.practice-insert-column-form:focus-within{
  pointer-events:auto!important;
}
.practice-grid-insert-column{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  opacity:0!important;
  transform:scale(.92)!important;
  border-radius:999px!important;
  overflow:visible!important;
}
.practice-grid-column-head:hover .practice-grid-insert-column,
.practice-insert-column-form:focus-within .practice-grid-insert-column{
  opacity:1!important;
  transform:scale(1)!important;
}
.practice-full-team-row-cell{
  grid-column-start:3!important;
  grid-column-end:calc(var(--practice-cols, 4) + 3)!important;
  display:grid!important;
  grid-template-rows:auto minmax(82px,1fr)!important;
  gap:.35rem!important;
  align-self:stretch!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  z-index:220!important;
  background:linear-gradient(180deg,rgba(245,197,66,.26),rgba(15,23,42,.98))!important;
  border:2px solid rgba(245,197,66,.82)!important;
}
.practice-full-team-row-cell form,
.practice-full-team-row-cell .period-meta-form{
  display:grid!important;
  grid-template-rows:auto minmax(82px,1fr)!important;
  gap:.35rem!important;
  width:100%!important;
  min-width:0!important;
}
.practice-full-team-row-cell .practice-full-team-textarea{
  width:100%!important;
  max-width:none!important;
  min-height:96px!important;
  box-sizing:border-box!important;
  resize:vertical!important;
}
.entry-row{
  grid-template-columns:28px 34px minmax(180px,1fr) minmax(250px,340px) 78px 36px!important;
  align-items:center!important;
}
.entry-main{min-width:0!important;overflow-wrap:anywhere!important;}
.script-entry-details-form{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:58px 64px minmax(92px,1fr) 58px!important;
  gap:.28rem!important;
  overflow:hidden!important;
}
.script-entry-details-form label{min-width:0!important;}
.script-entry-details-form .input{width:100%!important;min-width:0!important;}
.script-entry-details-form .button{min-width:0!important;padding-left:.4rem!important;padding-right:.4rem!important;}
.entry-thumb{
  width:76px!important;
  height:44px!important;
  max-width:76px!important;
  justify-self:center!important;
}
@media(max-width:1100px){
  .entry-row{grid-template-columns:26px 30px minmax(0,1fr) 72px 34px!important;}
  .script-entry-details-form{grid-column:3 / 6!important;grid-row:auto!important;margin-top:.3rem!important;}
  .entry-thumb{grid-column:4 / 5!important;width:68px!important;height:40px!important;}
}
@media(max-width:760px){
  .practice-period-actions-in-period{grid-template-columns:1fr auto auto!important;}
  .entry-row{grid-template-columns:24px 28px 1fr 60px 32px!important;}
  .script-entry-details-form{grid-template-columns:1fr 1fr!important;grid-column:1 / -1!important;margin-left:0!important;}
}
.practice-full-team-row-cell{grid-column:3 / -1!important;}

/* PBv1.8.8.25beta: true Full Team row rendering, floating print pill, and cleaned period controls. */
.practice-floating-print-pill{
  position:fixed!important;
  right:clamp(14px,2vw,28px)!important;
  bottom:clamp(14px,2vw,28px)!important;
  z-index:925!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  min-height:42px!important;
  padding:.55rem 1.05rem!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--team-secondary,#d4a73b) 80%, transparent)!important;
  background:color-mix(in srgb,var(--team-primary,#0b47a1) 72%, transparent)!important;
  color:var(--team-primary-text,#fff)!important;
  font-family:var(--font-cond)!important;
  font-size:.92rem!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-shadow:0 14px 32px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(8px)!important;
  opacity:.88!important;
}
.practice-floating-print-pill:hover{opacity:1!important;transform:translateY(-1px)!important;}
.practice-period-meta-cell,
.practice-period-name-cell{
  display:flex!important;
  flex-direction:column!important;
  gap:.42rem!important;
}
.practice-period-meta-cell .period-meta-form,
.practice-period-name-cell .period-meta-form{
  display:flex!important;
  flex-direction:column!important;
  gap:.34rem!important;
  margin:0!important;
}
.practice-period-meta-cell .practice-insert-period-form,
.practice-period-meta-cell .practice-period-delete-form{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  pointer-events:auto!important;
  width:100%!important;
  margin:0!important;
  z-index:auto!important;
}
.practice-period-actions-in-period{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 30px 30px!important;
  gap:.32rem!important;
  align-items:center!important;
  margin:0!important;
}
.practice-period-actions-in-period form{margin:0!important;min-width:0!important;}
.practice-period-actions-in-period .practice-full-team-button{
  width:100%!important;
  min-height:30px!important;
  background:rgba(245,197,66,.92)!important;
  color:#111827!important;
  border-color:rgba(245,197,66,.95)!important;
}
.practice-period-actions-in-period .practice-full-team-button.is-active,
.practice-period-name-cell.is-full-team-active .practice-full-team-button{
  background:var(--team-primary,#0b47a1)!important;
  color:var(--team-primary-text,#fff)!important;
  border-color:var(--team-secondary,#d4a73b)!important;
}
.practice-period-actions-in-period .icon-button{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
}
.practice-row-add-button,
.practice-delete-period-button{
  width:100%!important;
  min-height:31px!important;
  border-radius:999px!important;
  font-family:var(--font-cond)!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  font-size:.7rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.practice-row-add-button{
  margin-top:0!important;
  background:rgba(245,197,66,.92)!important;
  color:#111827!important;
  border:1px solid rgba(245,197,66,.88)!important;
}
.practice-delete-period-button{
  background:rgba(185,28,28,.58)!important;
  color:#fee2e2!important;
  border:1px solid rgba(248,113,113,.42)!important;
  box-shadow:none!important;
}
.practice-delete-period-button:hover{background:rgba(185,28,28,.78)!important;filter:none!important;}
.practice-full-team-row-cell{
  grid-column:3 / -1!important;
  display:block!important;
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  align-self:stretch!important;
  z-index:320!important;
  background:linear-gradient(180deg,rgba(245,197,66,.24),rgba(15,23,42,.98))!important;
  border:2px solid rgba(245,197,66,.85)!important;
  border-radius:14px!important;
  overflow:visible!important;
  box-shadow:inset 0 0 0 1px rgba(245,197,66,.22),0 10px 22px rgba(0,0,0,.2)!important;
}
.practice-full-team-row-cell form,
.practice-full-team-row-cell .period-meta-form{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:auto minmax(100px,1fr)!important;
  gap:.42rem!important;
}
.practice-full-team-row-cell .practice-full-team-textarea{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:104px!important;
  height:100%!important;
  box-sizing:border-box!important;
}
.practice-plan-scroll-wrap[data-practice-full-team-period-ids]:not([data-practice-full-team-period-ids=""]) .practice-full-team-row-cell{
  display:block!important;
}
@media(max-width:760px){
  .practice-floating-print-pill{right:12px!important;bottom:12px!important;min-width:112px!important;min-height:38px!important;font-size:.8rem!important;}
}

/* PBv1.8.8.26beta: grouping-based Group All, faster-feeling grid actions, and script-row autosave polish. */
.practice-full-team-button::before{content:""!important;}
.practice-period-actions-in-period .practice-full-team-button{font-size:.68rem!important;letter-spacing:.05em!important;}
.practice-period-actions-in-period .practice-full-team-button.is-active,
.practice-period-name-cell.is-full-team-active .practice-full-team-button{
  background:rgba(59,130,246,.94)!important;
  color:#fff!important;
}
.practice-cell-wrap.is-linked-source,
.practice-cell-wrap.is-linked-target{outline-offset:-3px!important;}
.practice-cell-wrap.is-linked-source .practice-with-tag,
.practice-cell-wrap.is-linked-target .practice-with-tag{font-weight:950!important;}
.script-entry-details-form{
  grid-template-columns:58px 64px minmax(110px,1fr)!important;
  gap:.32rem!important;
}
.script-entry-details-form.is-saving{opacity:.74!important;}
.script-entry-details-form.is-saved{filter:brightness(1.06)!important;}
.script-entry-details-form.is-error{outline:2px solid rgba(248,113,113,.9)!important;outline-offset:2px!important;border-radius:10px!important;}
.script-entry-details-form .situation-input{min-width:0!important;}
.entry-thumb{align-self:center!important;}
@media(max-width:1100px){
  .script-entry-details-form{grid-template-columns:54px 60px minmax(0,1fr)!important;grid-column:3 / 5!important;}
}
@media(max-width:760px){
  .script-entry-details-form{grid-template-columns:1fr 1fr!important;}
  .script-entry-details-form label:last-child{grid-column:1 / -1!important;}
}

/* ===================================================================
   PBv1.8.8.29beta: Group All / Full Team visible state
   -------------------------------------------------------------------
   Previous patches relied on JavaScript to add .is-linked-source /
   .is-linked-target before the cells looked grouped. If the JS
   refresh race-lagged the DOM swap or a coach hit the button before
   the cluster pass finished, the row stayed visually flat even
   though the database was correctly clustered. v1.8.8.29 makes the
   visible state driven directly by the data-group-cluster-id
   attribute and by the is-full-team-active class on the row, so the
   visible grouping reflects the persisted state immediately.
   =================================================================== */

.practice-cell-wrap[data-group-cluster-id]:not([data-group-cluster-id=""]),
.practice-mobile-cell[data-group-cluster-id]:not([data-group-cluster-id=""]){
  background:linear-gradient(180deg, rgba(245,197,66,.28), rgba(17,24,39,.96))!important;
  outline:3px solid rgba(245,197,66,.92)!important;
  outline-offset:-2px!important;
  box-shadow:inset 0 0 0 1px rgba(245,197,66,.55), 0 0 0 3px rgba(245,197,66,.18)!important;
  position:relative!important;
}
.practice-cell-wrap[data-group-cluster-id]:not([data-group-cluster-id=""])::before,
.practice-mobile-cell[data-group-cluster-id]:not([data-group-cluster-id=""])::before{
  content:"Grouped";
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 .32rem;
  padding:.22rem .58rem;
  border-radius:999px;
  background:rgba(245,197,66,.95)!important;
  color:#111827!important;
  font-family:var(--font-cond, "Oswald", sans-serif);
  font-size:.7rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* When every visible group in a period is clustered together, the
   period row picks up the is-full-team-active class. We paint the
   row's period-meta cells and group cells with a bolder treatment so
   a coach immediately sees "this period is grouped as Full Team". */
.practice-period-meta-cell.is-full-team-active,
.practice-period-name-cell.is-full-team-active{
  background:linear-gradient(180deg, rgba(245,197,66,.34), rgba(245,197,66,.18))!important;
  box-shadow:inset 0 0 0 2px rgba(245,197,66,.6), 7px 0 14px rgba(15,23,42,.08)!important;
}
.practice-period-name-cell.is-full-team-active::after{
  content:"FULL TEAM";
  display:inline-flex;
  align-items:center;
  margin-top:.4rem;
  padding:.22rem .58rem;
  border-radius:999px;
  background:#111827!important;
  color:#f5c542!important;
  font-family:var(--font-cond, "Oswald", sans-serif);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.1em;
  border:1px solid rgba(245,197,66,.7);
}
.practice-cell-wrap.is-full-team-active[data-group-cluster-id]:not([data-group-cluster-id=""])::before{
  content:"FULL TEAM";
  background:#111827!important;
  color:#f5c542!important;
  border:1px solid rgba(245,197,66,.7);
}
/* Active state on the button itself stays visually flipped. */
.practice-full-team-button.is-active{
  background:#111827!important;
  color:#f5c542!important;
  border-color:rgba(245,197,66,.85)!important;
  box-shadow:0 0 0 2px rgba(245,197,66,.35)!important;
}

/* PBv1.8.8.33beta: compact install notes, drag ordering, multi-script period linking. */
.practice-install-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.55rem!important;
}
.practice-install-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.5rem;
  align-items:center;
}
.practice-install-row{
  grid-template-columns:40px minmax(170px,.75fr) minmax(260px,1.7fr)!important;
  gap:.5rem!important;
  margin:0;
}
.install-drag-handle{
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.45);
  background:rgba(15,23,42,.08);
  color:var(--ink);
  font-weight:900;
  cursor:grab;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.install-drag-handle:active{cursor:grabbing;}
.practice-install-add-form{
  display:flex;
  gap:.5rem;
  align-items:center;
  flex-wrap:wrap;
}
.practice-install-add-form .input{max-width:none!important;}
.practice-mini-delete .button.danger.destructive-solid{
  min-height:34px;
  padding:.45rem .75rem;
}
.practice-script-multi-select{
  min-height:74px;
  overflow:auto;
}
.practice-script-select-help{
  color:var(--mute);
  font-size:10px;
  font-weight:800;
  line-height:1.15;
}
.weekly-plan-link{
  border:1px solid rgba(59,130,246,.32);
  background:rgba(59,130,246,.12);
  color:#bfdbfe;
}
.weekly-plan-link.is-current{
  background:rgba(212,167,59,.16);
  color:var(--gold);
  border-color:rgba(212,167,59,.35);
}
.custom-script-entry-form{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 82px auto;
  gap:.5rem;
  align-items:center;
  margin:.7rem 0 1rem;
  padding:.65rem;
  border:1px solid rgba(212,167,59,.25);
  border-radius:16px;
  background:rgba(212,167,59,.06);
}
.custom-entry-main{
  border-radius:12px;
  background:rgba(148,163,184,.08);
  padding:.55rem .65rem;
}
.custom-entry-main strong{display:block;}
@media(max-width:760px){
  .practice-install-item,
  .practice-install-row,
  .custom-script-entry-form{grid-template-columns:1fr!important;}
  .install-drag-handle{width:100%;}
}

/* PBv1.8.8.33beta: script links stay period-specific, with a dropdown-style multi-pick. */
.practice-script-dropdown{
  position:relative;
  width:100%;
  border:1px solid rgba(148,163,184,.42);
  border-radius:14px;
  background:rgba(15,23,42,.88);
  color:var(--ink);
}
.practice-script-dropdown summary{
  list-style:none;
  cursor:pointer;
  padding:.54rem .74rem;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  min-height:38px;
}
.practice-script-dropdown summary::-webkit-details-marker{display:none;}
.practice-script-dropdown summary::after{
  content:"▾";
  font-size:.78rem;
  color:var(--gold);
  transition:transform .16s ease;
}
.practice-script-dropdown[open] summary::after{transform:rotate(180deg);}
.practice-script-dropdown.is-linked{
  border-color:#60a5fa!important;
  box-shadow:0 0 0 2px rgba(59,130,246,.22)!important;
}
.practice-script-dropdown.is-linked summary{
  background:#1d4ed8!important;
  color:#fff!important;
  border-radius:13px;
}
.practice-script-dropdown-menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:60;
  max-height:240px;
  overflow:auto;
  padding:.38rem;
  border:1px solid rgba(212,167,59,.42);
  border-radius:14px;
  background:#101827;
  box-shadow:0 18px 34px rgba(0,0,0,.34);
}
.practice-script-checkbox-row{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.44rem .46rem;
  border-radius:10px;
  color:#f8fafc;
  font-weight:850;
  cursor:pointer;
}
.practice-script-checkbox-row:hover{background:rgba(212,167,59,.16);}
.practice-script-checkbox-row input{accent-color:var(--gold);}
.practice-script-empty{
  color:#cbd5e1;
  font-weight:800;
  padding:.5rem;
}
@media (max-width:760px){
  .practice-script-dropdown-menu{position:static; margin:.2rem .4rem .45rem; max-height:220px;}
}

/* PBv1.8.8.34beta: script row edit/delete smoothness, script dropdown layering, cleaner Full Team tags. */
.custom-entry-text-form{
  display:grid!important;
  gap:.18rem!important;
  margin:0!important;
}
.custom-entry-text-input{
  width:100%!important;
  min-height:38px!important;
  padding:.45rem .55rem!important;
  border-color:rgba(148,163,184,.28)!important;
  background:rgba(15,23,42,.35)!important;
  font-weight:900!important;
}
.custom-entry-text-form.is-saving{opacity:.78!important;}
.custom-entry-text-form.is-saved .custom-entry-text-input{box-shadow:0 0 0 2px rgba(34,197,94,.16)!important;}
form[data-script-entry-delete] .icon-button:disabled{opacity:.55!important;cursor:wait!important;}
.practice-period-name-cell.has-open-script-dropdown,
.practice-period-name-cell:has(.practice-script-dropdown[open]){
  z-index:5000!important;
  overflow:visible!important;
}
.practice-period-name-cell,
.practice-cell-wrap,
.practice-grid-column-head,
.practice-period-meta-cell{
  overflow:visible!important;
}
.practice-script-dropdown{z-index:20!important;}
.practice-script-dropdown[open]{z-index:6000!important;}
.practice-script-dropdown-menu{
  width:max(240px, min(520px, 230%))!important;
  min-width:100%!important;
  max-width:min(560px, calc(100vw - 32px))!important;
  left:0!important;
  right:auto!important;
  z-index:7000!important;
  max-height:300px!important;
}
.practice-script-checkbox-row span{white-space:normal!important;line-height:1.15!important;}
.practice-grid-column-head{z-index:210!important;}
.practice-grid-column-head:hover,
.practice-grid-column-head:focus-within{z-index:900!important;}
.practice-insert-column-form{
  right:-18px!important;
  transform:translate(50%,-50%)!important;
  z-index:2500!important;
}
.practice-grid-insert-column{
  box-shadow:0 8px 22px rgba(0,0,0,.34),0 0 0 3px rgba(15,23,42,.68)!important;
}
.practice-with-tag.is-full-team-tag{
  background:#111827!important;
  color:#f5c542!important;
  border:1px solid rgba(245,197,66,.8)!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.practice-with-tag.is-full-team-tag .practice-with-tag-remove{
  background:#f5c542!important;
  color:#111827!important;
}
@media(max-width:760px){
  .practice-script-dropdown-menu{width:100%!important;max-width:100%!important;position:static!important;}
}

/* PBv1.8.8.35beta: grouped-position picker, compact group labels, script-status guard. */
.practice-group-dropdown{
  position:relative;
  width:100%;
  border:1px solid rgba(148,163,184,.38);
  border-radius:14px;
  background:rgba(15,23,42,.88);
  color:#f8fafc;
  min-height:34px;
  z-index:30;
}
.practice-group-dropdown summary{
  list-style:none;
  cursor:pointer;
  padding:.43rem .58rem;
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  min-height:34px;
  line-height:1.1;
}
.practice-group-dropdown summary::-webkit-details-marker{display:none;}
.practice-group-dropdown summary::after{
  content:"▾";
  color:var(--gold);
  font-size:.72rem;
  transition:transform .16s ease;
}
.practice-group-dropdown[open] summary::after{transform:rotate(180deg);}
.practice-group-dropdown.is-linked{
  border-color:rgba(245,197,66,.8)!important;
  box-shadow:0 0 0 2px rgba(245,197,66,.16)!important;
}
.practice-group-dropdown.is-linked summary{
  background:rgba(245,197,66,.16)!important;
  color:#fff!important;
  border-radius:13px;
}
.practice-group-dropdown-menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  width:max(220px, min(420px, 190%));
  min-width:100%;
  max-width:min(440px, calc(100vw - 32px));
  z-index:7200;
  max-height:260px;
  overflow:auto;
  padding:.38rem;
  border:1px solid rgba(212,167,59,.42);
  border-radius:14px;
  background:#101827;
  box-shadow:0 18px 34px rgba(0,0,0,.34);
}
.practice-group-checkbox-row{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.44rem .46rem;
  border-radius:10px;
  color:#f8fafc;
  font-weight:850;
  cursor:pointer;
  line-height:1.15;
}
.practice-group-checkbox-row:hover{background:rgba(212,167,59,.16);}
.practice-group-checkbox-row input{accent-color:var(--gold);}
.practice-cell-wrap.has-open-group-dropdown,
.practice-mobile-cell.has-open-group-dropdown{
  z-index:6500!important;
  overflow:visible!important;
}
.practice-with-tag.is-cluster-tag{
  background:#111827!important;
  color:#f5c542!important;
  border:1px solid rgba(245,197,66,.75)!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
.practice-with-tag.is-cluster-tag .practice-with-tag-remove{
  background:#f5c542!important;
  color:#111827!important;
}
.practice-script-status-details{
  display:grid;
  gap:.8rem;
}
.practice-script-status-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  border:1px solid rgba(212,167,59,.3);
  border-radius:18px;
  padding:.8rem .95rem;
  background:rgba(255,255,255,.025);
}
.practice-script-status-summary::-webkit-details-marker{display:none;}
.practice-script-status-summary::after{
  content:"+";
  color:var(--gold);
  font-family:var(--font-cond);
  font-weight:950;
  letter-spacing:.08em;
  align-self:center;
}
.practice-script-status-details[open] .practice-script-status-summary::after{content:"−";}
.practice-script-status-badge{
  color:var(--gold);
  font-family:var(--font-cond);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
  white-space:nowrap;
  padding:.28rem .55rem;
  border:1px solid rgba(212,167,59,.32);
  border-radius:999px;
  background:rgba(212,167,59,.08);
}
.practice-unlinked-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(2,6,23,.68);
  backdrop-filter:blur(4px);
}
.practice-unlinked-modal{
  width:min(460px, 100%);
  border:1px solid rgba(212,167,59,.42);
  border-radius:24px;
  background:linear-gradient(145deg,#111827,#1f2937);
  box-shadow:0 28px 70px rgba(0,0,0,.48);
  padding:1.25rem;
  color:#f8fafc;
  display:grid;
  gap:.85rem;
}
.practice-unlinked-modal-title{
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--gold);
  font-size:1rem;
  font-weight:950;
}
.practice-unlinked-modal p{margin:0;color:#dbe4f0;line-height:1.35;font-weight:800;}
@media(max-width:760px){
  .practice-group-dropdown-menu{position:static;width:100%;max-width:100%;margin:.2rem .35rem .4rem;}
  .practice-script-status-summary{display:grid;}
  .practice-script-status-badge{width:max-content;}
}

/* PBv1.8.8.36beta: no-flash practice zoom, faster controls polish, weekly script condensation. */
html[data-practice-grid-zoom] .practice-plan-scroll-wrap{
  --practice-grid-zoom:var(--practice-grid-zoom-initial,1)!important;
}
html[data-practice-grid-zoom] .practice-plan-scroll-wrap .practice-plan-grid{
  zoom:var(--practice-grid-zoom-initial,1)!important;
}
.practice-insert-column-form{
  right:-14px!important;
  left:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:28px!important;
  height:28px!important;
  z-index:3200!important;
}
.practice-grid-insert-column{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
}
.practice-script-status-summary{
  align-items:center!important;
}
.practice-script-status-summary > div{
  min-width:0!important;
}
.practice-script-status-badge{
  margin-left:auto!important;
  align-self:center!important;
  font-size:1rem!important;
  padding:.42rem .78rem!important;
  border-width:2px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.practice-unlinked-modal,
.practice-unlinked-modal *{
  text-align:center!important;
}
.practice-unlinked-modal .button{
  justify-self:center!important;
}
.weekly-builder-day-scripts-compact{
  display:block!important;
}
.weekly-script-summary-details{
  border:1px solid rgba(212,167,59,.28);
  border-radius:16px;
  background:rgba(148,163,184,.08);
  overflow:hidden;
}
.weekly-script-summary-details summary{
  list-style:none;
  cursor:pointer;
  min-height:44px;
  padding:.65rem .85rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:var(--ink);
  font-weight:950;
  font-family:var(--font-cond);
  text-transform:uppercase;
  letter-spacing:.055em;
}
.weekly-script-summary-details summary::-webkit-details-marker{display:none;}
.weekly-script-summary-details summary b{
  color:var(--gold);
  font-size:1.2rem;
  line-height:1;
}
.weekly-script-summary-details[open] summary b{transform:rotate(45deg);}
.weekly-script-summary-list{
  display:grid;
  gap:.45rem;
  padding:0 .7rem .7rem;
}
.weekly-builder-day-scripts-compact .weekly-script-link-card{
  max-width:none!important;
  width:100%!important;
}


/* PBv1.8.8.37beta: dashboard intro skip button */
.dashboard-intro-skip{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:9;
  border:1px solid color-mix(in srgb,var(--team-primary, var(--gold)) 62%, rgba(255,255,255,.42));
  border-radius:999px;
  background:color-mix(in srgb,var(--team-primary, var(--gold)) 72%, transparent);
  color:var(--team-primary-text,#111827);
  box-shadow:0 12px 30px rgba(0,0,0,.32);
  padding:10px 16px;
  font-family:var(--font-cond);
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  opacity:.76;
  backdrop-filter:blur(10px);
  transition:opacity .16s ease, transform .16s ease, box-shadow .16s ease;
}
.dashboard-intro-skip:hover,.dashboard-intro-skip:focus-visible{opacity:1;transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,0,0,.38);outline:none;}
.pb-dashboard-intro-skipped .login-quote-intro,
.pb-dashboard-intro-skipped .dashboard-welcome-intro{display:none!important;animation:none!important;opacity:0!important;}
.pb-dashboard-intro-skipped .dashboard-hero-stage.has-login-quote,
.pb-dashboard-intro-skipped .dashboard-hero-stage-intro{min-height:0!important;overflow:visible!important;}
.pb-dashboard-intro-skipped .dashboard-hero-after-welcome,
.pb-dashboard-intro-skipped .dashboard-hero-stage.has-login-quote + .dashboard-content-shell.dashboard-login-enter{opacity:1!important;animation:none!important;transform:none!important;}
.pb-dashboard-intro-skipped .dashboard-intro-skip{display:none!important;}
@media(max-width:700px){.dashboard-intro-skip{right:12px;bottom:12px;padding:9px 14px;font-size:13px;}}

/* PBv1.8.8.38beta: super-admin team data reset tools */
.team-reset-zone{margin-top:22px;padding:22px;border-color:rgba(224,82,82,.35);background:linear-gradient(180deg,rgba(224,82,82,.08),rgba(255,255,255,.018));}
.team-reset-zone-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;}
.team-reset-zone h2{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;margin:0 0 6px;color:#f1ece1;font-size:28px;}
.danger-eyebrow{color:#ffaaaa;}
.team-reset-safe-pill{border:1px solid rgba(212,167,59,.35);background:rgba(212,167,59,.09);color:var(--gold);border-radius:999px;padding:8px 12px;font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.07em;font-size:12px;white-space:nowrap;}
.team-reset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;}
.team-reset-card{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(12,14,19,.55);padding:15px;display:grid;gap:10px;min-height:215px;}
.team-reset-card-danger{border-color:rgba(224,82,82,.32);background:linear-gradient(180deg,rgba(224,82,82,.08),rgba(12,14,19,.58));}
.team-reset-card-critical{border-color:rgba(224,82,82,.58);background:linear-gradient(180deg,rgba(224,82,82,.16),rgba(12,14,19,.62));box-shadow:0 14px 34px rgba(224,82,82,.08);}
.team-reset-card-warning{border-color:rgba(212,167,59,.24);}
.team-reset-card-title{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;color:#f1ece1;font-size:19px;line-height:1.05;}
.team-reset-card-count{font-family:var(--font-mono);font-size:12px;color:var(--gold);border:1px solid rgba(212,167,59,.22);border-radius:999px;padding:5px 8px;width:max-content;background:rgba(212,167,59,.06);}
.team-reset-card p{color:var(--mute);font-size:12px;line-height:1.38;margin:0;}
.team-reset-card .button{margin-top:auto;}
.team-reset-modal[hidden]{display:none!important;}
.team-reset-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;}
.team-reset-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px);}
.team-reset-modal-card{position:relative;width:min(100%,520px);border:1px solid rgba(224,82,82,.46);border-radius:24px;background:linear-gradient(180deg,rgba(25,27,34,.98),rgba(13,15,20,.99));box-shadow:0 28px 90px rgba(0,0,0,.62);padding:24px;display:grid;gap:13px;}
.team-reset-modal-kicker{font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.09em;color:#ffaaaa;font-size:13px;}
.team-reset-modal-card h2{font-family:var(--font-display);font-size:38px;line-height:.95;margin:0;color:#f1ece1;}
.team-reset-modal-card p{margin:0;color:var(--soft);font-size:14px;line-height:1.5;}
.team-reset-password-step label{display:grid;gap:7px;color:var(--soft);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.team-reset-final-warning{border:1px solid rgba(224,82,82,.36);background:rgba(224,82,82,.1);border-radius:16px;padding:13px;color:#ffe0e0;font-weight:800;line-height:1.4;}
.team-reset-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px;}
body.team-reset-modal-open{overflow:hidden;}
.coach-notes-delete-form{margin-top:10px;}
.coach-notes-permission-note{margin-top:8px;}
@media(max-width:700px){.team-reset-zone-head{display:grid}.team-reset-safe-pill{width:max-content}.team-reset-modal-card{padding:19px;border-radius:20px}.team-reset-modal-card h2{font-size:31px}.team-reset-modal-actions{display:grid;grid-template-columns:1fr}.team-reset-modal-actions .button{width:100%;}}
