/* Geometry Clinical Console — Clinical Teal design system
   (same tokens as the mobile app's AppTheme + the team reports) */

:root{
  --ground:#F2F6F7; --card:#FFFFFF; --line:#DCE4E4;
  --ink:#12262A; --sub:#5C7274; --faint:#8AA0A1;
  --accent:#0E7C86; --accent-ink:#0A4B52; --accent-soft:#E1EEEE;
  --good:#1D9E75; --good-soft:#E3F2EB;
  --warn:#DE8E2A; --warn-soft:#FAEEDB;
  --bad:#D85A30;  --bad-soft:#F9E7E0;
  --radius:12px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);
  font:14px/1.55 -apple-system,"SF Pro Text","Segoe UI",Roboto,sans-serif;}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}
h1{font-size:22px} h2{font-size:15px} h3{font-size:13.5px}
a{color:var(--accent-ink)}
.wrap{max-width:1080px;margin:0 auto;padding:26px 22px 60px}

/* top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--card);border-bottom:1px solid var(--line);padding:10px 22px;}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:14px}
.mark{width:22px;height:22px;border-radius:6px;background:var(--accent);position:relative;flex:none}
.mark::after{content:"";position:absolute;inset:6px;border:2px solid #fff;border-radius:50%}
.topbar nav{display:flex;align-items:center;gap:16px}
.topbar nav a{text-decoration:none;color:var(--sub);font-weight:500}
.topbar nav a:hover{color:var(--accent-ink)}
.who{color:var(--faint);font-size:12.5px}
.foot{max-width:1080px;margin:0 auto;padding:0 22px 40px;color:var(--faint);font-size:11.5px}

/* layout bits */
.eyebrow{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);font-weight:600}
.grid{display:grid;gap:14px}
.grid.cols3{grid-template-columns:repeat(3,1fr)}
.grid.cols2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.grid.cols3,.grid.cols2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h2{margin-bottom:10px}
.stat{font-size:26px;font-weight:600}
.stat-label{color:var(--sub);font-size:12.5px}
section{margin-top:22px}
.muted{color:var(--sub)} .tiny{font-size:12px} .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* tables */
table{border-collapse:collapse;width:100%;font-size:13px}
th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--sub);padding:0 10px 7px;border-bottom:1px solid var(--line);font-weight:600}
td{padding:9px 10px;border-bottom:1px solid #EDF2F2;vertical-align:middle}
tr:last-child td{border-bottom:none}
tr.rowlink{cursor:pointer} tr.rowlink:hover td{background:#F7FBFB}

/* badges + dots */
.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap}
.b-good{background:var(--good-soft);color:#12664A}
.b-warn{background:var(--warn-soft);color:#8A551A}
.b-bad{background:var(--bad-soft);color:#8F3517}
.b-teal{background:var(--accent-soft);color:var(--accent-ink)}
.b-gray{background:#EDF1F1;color:var(--sub)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.d-green{background:var(--good)} .d-yellow{background:var(--warn)} .d-red{background:var(--bad)} .d-gray{background:#B7C6C6}

/* forms + buttons */
input[type=text],input[type=email],input[type=password]{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;
  font:inherit;background:#FBFDFD;color:var(--ink)}
input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
label{display:block;font-size:12.5px;font-weight:600;color:var(--sub);margin:12px 0 5px}
button{font:inherit;font-weight:600;border:none;border-radius:9px;padding:10px 16px;
  background:var(--accent);color:#fff;cursor:pointer}
button:hover{background:#0B6B74}
button.ghost{background:transparent;color:var(--accent-ink);border:1px solid var(--line)}
button.ghost:hover{background:var(--accent-soft)}
button.small{padding:5px 11px;font-size:12.5px}
button.danger{background:transparent;color:#8F3517;border:1px solid var(--line)}
form.inline{display:inline}
.row-actions{display:flex;gap:8px;align-items:center}

/* auth pages */
.auth{max-width:420px;margin:8vh auto 0}
.auth .card{padding:26px}
.auth .brand{margin-bottom:18px}
.error{background:var(--bad-soft);color:#8F3517;border-radius:9px;padding:10px 13px;
  font-size:13px;margin:12px 0 0}
.notice{background:var(--accent-soft);color:var(--accent-ink);border-radius:9px;
  padding:10px 13px;font-size:13px;margin:12px 0 0}

/* invite/share link box */
.sharebox{display:flex;gap:8px;align-items:center;background:#F4FAFA;border:1px dashed var(--accent);
  border-radius:10px;padding:10px 12px;margin-top:10px}
.sharebox code{flex:1;overflow-x:auto;white-space:nowrap;font-size:12px}

/* QR block */
.qrpanel{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.qrpanel img{width:190px;height:190px;border:1px solid var(--line);border-radius:12px;background:#fff}
.bigcode{font-family:ui-monospace,Menlo,monospace;font-size:22px;letter-spacing:.06em;font-weight:600}

/* schedule chips (assign form) */
.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
button.chip{padding:6px 13px;border:1px solid var(--line);border-radius:20px;background:#fff;
  color:var(--sub);font-size:12.5px;font-weight:600;cursor:pointer}
button.chip:hover{background:#F4FAFA;color:var(--accent-ink)}
button.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}
.assign-summary{margin-top:12px;padding:10px 14px;background:#F4FAFA;border-radius:9px;
  font-size:13px;color:var(--accent-ink);display:flex;justify-content:space-between;
  align-items:center;gap:12px;flex-wrap:wrap}
.mini-input{width:auto;padding:7px 10px !important}
.series-chip{font-size:10px;font-weight:600;background:#EDF1F1;color:var(--sub);
  border-radius:12px;padding:1px 7px;margin-left:6px;white-space:nowrap}

/* movement chart */
.chart{width:100%;height:260px;background:#F8FBFB;border:1px solid var(--line);border-radius:10px}
.legend{font-size:12px;color:var(--sub);margin-top:6px}
.legend b{font-weight:600}
.swatch{display:inline-block;width:10px;height:3px;border-radius:2px;margin:0 5px 2px 12px}
