/* Calheat design system, shared by Players Space (/) and Coach Space (/coach/).
   One set of colours, type, radii and the common components (app bar, buttons, cards, pills, fields, toast,
   feedback button). Each space's own stylesheet maps its older variable names onto these tokens and only adds
   what is specific to that space. Brand: navy #0C2138, orange #F47920. */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/coach/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/coach/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(/coach/fonts/source-sans-3-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(/coach/fonts/source-sans-3-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(/coach/fonts/source-sans-3-latin-700-normal.woff2) format('woff2')}

:root{
  /* Brand */
  --navy:#0C2138; --navy-2:#1E3F7A; --orange:#F47920; --on-orange:#0C2138;
  /* Accent for links, selected states and primary buttons (navy in light mode, a lighter blue in dark mode) */
  --accent:#0C2138; --accent-soft:#E5EAF2; --on-accent:#FFFFFF;
  /* Orange used as text or a thin mark on a light background (the brand orange is too light for text) */
  --orange-ink:#B4530C; --orange-soft:#FDEBDC;
  /* Neutrals */
  --bg:#F4F6F9; --surface:#FFFFFF; --sunk:#F0F3F7; --ink:#14202E; --muted:#5A6878; --line:#DEE3EA;
  /* Status */
  --good:#17704F; --good-soft:#DFF1E8; --warn:#8A5A00; --warn-soft:#FBF0D5; --bad:#A8282E; --bad-soft:#F8E1E2;
  /* Type */
  --display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --body:'Source Sans 3','Segoe UI',system-ui,sans-serif;
  /* Shape */
  --r-sm:8px; --r:12px; --pill:999px;
  --shadow:0 6px 20px rgba(12,33,56,.18);
  --bar-h:56px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --accent:#8FB0F0; --accent-soft:#1B2A47; --on-accent:#0C2138;
  --orange-ink:#F79A4E; --orange-soft:#3A2414;
  --bg:#0B1622; --surface:#132233; --sunk:#0F1C2B; --ink:#E6ECF3; --muted:#9AA9BA; --line:#26384B;
  --good:#5CC98A; --good-soft:#163527; --warn:#E8B04B; --warn-soft:#352A12; --bad:#F07B80; --bad-soft:#3B1B1D;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --accent:#8FB0F0; --accent-soft:#1B2A47; --on-accent:#0C2138;
  --orange-ink:#F79A4E; --orange-soft:#3A2414;
  --bg:#0B1622; --surface:#132233; --sunk:#0F1C2B; --ink:#E6ECF3; --muted:#9AA9BA; --line:#26384B;
  --good:#5CC98A; --good-soft:#163527; --warn:#E8B04B; --warn-soft:#352A12; --bad:#F07B80; --bad-soft:#3B1B1D;
  color-scheme:dark}

/* Base */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
button,select,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
h1{font-family:var(--display);font-weight:700;font-size:28px;line-height:1.05;letter-spacing:.01em;margin:0;text-wrap:balance}
h2{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.15;letter-spacing:.01em;margin:0;text-wrap:balance}

/* App bar: the same navy bar on both spaces, with the space switch for staff */
.cbar{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;padding-top:env(safe-area-inset-top,0px);border-bottom:3px solid var(--orange)}
.cbar-in{min-height:var(--bar-h);display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:8px 20px}
.cbar-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;min-width:0}
.cbar-crest{width:34px;height:32px;object-fit:contain;flex:none}
.cbar-word{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.cbar-word b{color:var(--orange);font-weight:700}
.cbar-space{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#B7C6D6;white-space:nowrap}
.cbar-sp{flex:1}
.cbar-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#C9D4E0;min-width:0}
.cbar-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.cbar .btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.cbar .btn:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.cbar .btn.switch{border-color:var(--orange);color:#fff}
.cbar .btn.switch:hover{background:var(--orange);color:var(--on-orange)}
@media (max-width:560px){.cbar-in{padding:8px 14px}.cbar-space{display:none}.cbar-who{display:none}}

/* Buttons. Primary = navy (accent). Accent orange = one key action, or actions on the navy bar and hero. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:7px 14px;min-height:36px;font-weight:600;font-size:14px;line-height:1.2;cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{border-color:var(--accent)}
.btn.primary,.btn.pri,.btn.navy{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.primary:hover,.btn.pri:hover,.btn.navy:hover{filter:brightness(1.15)}
.btn.heat,.btn.accent{background:var(--orange);border-color:var(--orange);color:var(--on-orange)}
.btn.heat:hover,.btn.accent:hover{filter:brightness(1.06)}
.btn.soft{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.small,.btn.sm{padding:4px 10px;min-height:30px;font-size:13px}
.btn.danger{color:var(--bad)}
.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}
@media (max-width:760px){.btn{min-height:40px}.btn.small,.btn.sm{min-height:36px}}

/* Cards */
.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}

/* Status pills (Players Space .chip, Coach Space .pill) */
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:var(--pill);padding:2px 9px;font-size:12px;font-weight:600;background:var(--sunk);color:var(--muted);white-space:nowrap}

/* Fields */
input[type=text],input[type=number],input[type=date],input[type=time],input[type=email],input[type=url],input[type=search],select,textarea{
  background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font-size:15px;min-height:38px;max-width:100%;min-width:0}
textarea{min-height:72px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}

/* Small uppercase section label */
.lbl{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--muted)}

/* Feedback button, identical on both spaces */
.fb-btn{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;background:var(--orange);color:var(--on-orange);border:0;border-radius:var(--pill);padding:10px 16px;font-weight:700;font-size:14px;box-shadow:var(--shadow);cursor:pointer}
.fb-btn:hover{filter:brightness(1.06)}
.fb-btn[hidden]{display:none}
@media(max-width:640px){.fb-btn{padding:8px 13px;font-size:13px;right:12px}}
@media print{.cbar,.fb-btn,#fbRoot{display:none!important}}
