/* CadAI styles — extracted verbatim from index.html (concatenated in original order). */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Canvas (true black) */
  --bg:#333333;
  --ink:#FAFAFA;            /* text on black */
  --ink-mut:#8A8A90;        /* muted text on black */
  --line:rgba(255,255,255,.10); /* hairline on black */
  /* Warm light cards floating on black */
  --s1:#F6F4F0;             /* card */
  --s2:#FFFEFB;             /* nested tile (brighter) */
  --b1:rgba(0,0,0,.07);     /* card hairline */
  --b2:rgba(0,0,0,.13);
  --t1:#17150F;--t2:#3c372d;--t3:#6F6A60;--t4:#8d877b; /* text on light cards */
  /* CadAI orange — two oranges, one identity */
  --accent:#FF7A2D;         /* bright, on black */
  --accent-hover:#F26A1C;
  --accent-soft:rgba(255,122,45,.12);
  --blue:#E2580F;           /* ink orange — accent on light cards (replaces old blue) */
  --bd:rgba(226,88,15,.10);
  /* Warm glow for cards on black */
  --glow:0 0 0 1px rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.35),0 14px 32px rgba(0,0,0,.45);
  --glow-sm:0 0 0 1px rgba(255,255,255,.05),0 2px 10px rgba(0,0,0,.38);
  /* Data-viz (semantic, kept separate from brand orange) */
  --green:#15803d;--gd:rgba(21,128,61,.1);
  --amber:#b45309;--ad:rgba(180,83,9,.1);
  --red:#b91c1c;--rd:rgba(185,28,28,.1);
  --purple:#6d28d9;--teal:#0f766e;
}
html{color-scheme:dark}
html,body{min-height:100%;background:var(--bg)!important;color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:14px}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}

/* Header */
#header{background:var(--bg);border-bottom:1px solid var(--line);padding:env(safe-area-inset-top,0px) 32px 0}
#header-top{display:flex;align-items:center;padding:24px 0 18px;gap:14px;flex-wrap:wrap}
.brand-lockup{display:flex;align-items:center;gap:15px}
.brand-logo{width:50px;height:50px;flex-shrink:0}
.logo{font-size:10px;color:var(--ink-mut);letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}
.title{font-family:'Sora',sans-serif;font-size:30px;font-weight:700;color:var(--ink);letter-spacing:-0.03em}
.title .ai{color:var(--accent)}
#badges{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.badge{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:10px;color:#ECECEC;display:flex;align-items:center;gap:7px}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}
#user-badge{padding-left:5px}
.user-mono{width:17px;height:17px;border-radius:50%;background:var(--accent);color:#1a1209;font-weight:700;font-size:9px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Sora',system-ui,sans-serif}
#tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}#tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:none;cursor:pointer;padding:10px 20px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#ECECEC;border-bottom:2px solid transparent;transition:color .15s;white-space:nowrap;font-family:inherit}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--accent);border-bottom-color:var(--accent)}

/* Content */
#content{padding:24px 32px 60px;max-width:1400px;color:var(--ink);background:var(--bg)}
.panel{display:none}.panel.active{display:block}
/* Cards carry dark text internally (warm light surfaces) */
.card,.kpi,.card-np,.insight-card,#chat-section,.insights-plan-card{color:var(--t1)}

/* Window row */
.win-row{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.win-label{font-size:10px;color:var(--ink-mut);letter-spacing:1px;text-transform:uppercase;margin-right:4px}
.wbtn{padding:4px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:var(--ink);font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s}
.wbtn:hover{color:var(--ink);border-color:rgba(255,255,255,.40);background:rgba(255,255,255,.18)}
.wbtn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}
.win-count{font-size:10px;color:var(--ink-mut);margin-left:4px}

/* KPI */
.kpi-grid{display:grid;gap:14px;margin-bottom:22px}
.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g6{grid-template-columns:repeat(6,1fr)}.g7{grid-template-columns:repeat(4,1fr)}.g8{grid-template-columns:repeat(4,1fr)}#club-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}#club-kpis .section-hdr{grid-column:1/-1;font-size:9px;color:var(--ink);letter-spacing:2px;text-transform:uppercase;padding:5px 8px 3px;border:1px solid var(--line);border-radius:6px;margin-bottom:0;transition:all .12s;user-select:none;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24)}#club-kpis .section-hdr:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}#club-kpis .section-hdr-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}
/* responsive overrides consolidated at bottom of style block */
.kpi{background:var(--s1);border:none;border-radius:12px;padding:16px 18px;position:relative;overflow:hidden;box-shadow:var(--glow-sm)}
.kpi-top{position:absolute;top:0;left:0;right:0;height:2px}
.kpi-label{font-size:9px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;margin-bottom:9px}
.kpi-value{font-family:'Sora',sans-serif;font-size:24px;font-weight:700;line-height:1;color:var(--t1)}
.kpi-sub{font-size:10px;color:var(--t3);margin-top:6px}
#ov-kpis .kpi{text-align:center}

/* Cards */
.card{background:var(--s1);border:none;border-radius:14px;padding:20px 24px;margin-bottom:0;box-shadow:var(--glow)}
.card-label{font-size:9px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.g21{display:grid;grid-template-columns:2fr 1fr;gap:16px}
/* All grid and responsive overrides are at the bottom of this style block */
.mb16{margin-bottom:16px}.mb20{margin-bottom:20px}.mb22{margin-bottom:22px}

/* SVG charts */
.chart-wrap{width:100%;overflow:hidden;min-width:0}
.card{min-width:0}.g2>*,.g3>*,.g21>*{min-width:0}
svg{display:block;width:100%;max-width:100%}
.axis-label{font-size:9px;fill:#6F6A60;font-family:'Inter',system-ui,sans-serif}
.grid-line{stroke:rgba(0,0,0,.07);stroke-width:1}
.chart-bar{opacity:1}
.chart-line{fill:none;stroke-width:2}
.chart-dot{r:3}

/* Tables */
.tbl-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:11px}
thead tr{background:var(--s2)}
th{padding:10px 8px;text-align:center;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--t3);border-bottom:1px solid var(--b1);white-space:nowrap}
td{padding:8px 8px;text-align:center;border-bottom:1px solid rgba(0,0,0,.05)}
tr:hover td{background:var(--s2)}
.card-np{background:var(--s1);border:none;border-radius:14px;overflow:hidden;box-shadow:var(--glow)}
.card-th{padding:12px 16px;border-bottom:1px solid var(--b1);font-size:9px;color:var(--t3);letter-spacing:2px;text-transform:uppercase}
.card-scroll{max-height:200px;overflow-y:auto}

/* Pill */
.pill{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600}

/* Subtabs */
.subtabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px}
.stab{background:none;border:none;cursor:pointer;padding:9px 18px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-mut);border-bottom:2px solid transparent;font-family:inherit;transition:color .15s}
.stab:hover{color:var(--ink)}
.stab.active{color:var(--accent);border-bottom-color:var(--accent)}

/* Hole picker */
#hole-picker{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.hbtn{width:40px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);font-size:12px;font-weight:600;cursor:pointer;color:var(--ink);transition:all .12s;font-family:inherit}
.hbtn:hover{color:var(--ink);border-color:rgba(255,255,255,.40);background:rgba(255,255,255,.18)}
.hbtn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);border-width:2px}

/* Club pills */
#club-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.cbtn{padding:7px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s;color:var(--ink)}
.cbtn:hover{color:var(--ink);border-color:rgba(255,255,255,.40);background:rgba(255,255,255,.18)}
.cbtn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);border-width:2px}

/* Filter */
.frow{display:flex;gap:8px;margin-bottom:18px}
.fbtn{padding:5px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:var(--ink);font-size:10px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:all .12s}
.fbtn:hover{color:var(--ink);border-color:rgba(255,255,255,.40);background:rgba(255,255,255,.18)}
.fbtn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}

/* Hit/miss bars */
.hm-lbl{font-size:9px;color:var(--t2);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.hm-row{margin-bottom:8px}
.hm-hdr{display:flex;justify-content:space-between;font-size:10px;margin-bottom:3px}
.hm-track{height:5px;background:var(--b2);border-radius:3px}
.hm-fill{height:5px;border-radius:3px}

/* No data */
.nodata{text-align:center;padding:40px;font-size:12px;color:var(--ink-mut)}

/* Footer */
#footer{padding:14px 32px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--ink-mut);margin-top:8px;background:var(--bg)}

/* Brand tagline */
.tagline{font-size:11px;color:#ECECEC;margin-top:7px;font-style:italic;max-width:520px}

/* Legal / boilerplate */
#legal{padding:0 32px 44px;max-width:1100px;background:var(--bg)}
#legal .legal-inner{border-top:1px solid var(--line);padding-top:18px}
.legal-block{font-size:10px;line-height:1.65;color:var(--ink-mut);margin-bottom:11px;max-width:880px}
.legal-block strong{color:var(--ink);font-weight:700;letter-spacing:.3px}
.legal-copyright{font-size:10px;color:var(--ink-mut);margin-top:4px}
.build-tag{font-family:'JetBrains Mono',monospace;font-size:9px;opacity:.55;margin-top:2px}

/* Insights */
.insight-card{background:var(--s1);border:none;border-radius:12px;padding:14px 16px;position:relative;overflow:hidden;box-shadow:var(--glow-sm)}
.insight-card-top{position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0}
.insight-tag{display:inline-flex;align-items:center;gap:5px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:8px;padding:2px 8px;border-radius:20px}
.insight-title{font-size:12px;font-weight:600;color:var(--t1);margin-bottom:6px;line-height:1.3}
.insight-bullets{list-style:none;padding:0;margin:0}
.insight-bullets li{font-size:11px;color:var(--t2);padding:2px 0 2px 14px;position:relative;line-height:1.4}
.insight-bullets li::before{content:'·';position:absolute;left:4px;color:var(--t3)}
.chat-msg{display:flex;gap:10px;align-items:flex-start;animation:fadeUp .2s ease}
.chat-msg.user{flex-direction:row-reverse}
.chat-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;margin-top:2px}
.chat-bubble{max-width:80%;padding:10px 14px;border-radius:12px;font-size:12px;line-height:1.5;color:var(--t1)}
.chat-bubble.coach{background:var(--s1);box-shadow:var(--glow-sm)}
.chat-bubble.user{background:linear-gradient(135deg,#FF7A2D,#E2580F);color:#1A1209;font-weight:500}
.chat-bubble ul{padding-left:16px;margin:6px 0}
.chat-bubble ul li{margin-bottom:3px}
.chat-bubble strong{font-weight:700}
.typing-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:typingBounce .9s infinite}
.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}
.suggestion-chip{padding:5px 12px;border-radius:20px;border:1px solid var(--b2);background:var(--s1);color:var(--t2);font-size:10px;cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap}
.suggestion-chip:hover{border-color:var(--blue);color:var(--blue);background:var(--accent-soft)}
/* Insights layout */
.insights-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.insights-stack{display:flex;flex-direction:column;gap:12px}
.insights-plan-card{background:var(--s1)!important;height:100%;box-shadow:0 0 0 1px var(--accent),var(--glow)!important}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
@keyframes pulse{0%,100%{opacity:0.5}50%{opacity:0.8}}

/* ── WHAT IF SIMULATOR (scoped to #panel-whatif) ── */
#panel-whatif{max-width:860px;margin:0 auto}
#panel-whatif .wif-intro{font-size:13.5px;color:var(--ink-mut);line-height:1.65;margin-bottom:28px;max-width:640px}
#panel-whatif .wif-intro strong{color:var(--ink)}
#panel-whatif .wif-score-hero{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;margin-bottom:28px;align-items:stretch}
#panel-whatif .wif-score-card{background:var(--s1);border-radius:16px;padding:22px 24px 20px;box-shadow:var(--glow);text-align:center;color:var(--t1)}
#panel-whatif .wif-sc-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--t3);margin-bottom:10px}
#panel-whatif .wif-sc-number{font-family:'Sora',sans-serif;font-weight:700;font-size:52px;letter-spacing:-.03em;line-height:1;color:var(--t1)}
#panel-whatif .wif-sc-number.orange{color:var(--blue)}
#panel-whatif .wif-sc-sub{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--t3);margin-top:8px}
#panel-whatif .wif-sc-range{display:flex;justify-content:center;gap:6px;margin-top:10px}
#panel-whatif .wif-range-pill{font-family:'JetBrains Mono',monospace;font-size:11px;padding:3px 9px;border-radius:999px;background:var(--s2);color:var(--t3);border:1px solid var(--b1)}
#panel-whatif .wif-range-pill.lo{color:#1e6e38;background:#e8f5ee;border-color:rgba(30,110,56,.15)}
#panel-whatif .wif-range-pill.hi{color:#a83224;background:#fde8e8;border-color:rgba(168,50,36,.15)}
#panel-whatif .wif-delta-card{background:var(--s1);border-radius:16px;padding:22px 20px;box-shadow:var(--glow);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:130px;text-align:center;color:var(--t1)}
#panel-whatif .wif-dc-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--t3);margin-bottom:8px}
#panel-whatif .wif-dc-number{font-family:'Sora',sans-serif;font-weight:700;font-size:44px;letter-spacing:-.03em;line-height:1;color:var(--blue)}
#panel-whatif .wif-dc-number.worse{color:#a83224}
#panel-whatif .wif-dc-number.neutral{color:var(--t3);font-size:32px}
#panel-whatif .wif-dc-caption{font-size:11px;color:var(--t3);margin-top:6px}
#panel-whatif .wif-constraint-warn{background:#1a1000;border:1px solid rgba(255,122,45,.3);border-radius:10px;padding:10px 16px;font-size:12.5px;color:var(--accent);margin-bottom:20px;display:none;line-height:1.5}
#panel-whatif .wif-constraint-warn.visible{display:block}
#panel-whatif .wif-controls{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
#panel-whatif .wif-btn{font-family:'Inter',sans-serif;font-weight:600;font-size:13px;padding:10px 18px;border:none;border-radius:10px;cursor:pointer;transition:all .15s}
#panel-whatif .wif-btn-primary{background:var(--accent);color:#1a1209}
#panel-whatif .wif-btn-primary:hover{background:var(--accent-hover)}
#panel-whatif .wif-btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
#panel-whatif .wif-btn-ghost:hover{background:var(--accent-soft)}
#panel-whatif .wif-btn-dim{background:#111;color:var(--ink-mut);border:1px solid var(--line)}
#panel-whatif .wif-btn-dim:hover{background:#1a1a1a;color:var(--ink)}
#panel-whatif .wif-section-title{font-family:'Sora',sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}
#panel-whatif .wif-section-sub{font-size:12px;color:var(--ink-mut);margin-bottom:18px;letter-spacing:.02em}
#panel-whatif .wif-sliders-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:32px}
#panel-whatif .wif-slider-card{background:var(--s1);border-radius:14px;padding:16px 18px 14px;box-shadow:var(--glow);color:var(--t1)}
#panel-whatif .wif-slider-card.wif-constrained{box-shadow:0 0 0 1px rgba(255,122,45,.4),0 8px 24px rgba(0,0,0,.4)}
#panel-whatif .wif-slider-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px}
#panel-whatif .wif-slider-meta{flex:1;min-width:0}
#panel-whatif .wif-slider-name{font-family:'Sora',sans-serif;font-weight:600;font-size:13px;color:var(--t1);line-height:1.2}
#panel-whatif .wif-slider-desc{font-size:10.5px;color:var(--t3);margin-top:2px}
#panel-whatif .wif-slider-vals{display:flex;align-items:center;gap:5px;flex-shrink:0}
#panel-whatif .wif-val-base{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--t3);background:var(--s2);padding:2px 6px;border-radius:4px;border:1px solid var(--b1)}
#panel-whatif .wif-val-arrow{font-size:9px;color:var(--t3)}
#panel-whatif .wif-val-now{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;color:var(--blue);background:rgba(226,88,15,.08);padding:2px 7px;border-radius:4px;border:1px solid rgba(226,88,15,.18)}
#panel-whatif .wif-val-now.wif-capped{color:#a07000;background:#fff8e1;border-color:#ffe082}
#panel-whatif .wif-change-badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;padding:1px 7px;border-radius:999px;margin-top:5px}
#panel-whatif .wif-badge-better{background:#e8f5ee;color:#1e6e38}
#panel-whatif .wif-badge-worse{background:#fde8e8;color:#a83224}
#panel-whatif .wif-badge-same{background:#f0f0f0;color:#888}
#panel-whatif .wif-badge-capped{background:#fff8e1;color:#a07000}
#panel-whatif input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;background:linear-gradient(to right,var(--blue) 0%,var(--blue) var(--pct,50%),rgba(0,0,0,.10) var(--pct,50%),rgba(0,0,0,.10) 100%);outline:none;cursor:pointer;margin:10px 0 4px;display:block}
#panel-whatif input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .1s}
#panel-whatif input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}
#panel-whatif input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:pointer}
#panel-whatif input[type=range]:disabled{opacity:.4;cursor:not-allowed}
#panel-whatif .wif-slider-scale{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--t3);margin-top:2px}
#panel-whatif .wif-insights-box{background:var(--s1);border-radius:16px;padding:20px 22px;box-shadow:var(--glow);margin-bottom:28px;color:var(--t1)}
#panel-whatif .wif-insight-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--b1)}
#panel-whatif .wif-insight-row:last-child{border-bottom:none}
#panel-whatif .wif-insight-icon{font-size:17px;flex-shrink:0;margin-top:1px}
#panel-whatif .wif-insight-text{font-size:13px;line-height:1.6;color:var(--t1)}
#panel-whatif .wif-insight-text strong{color:var(--blue)}
#panel-whatif .wif-model-note{font-size:11px;color:var(--ink-mut);text-align:center;line-height:1.6;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:580px){#panel-whatif .wif-score-hero{grid-template-columns:1fr}}
@media(max-width:560px){#panel-whatif .wif-sliders-grid{grid-template-columns:1fr}}

/* ── RESPONSIVE LAYOUT — all breakpoints in one place so nothing gets overridden ── */
@media(max-width:760px){
  /* Chart card grids: single column on mobile */
  .g2,.g3,.g21{grid-template-columns:1fr!important}
  /* KPI tile grids: two columns on mobile */
  .g4,.g5,.g6,.g7,.g8{grid-template-columns:repeat(2,1fr)!important}
  #club-kpis{grid-template-columns:repeat(2,1fr)!important}
  /* Insights */
  .insights-two-col{grid-template-columns:1fr!important}
  .insights-plan-card{height:auto!important}
  #insight-cards{grid-template-columns:1fr!important}
  /* Spacing */
  #content{padding:12px 12px 60px!important}
  #header{padding:env(safe-area-inset-top,0px) 12px 0!important}
  #legal{padding:0 12px 44px!important}
}
@media(max-width:420px){
  /* KPI tiles: single column on small phones */
  .g4,.g5,.g6,.g7,.g8{grid-template-columns:1fr!important}
  #club-kpis{grid-template-columns:1fr!important}
}

/* ── LOG ROUND (manual entry) ─────────────────────────────────────────────── */
#panel-log{max-width:680px;margin:0 auto}
#panel-log .lr-intro{font-size:13px;color:var(--ink-mut);line-height:1.6;margin-bottom:22px;max-width:580px}
#panel-log .lr-card{background:var(--s1);border-radius:14px;padding:20px 22px;box-shadow:var(--glow);color:var(--t1);margin-bottom:16px}
#panel-log .lr-sec{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:16px}
#panel-log .lr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
#panel-log .lr-field{display:flex;flex-direction:column;gap:6px;min-width:0}
#panel-log .lr-field.full{grid-column:1/-1}
#panel-log label{font-size:11px;font-weight:600;color:var(--t2)}
#panel-log label .hint{font-weight:400;color:var(--t4);font-size:10px}
#panel-log input,#panel-log select,#panel-log textarea{font-family:inherit;font-size:16px;color:var(--t1);background:var(--s2);border:1px solid var(--b2);border-radius:9px;padding:11px 12px;width:100%;outline:none;transition:border-color .12s;-webkit-appearance:none;appearance:none}
#panel-log textarea{font-size:14px;line-height:1.5;resize:vertical}
#panel-log input:focus,#panel-log select:focus,#panel-log textarea:focus{border-color:var(--accent)}
#panel-log input.auto{background:#efece6;color:var(--t2)}
#panel-log .lr-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#panel-log .lr-chip{flex:0 0 auto;padding:11px 18px;border-radius:9px;border:1px solid var(--b2);background:var(--s2);color:var(--t2);font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-log .lr-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--blue)}
#panel-log .lr-chips input{width:78px}
#panel-log .lr-calc{font-size:12px;color:var(--t3)}
#panel-log .lr-calc b{color:var(--blue);font-weight:700}
#panel-log .lr-pair{display:flex;gap:8px;align-items:center}
#panel-log .lr-pair input{width:90px}
#panel-log .lr-pair span{color:var(--t3);font-size:13px}
#panel-log .lr-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
#panel-log .lr-save{background:var(--accent);color:#1a1209;border:none;border-radius:10px;padding:13px 28px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}
#panel-log .lr-save:hover{background:var(--accent-hover)}
#panel-log .lr-save:disabled{opacity:.5;cursor:default}
#panel-log .lr-msg{font-size:13px;font-weight:600}
#panel-log .lr-msg.ok{color:var(--green)}
#panel-log .lr-msg.err{color:var(--red)}
@media(max-width:560px){#panel-log .lr-grid{grid-template-columns:1fr}}

/* ── HOLE-BY-HOLE ─────────────────────────────────────────────────────────── */
#panel-log .lr-modes{display:flex;gap:8px;margin-bottom:18px}
#panel-log .lr-mode{padding:9px 16px;border-radius:9px;border:1px solid var(--b2);background:var(--s2);color:var(--t2);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-log .lr-mode.active{background:var(--accent-soft);border-color:var(--accent);color:var(--blue)}
#panel-log .hbh-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
#panel-log .hbh-head,#panel-log .hbh-row{display:grid;grid-template-columns:34px 42px 50px 66px 46px 52px 50px 44px 38px;gap:6px;align-items:center;min-width:508px}
#panel-log .hbh-head{font-size:8.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--t3);font-weight:700;padding:0 0 8px;text-align:center}
#panel-log .hbh-del-h{display:none}
#panel-log .hbh-scroll.hbh-custom .hbh-head,#panel-log .hbh-scroll.hbh-custom .hbh-row{grid-template-columns:40px 42px 50px 66px 46px 52px 50px 44px 38px 30px;min-width:548px}
#panel-log .hbh-scroll.hbh-custom .hbh-del-h{display:block}
#panel-log .hbh-row .hbh-hno{padding:9px 2px;font-weight:700;font-size:14px}
#panel-log .hbh-del{padding:0;height:30px;border-radius:8px;border:1px solid var(--b2);background:var(--s2);color:#a83224;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
#panel-log .hbh-add{width:100%;margin-top:10px;padding:11px;border-radius:9px;border:1px dashed var(--b2);background:var(--s2);color:var(--blue);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-log .hbh-row{padding:5px 0;border-top:1px solid var(--b1)}
#panel-log .hbh-row .hbh-h{font-weight:700;font-size:13px;color:var(--t1);text-align:center}
#panel-log .hbh-row input{padding:9px 4px;font-size:15px;text-align:center;background:var(--s2);border:1px solid var(--b2);border-radius:8px;color:var(--t1);width:100%;-webkit-appearance:none;appearance:none}
#panel-log .hbh-row .hbh-par{background:#efece6;color:var(--t2);font-size:13px}
#panel-log .hbh-fw,#panel-log .hbh-gir,#panel-log .hbh-ud{padding:9px 2px;border-radius:8px;border:1px solid var(--b2);background:var(--s2);color:var(--t3);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
#panel-log .hbh-fw.hit{background:var(--accent-soft);border-color:var(--accent);color:var(--blue)}
#panel-log .hbh-fw.miss{background:#fbe9e6;border-color:rgba(168,50,36,.45);color:#a83224}
#panel-log .hbh-gir.on{background:var(--accent-soft);border-color:var(--accent);color:var(--blue)}
#panel-log .hbh-ud.made{background:#e8f5ee;border-color:rgba(30,110,56,.5);color:#1e6e38}
#panel-log .hbh-ud.miss{background:#fbe9e6;border-color:rgba(168,50,36,.45);color:#a83224}
#panel-log button:disabled{opacity:.45;cursor:default}
#panel-log .hbh-totals{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:14px;border-top:2px solid var(--b2)}
#panel-log .hbh-chip{font-size:12px;color:var(--t2);background:var(--s2);border:1px solid var(--b1);border-radius:999px;padding:5px 12px}
#panel-log .hbh-chip b{color:var(--blue);font-weight:700}

#panel-log .hbh-prompt{padding:18px 4px;color:var(--t3);font-size:13px;text-align:center}

#panel-log .hbh-note-btn{padding:9px 2px;border-radius:8px;border:1px solid var(--b2);background:var(--s2);color:var(--t3);font-size:13px;cursor:pointer;font-family:inherit}
#panel-log .hbh-note-btn.has{background:var(--accent-soft);border-color:var(--accent);color:var(--blue)}
#panel-log .hbh-notes-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}
#panel-log .hbh-note-row{display:flex;align-items:center;gap:10px}
#panel-log .hbh-note-row label{font-size:11px;font-weight:700;color:var(--t2);min-width:54px}
#panel-log .hbh-note-row input{flex:1;padding:9px 11px;font-size:14px;background:var(--s2);border:1px solid var(--b2);border-radius:8px;color:var(--t1);-webkit-appearance:none;appearance:none}

#panel-log .hbh-note-line{display:flex;align-items:center;gap:9px;padding:3px 2px 10px;position:sticky;left:0;width:88vw;max-width:500px;box-sizing:border-box}
#panel-log .hbh-note-lbl{font-size:10px;font-weight:800;color:var(--blue);min-width:22px}
#panel-log .hbh-note-line input{flex:1;min-width:120px;padding:9px 11px;font-size:14px;background:var(--s2);border:1px solid var(--b2);border-radius:8px;color:var(--t1);-webkit-appearance:none;appearance:none}

#panel-log .lr-editrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
#panel-log .lr-ghost{background:transparent;border:1px solid var(--b2);color:var(--t2);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-log .lr-danger{background:#fbe9e6;border:1px solid rgba(168,50,36,.5);color:#a83224;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
#panel-log .lr-danger:disabled{opacity:.5;cursor:default}
#panel-log .lr-editstat{font-size:12px;color:var(--t3)}

#panel-journal{max-width:680px;margin:0 auto}
#panel-journal .jr-intro{font-size:13px;color:var(--ink-mut);line-height:1.6;margin-bottom:22px;max-width:580px}
#panel-journal .jr-card{background:var(--s1);border-radius:14px;padding:20px 22px;box-shadow:var(--glow);color:var(--t1);margin-bottom:24px}
#panel-journal .jr-sec{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:16px}
#panel-journal .jr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
#panel-journal .jr-field{display:flex;flex-direction:column;gap:6px;min-width:0}
#panel-journal .jr-field.full{grid-column:1/-1}
#panel-journal label{font-size:11px;font-weight:600;color:var(--t2)}
#panel-journal input,#panel-journal select,#panel-journal textarea{font-family:inherit;font-size:16px;color:var(--t1);background:var(--s2);border:1px solid var(--b2);border-radius:9px;padding:11px 12px;width:100%;outline:none;-webkit-appearance:none;appearance:none}
#panel-journal textarea{font-size:14px;line-height:1.5;resize:vertical}
#panel-journal input:focus,#panel-journal select:focus,#panel-journal textarea:focus{border-color:var(--accent)}
#panel-journal .jr-actions{display:flex;gap:14px;align-items:center;margin-top:16px;flex-wrap:wrap}
#panel-journal .jr-save{background:var(--accent);color:#1a1209;border:none;border-radius:10px;padding:13px 28px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-journal .jr-save:hover{background:var(--accent-hover)}
#panel-journal .jr-save:disabled{opacity:.5;cursor:default}
#panel-journal .jr-msg{font-size:13px;font-weight:600}
#panel-journal .jr-msg.ok{color:var(--green)}
#panel-journal .jr-msg.err{color:var(--red)}
#panel-journal .jr-feed-hd{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-mut);font-weight:700;margin-bottom:14px}
#panel-journal .jr-entry-card{background:var(--s1);border-radius:12px;padding:14px 16px;box-shadow:var(--glow-sm);color:var(--t1);margin-bottom:10px}
#panel-journal .jr-entry-top{display:flex;align-items:center;gap:10px;margin-bottom:7px}
#panel-journal .jr-pill{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--blue);background:var(--accent-soft);padding:3px 10px;border-radius:999px}
#panel-journal .jr-edate{font-size:11px;color:var(--t3)}
#panel-journal .jr-etext{font-size:13px;color:var(--t2);line-height:1.55;white-space:pre-wrap}
#panel-journal .jr-empty{font-size:12px;color:var(--ink-mut);text-align:center;padding:30px}
#panel-journal .jr-acts{display:flex;gap:8px;margin-top:11px}
#panel-journal .jr-actbtn{font-family:inherit;font-size:11px;font-weight:600;border-radius:7px;padding:5px 13px;cursor:pointer;border:1px solid var(--b2);background:var(--s2);color:var(--t3);transition:all .12s}
#panel-journal .jr-actbtn:hover{border-color:var(--accent);color:var(--accent)}
#panel-journal .jr-actbtn.del{color:var(--red)}
#panel-journal .jr-actbtn.del:hover{border-color:var(--red);color:var(--red)}
#panel-journal .jr-actbtn.del.armed{background:var(--red);color:#fff;border-color:var(--red)}
#panel-journal .jr-actbtn:disabled{opacity:.55;cursor:default}
#panel-journal .jr-cancel{font-family:inherit;font-size:13px;color:var(--t3);background:none;border:none;cursor:pointer;text-decoration:underline;padding:6px 4px}
#panel-journal .jr-cancel:hover{color:var(--accent)}
@media(max-width:560px){#panel-journal .jr-grid{grid-template-columns:1fr}}

#panel-log .scan-help{font-size:12px;color:var(--t3);line-height:1.55;margin-bottom:14px;max-width:560px}
#panel-log .scan-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#panel-log .scan-btn{background:var(--accent);color:#1a1209;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-log .scan-btn:hover{background:var(--accent-hover)}
#panel-log .scan-btn:disabled{opacity:.6;cursor:default}

/* ── Header: Add round shortcut ── */
#hdr-addround,#hdr-addpractice{margin-left:8px;background:var(--accent);color:#1a1209;border:none;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s;display:inline-flex;align-items:center;gap:6px}
#hdr-addround:hover,#hdr-addpractice:hover{background:var(--accent-hover)}
#hdr-addround .plus,#hdr-addpractice .plus{font-size:15px;line-height:1}
@media(max-width:560px){#hdr-addround,#hdr-addpractice{padding:8px 13px;font-size:11px}}
/* Coach account's mode switch — secondary/outline so it doesn't compete with
   the primary Add round / Add practice buttons. Revealed by boot.js. */
#mode-switch-btn{margin-left:8px;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:8px 15px;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s,color .12s}
#mode-switch-btn:hover{background:var(--accent);color:#1a1209}
@media(max-width:560px){#mode-switch-btn{padding:7px 12px;font-size:11px}}
.lr-open{display:inline-flex;align-items:center;gap:7px;margin-bottom:20px;background:var(--accent);color:#1a1209;border:none;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .12s}
.lr-open:hover{background:var(--accent-hover)}
.lr-open .plus{font-size:17px;line-height:1}
.lr-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;background:none;border:none;color:var(--ink-mut);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;padding:4px 0}
.lr-back:hover{color:var(--blue)}
/* ── Rounds tab: recent strip + view-all ── */
#panel-log .lr-recent{background:var(--s1);border-radius:14px;padding:18px 20px;box-shadow:var(--glow);color:var(--t1);margin-top:6px}
#panel-log .lr-recent-head{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:14px}
#panel-log .rr-list{display:flex;flex-direction:column;gap:2px}
#panel-log .rr-row{padding:9px 2px;border-top:1px solid var(--b1)}
#panel-log .rr-main{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;align-items:center}
#panel-log .rr-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#panel-log .rr-stat{font-size:10px;color:var(--t3);background:var(--s2);border-radius:6px;padding:2px 7px;white-space:nowrap}
#panel-log .rr-stat b{font-weight:700;color:var(--t2)}
#panel-log .rr-stat.empty b{color:var(--t4);font-weight:600}
#panel-log .rr-row:first-child{border-top:none}
#panel-log .rr-date{font-size:11px;color:var(--t3);white-space:nowrap}
#panel-log .rr-course{font-size:12px;color:var(--t2);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel-log .rr-h{font-size:10px;color:var(--t4)}
#panel-log .rr-score{font-size:14px;font-weight:700;color:var(--t1)}
#panel-log .rr-empty{font-size:12px;color:var(--t3);padding:6px 2px}
#panel-log .rr-acts{display:flex;gap:6px;margin-top:8px}
#panel-log .rr-btn,#tbl-rounds .rt-btn{font-family:inherit;font-weight:700;letter-spacing:.02em;border-radius:7px;cursor:pointer;border:1px solid var(--b2);background:var(--s2);color:var(--t2)}
#panel-log .rr-btn{font-size:10px;padding:4px 11px}
#tbl-rounds .rt-btn{font-size:10px;padding:3px 8px;margin-right:4px}
#panel-log .rr-btn:hover,#tbl-rounds .rt-btn:hover{border-color:var(--accent);color:var(--blue);background:var(--accent-soft)}
#panel-log .rr-btn.del,#tbl-rounds .rt-btn.del{border-color:rgba(168,50,36,.4);color:#a83224;background:#fbe9e6}
#panel-log .rr-btn.del.armed,#tbl-rounds .rt-btn.del.armed{background:#a83224;color:#fff;border-color:#a83224}
#panel-log .rr-all{margin-top:14px;border-top:1px solid var(--b1);padding-top:12px}
#panel-log .rr-all summary{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);font-weight:700;cursor:pointer;list-style:none;outline:none}
#panel-log .rr-all summary::-webkit-details-marker{display:none}
#panel-log .rr-all summary::before{content:"▸ ";color:var(--accent)}
#panel-log .rr-all[open] summary::before{content:"▾ "}
#panel-log .rr-all .frow{margin-top:14px}

/* ── Profile: editable form ── */
#panel-profile{max-width:680px;margin:0 auto}
#panel-profile .pf-intro{font-size:13px;color:var(--ink-mut);line-height:1.55;margin-bottom:20px;max-width:580px}
#panel-profile .pf-card{background:var(--s1);border-radius:14px;padding:18px 20px;box-shadow:var(--glow);color:var(--t1);margin-bottom:16px}
#panel-profile .pf-cat{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-weight:700;margin-bottom:14px}
#panel-profile .pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
#panel-profile .pf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
#panel-profile .pf-field.full{grid-column:1/-1}
#panel-profile .pf-field label{font-size:11px;font-weight:600;color:var(--t2)}
#panel-profile .pf-field .pf-hint{font-weight:400;color:var(--t4);font-size:10px}
#panel-profile .pf-field input,#panel-profile .pf-field textarea{font-family:inherit;font-size:16px;color:var(--t1);background:var(--s2);border:1px solid var(--b2);border-radius:9px;padding:11px 12px;width:100%;outline:none;transition:border-color .12s;-webkit-appearance:none;appearance:none}
#panel-profile .pf-field textarea{font-size:14px;line-height:1.5;resize:vertical}
#panel-profile .pf-field input:focus,#panel-profile .pf-field textarea:focus{border-color:var(--accent)}
#panel-profile .pf-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
#panel-profile .pf-save{background:var(--accent);color:#1a1209;border:none;border-radius:10px;padding:13px 28px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}
#panel-profile .pf-save:hover{background:var(--accent-hover)}
#panel-profile .pf-save:disabled{opacity:.5;cursor:default}
#panel-profile .pf-cancel{background:transparent;color:var(--t2);border:1px solid var(--b2);border-radius:10px;padding:13px 22px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}
#panel-profile .pf-cancel:hover{background:var(--s2)}
#panel-profile .pf-msg{font-size:13px;font-weight:600;color:var(--t3)}
#panel-profile .pf-msg.ok{color:var(--green)}
#panel-profile .pf-msg.err{color:var(--red)}
#panel-profile .pf-state{background:var(--s1);border-radius:14px;padding:22px 20px;box-shadow:var(--glow);color:var(--t2);font-size:13px;line-height:1.5}
@media(max-width:560px){#panel-profile .pf-grid{grid-template-columns:1fr}}

#cadai-gate{position:fixed;inset:0;z-index:99999;background:#000;display:flex;align-items:center;justify-content:center;padding:24px;font-family:'Inter',system-ui,sans-serif}
#cadai-gate .gate-card{background:#F6F4F0;border-radius:18px;padding:34px 30px 30px;width:100%;max-width:340px;box-shadow:0 0 0 1px rgba(255,255,255,.10),0 8px 24px rgba(255,236,214,.18),0 22px 50px rgba(255,236,214,.22),0 40px 90px rgba(255,236,214,.10);text-align:center}
#cadai-gate .gate-logo{width:54px;height:54px;margin:0 auto 14px;display:block}
#cadai-gate .gate-word{font-family:'Sora','Inter',sans-serif;font-weight:700;letter-spacing:-.03em;font-size:30px;color:#17150F;line-height:1}
#cadai-gate .gate-word .ai{color:#FF7A2D}
#cadai-gate .gate-tag{color:#6F6A60;font-size:12.5px;margin:8px 0 22px}
#cadai-gate label{display:block;text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#6F6A60;margin:0 0 5px 2px}
#cadai-gate input{width:100%;box-sizing:border-box;background:#FFFEFB;border:1px solid rgba(0,0,0,.13);border-radius:10px;padding:12px 13px;font-size:15px;color:#17150F;font-family:inherit;margin-bottom:16px}
#cadai-gate input:focus{outline:none;border-color:#FF7A2D;box-shadow:0 0 0 3px rgba(255,122,45,.16)}
#cadai-gate .gate-btn{width:100%;background:#FF7A2D;color:#1A1209;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;font-family:'Sora','Inter',sans-serif;cursor:pointer;transition:background .12s}
#cadai-gate .gate-btn:hover{background:#F26A1C}
#cadai-gate .gate-btn:disabled{opacity:.6;cursor:default}
#cadai-gate .gate-err{color:#b91c1c;font-size:12.5px;min-height:16px;margin:12px 2px 0;text-align:left}
#cadai-gate .gate-pinwrap{position:relative;margin-bottom:16px}
#cadai-gate .gate-pinwrap input{margin-bottom:0;padding-right:56px}
#cadai-gate .gate-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:transparent;border:none;color:#6F6A60;font-size:12px;font-weight:600;cursor:pointer;padding:4px 6px;font-family:'Inter',system-ui,sans-serif}
#cadai-gate .gate-eye:hover{color:#E2580F}
#cadai-logout{position:fixed;bottom:14px;right:14px;z-index:9000;background:rgba(246,244,240,.92);color:#17150F;border:1px solid rgba(0,0,0,.13);border-radius:999px;padding:7px 13px;font-size:12px;font-family:'Inter',system-ui,sans-serif;cursor:pointer;display:none}
#cadai-logout:hover{background:#fff}
/* -- Consent screen -- */
#cadai-consent{position:fixed;inset:0;z-index:100000;background:#000;display:none;align-items:center;justify-content:center;padding:24px;font-family:'Inter',system-ui,sans-serif;overflow-y:auto}
#cadai-consent .consent-card{background:#F6F4F0;border-radius:18px;padding:30px 28px 26px;width:100%;max-width:420px;margin:auto;box-shadow:0 0 0 1px rgba(255,255,255,.10),0 8px 24px rgba(255,236,214,.18),0 22px 50px rgba(255,236,214,.22),0 40px 90px rgba(255,236,214,.10);color:#17150F}
#cadai-consent .consent-logo{width:46px;height:46px;display:block;margin:0 auto 10px}
#cadai-consent .consent-word{font-family:'Sora','Inter',sans-serif;font-weight:700;letter-spacing:-.03em;font-size:26px;color:#17150F;line-height:1;text-align:center}
#cadai-consent .consent-word .ai{color:#FF7A2D}
#cadai-consent h2{font-family:'Sora','Inter',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.01em;text-align:center;margin:14px 0 4px}
#cadai-consent .consent-sub{text-align:center;color:#6F6A60;font-size:12px;margin:0 0 16px}
#cadai-consent .consent-body{font-size:13.5px;line-height:1.55;color:#17150F;max-height:46vh;overflow-y:auto;padding-right:4px;-webkit-overflow-scrolling:touch}
#cadai-consent .consent-body p{margin:9px 0}
#cadai-consent .consent-body .ck{color:#E2580F;font-weight:700;margin-right:4px}
#cadai-consent .consent-btn{width:100%;background:#FF7A2D;color:#1A1209;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;font-family:'Sora','Inter',sans-serif;cursor:pointer;transition:background .12s;margin-top:18px}
#cadai-consent .consent-btn:hover{background:#F26A1C}
#cadai-consent .consent-btn:disabled{opacity:.6;cursor:default}
#cadai-consent .consent-ghost{width:100%;background:transparent;color:#6F6A60;border:1px solid rgba(0,0,0,.16);border-radius:10px;padding:11px;font-size:13px;font-weight:600;font-family:'Inter',system-ui,sans-serif;cursor:pointer;margin-top:10px}
#cadai-consent .consent-ghost:hover{background:#fff;color:#17150F}
#cadai-consent .consent-err{color:#b91c1c;font-size:12.5px;min-height:16px;margin:10px 2px 0;text-align:center}

/* Coach/Personal mode choice — same dark-canvas/warm-card language as the
   consent screen above, shown every time a coach account opens the app. */
#cadai-modechoice{position:fixed;inset:0;z-index:100000;background:#000;display:none;align-items:center;justify-content:center;padding:24px;font-family:'Inter',system-ui,sans-serif;overflow-y:auto}
#cadai-modechoice .consent-card{background:#F6F4F0;border-radius:18px;padding:30px 28px 26px;width:100%;max-width:420px;margin:auto;box-shadow:0 0 0 1px rgba(255,255,255,.10),0 8px 24px rgba(255,236,214,.18),0 22px 50px rgba(255,236,214,.22),0 40px 90px rgba(255,236,214,.10);color:#17150F}
#cadai-modechoice .consent-logo{width:46px;height:46px;display:block;margin:0 auto 10px}
#cadai-modechoice .consent-word{font-family:'Sora','Inter',sans-serif;font-weight:700;letter-spacing:-.03em;font-size:26px;color:#17150F;line-height:1;text-align:center}
#cadai-modechoice .consent-word .ai{color:#FF7A2D}
#cadai-modechoice h2{font-family:'Sora','Inter',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.01em;text-align:center;margin:14px 0 4px}
#cadai-modechoice .consent-sub{text-align:center;color:#6F6A60;font-size:12px;margin:0 0 20px}
#cadai-modechoice .modechoice-opt{display:block;width:100%;text-align:left;background:#FFFEFB;border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;margin-top:10px;transition:border-color .12s,background .12s}
#cadai-modechoice .modechoice-opt:first-of-type{margin-top:0}
#cadai-modechoice .modechoice-opt:hover{border-color:#FF7A2D;background:#fff}
#cadai-modechoice .modechoice-opt .mo-t{display:block;font-family:'Sora','Inter',sans-serif;font-weight:700;font-size:15px;color:#17150F}
#cadai-modechoice .modechoice-opt .mo-s{display:block;font-size:12.5px;color:#6F6A60;margin-top:3px;line-height:1.4}

/* ── PRACTICE DATA UPLOAD ─────────────────────────────────────────────── */
#panel-practice .pu-card{background:var(--s1);border-radius:14px;padding:18px 20px;box-shadow:var(--glow);color:var(--t1);margin-bottom:18px}
#panel-practice .pu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#panel-practice .pu-title{font-size:13px;font-weight:700;color:var(--t1)}
#panel-practice .pu-sub{font-size:12px;color:var(--t3);margin-top:3px;line-height:1.5;max-width:560px}
#panel-practice .pu-toggle{background:var(--accent-soft);color:var(--blue);border:1px solid var(--accent);border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;flex:0 0 auto}
#panel-practice .pu-body{margin-top:16px}
#panel-practice .pu-drop{border:2px dashed var(--b2);border-radius:12px;padding:26px 16px;text-align:center;background:var(--s2);transition:border-color .12s,background .12s;cursor:pointer}
#panel-practice .pu-drop.drag{border-color:var(--accent);background:var(--accent-soft)}
#panel-practice .pu-drop .pu-big{font-size:14px;font-weight:600;color:var(--t1)}
#panel-practice .pu-drop .pu-small{font-size:12px;color:var(--t3);margin-top:6px;line-height:1.5}
#panel-practice .pu-browse{color:var(--blue);text-decoration:underline;cursor:pointer;font-weight:600}
#panel-practice .pu-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:14px}
#panel-practice .pu-field{display:flex;flex-direction:column;gap:5px;min-width:0}
#panel-practice .pu-field.full{grid-column:1/-1}
#panel-practice .pu-field label{font-size:11px;font-weight:600;color:var(--t2)}
#panel-practice .pu-field label .hint{font-weight:400;color:var(--t4);font-size:10px}
#panel-practice .pu-field input,#panel-practice .pu-field textarea{font-family:inherit;font-size:16px;color:var(--t1);background:var(--s2);border:1px solid var(--b2);border-radius:9px;padding:10px 12px;width:100%;outline:none;transition:border-color .12s;-webkit-appearance:none;appearance:none}
#panel-practice .pu-field input:focus,#panel-practice .pu-field textarea:focus{border-color:var(--accent)}
#panel-practice .pu-field textarea{font-size:14px;line-height:1.5;resize:vertical}
#panel-practice .pu-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
#panel-practice .pu-save{background:var(--accent);color:#1a1209;border:none;border-radius:10px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}
#panel-practice .pu-save:hover{background:var(--accent-hover)}
#panel-practice .pu-save:disabled{opacity:.5;cursor:default}
#panel-practice .pu-ghost{background:transparent;color:var(--t3);border:1px solid var(--b2);border-radius:10px;padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
#panel-practice .pu-msg{font-size:13px;font-weight:600}
#panel-practice .pu-msg.ok{color:var(--green)}
#panel-practice .pu-msg.err{color:var(--red)}
#panel-practice .pu-msg.warn{color:var(--amber)}
#panel-practice .pu-cap{font-size:12px;color:var(--t3);margin:16px 0 6px;line-height:1.5}
#panel-practice .pu-cap b{color:var(--blue)}
#panel-practice .pu-preview{overflow-x:auto}
#panel-practice .pu-preview table{width:100%;border-collapse:collapse;font-size:12px;min-width:600px}
#panel-practice .pu-preview th{text-align:left;font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--t3);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--b2);white-space:nowrap}
#panel-practice .pu-preview td{padding:6px 8px;border-bottom:1px solid var(--b1);color:var(--t2);white-space:nowrap}
#panel-practice .pu-preview td.blank{color:var(--t4)}
#panel-practice .pu-preview tr:hover td{background:rgba(255,122,45,.05)}
/* ── MANUAL PRACTICE LOG (session → blocks) ───────────────────────────── */
#panel-practice .pu-field select{font-family:inherit;font-size:16px;color:var(--t1);background:var(--s2);border:1px solid var(--b2);border-radius:9px;padding:10px 12px;width:100%;outline:none;-webkit-appearance:none;appearance:none}
#panel-practice .pu-field select:focus{border-color:var(--accent)}
#panel-practice .pl-blocks{margin-top:6px;display:flex;flex-direction:column;gap:12px}
#panel-practice .pl-block{background:var(--s2);border:1px solid var(--b1);border-radius:12px;padding:14px 14px 4px}
#panel-practice .pl-block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
#panel-practice .pl-block-title{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--t3)}
#panel-practice .pl-remove{background:transparent;border:none;color:var(--red);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;padding:2px 4px}
#panel-practice .pl-add{background:var(--accent-soft);color:var(--blue);border:1px dashed var(--accent);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:12px}
#panel-practice .add-section{margin:0}
/* ── Practice: entered sessions & blocks views ────────────────────────── */
#panel-practice .ps-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
#panel-practice .ps-date{font-size:15px;font-weight:700;color:var(--t1)}
#panel-practice .ps-type{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--t3);white-space:nowrap}
#panel-practice .ps-meta{font-size:12px;color:var(--t3);margin-top:2px}
#panel-practice .ps-notes{font-size:13px;color:var(--t2);margin-top:8px;white-space:pre-wrap}
#panel-practice .ps-blocks{margin-top:12px;display:flex;flex-direction:column;gap:8px}
#panel-practice .ps-block{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:9px 12px}
#panel-practice .ps-block-h{font-size:13px;font-weight:600;color:var(--t1)}
#panel-practice .ps-block-sub{font-size:12px;color:var(--t3);margin-top:1px}
#panel-practice .ps-block-note{font-size:12px;color:var(--t2);margin-top:4px;white-space:pre-wrap}
#panel-practice .ps-tbl{width:100%;border-collapse:collapse;font-size:12px}
#panel-practice .ps-tbl th{text-align:left;color:var(--t3);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--b1);white-space:nowrap}
#panel-practice .ps-tbl td{padding:6px 8px;border-bottom:1px solid var(--b1);color:var(--t2);vertical-align:top}
/* ── Practice: unified expandable sessions ────────────────────────────── */
#panel-practice .ps-head{display:flex;align-items:flex-start;gap:9px;cursor:pointer;user-select:none;-webkit-user-select:none}
#panel-practice .ps-htext{flex:1 1 auto;min-width:0}
#panel-practice .ps-nums{font-size:12px;color:var(--t3);margin-top:3px}
#panel-practice .ps-chev,#panel-practice .ps-bchev{flex:0 0 auto;transition:transform .18s ease}
#panel-practice .ps-chev{width:16px;height:16px;color:var(--accent);margin-top:3px}
#panel-practice .ps-bchev{width:13px;height:13px;color:var(--t4);margin-top:2px}
#panel-practice .ps-card.open>.ps-head .ps-chev{transform:rotate(90deg)}
#panel-practice .ps-block.open>.ps-block-head .ps-bchev{transform:rotate(90deg)}
#panel-practice .ps-sbody{display:none;margin-top:12px}
#panel-practice .ps-card.open>.ps-sbody{display:block}
#panel-practice .ps-block-head{display:flex;align-items:flex-start;gap:8px}
#panel-practice .ps-block.has-shots>.ps-block-head{cursor:pointer;user-select:none;-webkit-user-select:none}
#panel-practice .ps-block:not(.has-shots) .ps-bchev{visibility:hidden}
#panel-practice .ps-bbody{display:none;margin-top:8px}
#panel-practice .ps-block.open>.ps-bbody{display:block}
#panel-practice .ps-avg{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
#panel-practice .ps-chip{font-size:11px;background:var(--accent-soft);color:var(--blue);border-radius:6px;padding:3px 8px;font-weight:700;white-space:nowrap}
#panel-practice .ps-chip span{color:var(--t3);font-weight:500}
#panel-practice .ps-shots{overflow-x:auto}
#panel-practice .ps-shots .ps-tbl{min-width:340px}
/* ── Practice: edit / delete controls ─────────────────────────────────── */
#panel-practice .ps-acts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
#panel-practice .ps-btn{background:var(--s2);color:var(--t1);border:1px solid var(--b2);border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}
#panel-practice .ps-btn:hover{border-color:var(--accent)}
#panel-practice .ps-btn-p{background:var(--accent);color:#1A1209;border-color:var(--accent)}
#panel-practice .ps-btn-d{color:var(--red)}
#panel-practice .ps-edit{display:flex;flex-direction:column;gap:8px}
#panel-practice .ps-erow{display:flex;flex-direction:column;gap:3px}
#panel-practice .ps-erow label{font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--t3)}
#panel-practice .ps-erow input,#panel-practice .ps-erow select{font-family:inherit;font-size:15px;color:var(--t1);background:var(--s2);border:1px solid var(--b2);border-radius:8px;padding:8px 10px;width:100%;outline:none;-webkit-appearance:none;appearance:none}
#panel-practice .ps-erow input:focus,#panel-practice .ps-erow select:focus{border-color:var(--accent)}
@media(max-width:560px){#panel-practice .pu-fields{grid-template-columns:1fr}}

/* ── COACH VIEW ─────────────────────────────────────────────────────────────
   Reproduces coach-view.html. All classes are namespaced under #panel-coach so
   the mockup's generic names (.card/.row/.tag/.stat) can't collide with the
   app's global styles. Brand tokens are pinned to literals here (cv- vars) so
   they can never drift: grey #333 shell, warm cards, semantic data-viz colours,
   the grey-canvas dark-shadow lift. */
#panel-coach{color:#FAFAFA;
  --cv-card:#F6F4F0; --cv-tile:#FFFEFB; --cv-ink:#17150F; --cv-muted:#6F6A60;
  --cv-hair:rgba(0,0,0,0.07);
  --cv-oBright:#FF7A2D; --cv-oDeep:#E2580F; --cv-oSoft:rgba(255,122,45,0.12);
  --cv-good:#15803d; --cv-goodSoft:rgba(21,128,61,0.12);
  --cv-watch:#b45309; --cv-watchSoft:rgba(180,83,9,0.14);
  --cv-bad:#b91c1c; --cv-badSoft:rgba(185,28,28,0.12);
  --cv-glow:0 0 0 1px rgba(255,255,255,.06), 0 2px 6px rgba(0,0,0,.35), 0 14px 32px rgba(0,0,0,.45);}
#panel-coach *{box-sizing:border-box}
#panel-coach .cv-wrap{max-width:900px;margin:0 auto;padding:4px 0 40px}

/* Student header */
#panel-coach .student{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
#panel-coach .student .who{display:flex;align-items:center;gap:14px}
#panel-coach .avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#FF7A2D,#E2580F);display:grid;place-items:center;font-family:'Sora';font-weight:700;font-size:20px;color:#1A1209}
#panel-coach .student h1{font-family:'Sora';font-weight:700;font-size:24px;margin:0;letter-spacing:-.02em;color:#fff}
#panel-coach .student .kick{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--cv-oBright);margin-bottom:5px;font-family:'Sora'}
#panel-coach .student .sub{color:#B9B5AD;font-size:13px;margin-top:2px}
#panel-coach .student .sub b{color:#fff;font-weight:600}
#panel-coach .picker{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:8px 12px;font-size:13px;color:#EDEAE4}
#panel-coach select.picker{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;background-image:linear-gradient(45deg,transparent 50%,#EDEAE4 50%),linear-gradient(135deg,#EDEAE4 50%,transparent 50%);background-position:calc(100% - 14px) 16px,calc(100% - 9px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}

/* Window toggle */
#panel-coach .window{display:flex;gap:6px;margin:6px 0 20px;flex-wrap:wrap}
#panel-coach .window button{font-family:'Inter';font-size:12.5px;color:#CFCBC3;background:transparent;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 14px;cursor:pointer;transition:.15s}
#panel-coach .window button.active{background:var(--cv-oBright);border-color:var(--cv-oBright);color:#1A1209;font-weight:600}
#panel-coach .window .hint{margin-left:auto;color:#8A8A90;font-size:12px;align-self:center}

/* Cards */
#panel-coach .cv-card{background:var(--cv-card);color:var(--cv-ink);border-radius:18px;padding:20px;box-shadow:var(--cv-glow);margin-bottom:16px}
#panel-coach .eyebrow{font-family:'Sora';font-weight:600;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--cv-oDeep);margin:0 0 12px}
#panel-coach .cv-state{color:#CFCBC3;font-size:13px;padding:26px 4px;text-align:center;line-height:1.6}

/* CadAI summary */
#panel-coach .ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
#panel-coach .ai-tag{display:inline-flex;align-items:center;gap:6px;font-family:'Sora';font-weight:600;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cv-oDeep);background:var(--cv-oSoft);border-radius:999px;padding:4px 10px}
#panel-coach .ai-tag .ai{color:var(--cv-oDeep)}
#panel-coach .gen-btn{font-family:'Inter';font-size:12px;font-weight:600;color:#1A1209;background:var(--cv-oBright);border:none;border-radius:9px;padding:8px 14px;cursor:pointer;transition:background .15s}
#panel-coach .gen-btn:hover{background:#F26A1C}
#panel-coach .gen-btn:disabled{opacity:.6;cursor:default}
#panel-coach .gen-stamp{font-size:11px;color:var(--cv-muted);margin-top:2px}
#panel-coach .ai-card p{font-size:15px;line-height:1.55;color:#2A2720;margin:0 0 10px}
#panel-coach .ai-card p b{color:var(--cv-oDeep)}
#panel-coach .prio{border-top:1px solid var(--cv-hair);margin-top:6px;padding-top:14px}
#panel-coach .prio-lab{font-family:'Sora';font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cv-oDeep);margin-bottom:4px}
#panel-coach .prio-sub{font-size:12px;color:var(--cv-muted);font-style:italic;margin-bottom:12px}
#panel-coach .prio-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
#panel-coach .prio-item:last-child{margin-bottom:0}
#panel-coach .prio-n{font-family:'Sora';font-weight:700;font-size:14px;color:#fff;background:var(--cv-oDeep);border-radius:8px;width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto}
#panel-coach .prio-t{font-size:14px;color:var(--cv-ink);line-height:1.45}
#panel-coach .prio-t b{color:var(--cv-oDeep);font-weight:600}

/* Drill blocks */
#panel-coach .drill{border:1px solid var(--cv-hair);border-radius:14px;background:var(--cv-tile);margin-bottom:10px;overflow:hidden}
#panel-coach .drill:last-child{margin-bottom:0}
#panel-coach .drill-head{display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;user-select:none}
#panel-coach .drill-head:hover{background:rgba(255,122,45,.05)}
#panel-coach .drill-ico{width:42px;height:42px;border-radius:12px;background:var(--cv-oSoft);display:grid;place-items:center;flex:0 0 auto}
#panel-coach .drill-main{flex:1;min-width:0}
#panel-coach .drill-main .t{font-family:'Sora';font-weight:600;font-size:16px;color:var(--cv-ink)}
#panel-coach .drill-main .s{font-size:13px;color:var(--cv-muted);margin-top:3px;line-height:1.4}
#panel-coach .drill-main .s b{color:var(--cv-ink);font-weight:600}
/* The app has a global svg{width:100%} rule (fine for the trend charts, which
   set their own size). Pin the icon + chevron SVGs to fixed sizes so that rule
   can't stretch a flex:0 0 auto chevron to 100% and collapse the text column. */
#panel-coach .chev{flex:0 0 auto;width:18px;height:18px;transition:transform .2s;color:var(--cv-muted)}
#panel-coach .row-head .chev{width:16px;height:16px}
#panel-coach .drill-ico svg{width:20px;height:20px}
#panel-coach .drill.open>.drill-head .chev,#panel-coach .row.open>.row-head .chev{transform:rotate(90deg)}
#panel-coach .drill-body{display:none;padding:0 14px 14px;border-top:1px solid var(--cv-hair)}
#panel-coach .drill.open>.drill-body{display:block}
#panel-coach .more{text-align:center;font-size:12.5px;color:var(--cv-muted);padding:10px;font-style:italic}

/* Nested rows */
#panel-coach .row{border:1px solid var(--cv-hair);border-radius:12px;background:var(--cv-card);margin-top:10px;overflow:hidden}
#panel-coach .row-head{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;user-select:none}
#panel-coach .row-head:hover{background:rgba(255,122,45,.04)}
#panel-coach .row-date{font-family:'JetBrains Mono';font-weight:600;font-size:12px;color:var(--cv-muted);flex:0 0 52px}
#panel-coach .row-main{flex:1;min-width:0}
#panel-coach .row-main .t{font-family:'Sora';font-weight:600;font-size:14px;color:var(--cv-ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#panel-coach .tag{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--cv-oSoft);color:var(--cv-oDeep)}
#panel-coach .tag.away{background:rgba(0,0,0,.05);color:var(--cv-muted)}
#panel-coach .tag.hurt{background:var(--cv-badSoft);color:var(--cv-bad)}
#panel-coach .row-main .s{font-size:12px;color:var(--cv-muted);margin-top:3px}
#panel-coach .row-score{font-family:'Sora';font-weight:700;font-size:22px;color:var(--cv-ink);flex:0 0 auto}
#panel-coach .row-body{display:none;padding:0 14px 14px;border-top:1px solid var(--cv-hair)}
#panel-coach .row.open>.row-body{display:block}

#panel-coach .statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;margin:14px 0}
#panel-coach .stat{background:var(--cv-tile);border:1px solid var(--cv-hair);border-radius:10px;padding:9px 10px;text-align:center}
#panel-coach .stat .sn{font-family:'Sora';font-weight:700;font-size:16px;color:var(--cv-ink)}
#panel-coach .stat .sk{font-size:10.5px;color:var(--cv-muted);margin-top:2px}
#panel-coach .note{background:var(--cv-oSoft);border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.5;color:#2A2720}
#panel-coach .note b{color:var(--cv-oDeep)} #panel-coach .note i{color:#514c42}
#panel-coach .flags{display:flex;flex-direction:column;gap:6px;margin-top:12px}
#panel-coach .flag-item{display:flex;gap:9px;font-size:12.5px;color:#2A2720;align-items:flex-start}
#panel-coach .flag-item .ic{color:var(--cv-bad);flex:0 0 auto;font-weight:700}

#panel-coach .block{border:1px solid var(--cv-hair);border-radius:12px;padding:12px 14px;margin-top:10px;background:var(--cv-tile)}
#panel-coach .block .bh{display:flex;justify-content:space-between;align-items:center;gap:8px}
#panel-coach .block .bt{font-family:'Sora';font-weight:600;font-size:13px;color:var(--cv-ink)}
#panel-coach .block .bc{font-family:'JetBrains Mono';font-size:11px;color:var(--cv-muted)}
#panel-coach .block .bnote{font-size:12px;color:#514c42;line-height:1.5;margin-top:8px}
#panel-coach .jtext{font-size:14px;line-height:1.6;color:#2A2720;margin:12px 0 0;white-space:pre-wrap}

/* Trends */
#panel-coach .trends{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#panel-coach .trend{background:var(--cv-tile);border:1px solid var(--cv-hair);border-radius:14px;padding:14px}
#panel-coach .trend .lab{font-size:11.5px;color:var(--cv-muted);letter-spacing:.02em}
#panel-coach .trend .val{font-family:'Sora';font-weight:700;font-size:22px;color:var(--cv-ink);margin-top:4px;display:flex;align-items:baseline;gap:8px}
#panel-coach .delta{font-family:'JetBrains Mono';font-weight:600;font-size:12px;white-space:nowrap}
#panel-coach .delta.g{color:var(--cv-good)} #panel-coach .delta.w{color:var(--cv-watch)} #panel-coach .delta.b{color:var(--cv-bad)}
#panel-coach .trend svg{margin-top:10px;display:block;width:100%;height:44px}
#panel-coach .trend-note{font-size:13px;color:var(--cv-muted);margin:-4px 0 16px}
@media(max-width:640px){#panel-coach .trends{grid-template-columns:1fr 1fr}#panel-coach .student h1{font-size:21px}}

/* Open the full player dashboard — a small pill next to the student's name */
#panel-coach .name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#panel-coach .cv-viewbtn{display:inline-flex;align-items:center;gap:6px;background:var(--cv-oSoft);color:var(--cv-oDeep);border:1px solid rgba(255,122,45,.35);border-radius:999px;padding:6px 13px;font-family:'Inter';font-weight:600;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .12s}
#panel-coach .cv-viewbtn span{opacity:.7;font-weight:600;font-size:10.5px}
#panel-coach .cv-viewbtn:hover{background:rgba(255,122,45,.22)}

/* ── COACH READ-ONLY "VIEW AS PLAYER" ───────────────────────────────────────
   A coach viewing a linked student's dashboard read-only (?viewAs=). The banner
   sits above the header; body.coach-readonly hides every write control and the
   tabs that would otherwise fetch the coach's OWN (uid-scoped) data. The server
   also rejects any coach write, so the CSS below is defence-in-depth + UX, not
   the security guarantee. */
#viewas-banner{position:sticky;top:0;z-index:60;background:var(--accent);color:#1A1209;
  font-size:13px;font-weight:600;text-align:center;line-height:1.5;
  padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;
  display:flex;gap:6px 14px;align-items:center;justify-content:center;flex-wrap:wrap}
#viewas-banner a{color:#1A1209;text-decoration:underline;font-weight:700;white-space:nowrap}
body.coach-readonly #hdr-addround,
body.coach-readonly #hdr-addpractice,
body.coach-readonly .tab[data-p="insights"],
body.coach-readonly .tab[data-p="journal"],
body.coach-readonly .tab[data-p="profile"],
body.coach-readonly #coach-tab,
body.coach-readonly #mode-switch-btn,
body.coach-readonly #refresh-insights-btn,
body.coach-readonly #send-btn,
body.coach-readonly #chat-input,
body.coach-readonly .rr-acts,
body.coach-readonly #lr-formview,
body.coach-readonly #ps-formview,
body.coach-readonly .ps-btn{display:none!important}

/* Coach mode (not viewing a student) — only the Coaching summary tab is shown;
   every other tab and the header add-round/add-practice shortcuts are hidden,
   since they're the coach's own data, not a student's. Drilling into a student
   via "View full dashboard" leaves this mode (full reload into ?viewAs=), so
   the two hide rules never overlap. */
body.coach-mode-only #hdr-addround,
body.coach-mode-only #hdr-addpractice,
body.coach-mode-only .tab:not(#coach-tab){display:none!important}

