:root{
  /* Kava Culture white-label guest theme — dark "sunset at night" (purple → pink) */
  --bg:#14111b;
  --panel:rgba(255,255,255,.05);
  --panel2:rgba(255,255,255,.07);
  --ink:#f4f0fa;--muted:#9890ad;
  --line:rgba(255,255,255,.10);
  --amber:#d9a441;--amber2:#f0bd54;--teal:#46b6b0;--green:#7fae3a;--red:#cf5a3e;--violet:#9b8cff;
  --purple:#7c3aed;--pink:#E84393;--blue:#2f7fe0;--lav:#b9a9e0;--gold:#e0c33a;
  --grad:linear-gradient(135deg,#7c3aed,#E84393);
  --disp:'Hanken Grotesk',-apple-system,"Segoe UI",Roboto,sans-serif;
  --body:'Hanken Grotesk',-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:'Hanken Grotesk',-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:var(--body);line-height:1.55;min-height:100vh;
  background:
    radial-gradient(120% 80% at 18% -2%, rgba(124,58,237,.32), transparent 58%),
    radial-gradient(120% 70% at 92% 8%, rgba(232,67,147,.24), transparent 52%),
    radial-gradient(110% 60% at 50% 110%, rgba(91,135,181,.18), transparent 60%),
    var(--bg);
  background-attachment:fixed}
a{color:var(--lav);text-decoration:none}
a:hover{color:#fff}

/* white-label guest chrome */
.wl-head{text-align:center;padding:26px 22px 4px}
.wl-brand{font-weight:800;letter-spacing:.10em;text-transform:uppercase;font-size:clamp(22px,5vw,30px);color:#fff;
  text-shadow:0 1px 0 #b98fe0,0 2px 0 #9f72cf,0 4px 14px rgba(0,0,0,.5)}
.wl-tag{font-size:11px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--lav);margin-top:8px}
.poweredby{display:inline-flex;align-items:center;gap:8px;margin-top:13px;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--pink)}
.rxmark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;
  background:linear-gradient(160deg,#a9d8ff,#2f7fe0 60%,#1e5fb8);color:#06203f;font-weight:800;font-size:14px;
  box-shadow:0 0 16px rgba(70,150,255,.5),inset 0 2px 2px rgba(255,255,255,.55)}
.rxmark.lg{width:42px;height:42px;border-radius:13px;font-size:24px}
.container{max-width:480px;margin:0 auto;padding:14px 20px 84px}
h1.page{font-family:var(--body);font-weight:800;text-transform:none;letter-spacing:-.01em;font-size:clamp(24px,6vw,34px);margin:0 0 6px;line-height:1.12;color:var(--ink)}
.sub{font-size:13.5px;letter-spacing:0;color:var(--muted);margin:0 0 20px;line-height:1.5}
/* guest kiosk: center the column intro text so it matches the centered header (admin consoles keep left-aligned headings) */
body:not(.admin) h1.page,
body:not(.admin) .sub{text-align:center}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
label{display:block;font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--muted);margin-bottom:7px}
input[type=text],select{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:13px;color:var(--ink);
  font-size:16px;padding:13px 14px;margin-bottom:15px;font-family:var(--body)}
input:focus,select:focus{outline:none;border-color:var(--violet)}
select option{color:#1a1320}
.btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none;font-weight:700;
  background:var(--grad);color:#fff;border:none;border-radius:14px;padding:14px 20px;transition:filter .15s,transform .15s;box-shadow:0 12px 28px -12px rgba(0,0,0,.55)}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.06)}
.btn.block{width:100%}
.moods{display:flex;flex-direction:column;gap:10px;margin:6px 0 4px}
.mood{cursor:pointer;font-family:var(--body);font-size:15.5px;font-weight:600;width:100%;text-align:left;
  border:1px solid var(--line);border-left:3px solid var(--line);background:var(--panel);color:var(--ink);
  padding:15px 16px;border-radius:16px;display:flex;align-items:center;gap:13px;transition:all .18s;backdrop-filter:blur(10px)}
.mood:hover{background:rgba(255,255,255,.09);transform:translateX(3px)}
.mood .dot{width:12px;height:12px;border-radius:50%;flex:none}
.mood .chev{margin-left:auto;color:#6f6685;font-size:19px;line-height:1}
.rxhead{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lav);margin-bottom:14px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.badge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.badge.on{color:#06140a;background:var(--green);border-color:var(--green)}
.badge.warn{color:#1a1206;background:var(--amber);border-color:var(--amber)}

/* ---- Rehab Mode ---- */
.care{border-color:rgba(217,164,65,.5);background:linear-gradient(180deg,rgba(217,164,65,.08),var(--panel))}
.care-lines{list-style:none;padding:0;margin:10px 0;font-size:14px}
.care-lines li{padding:6px 0;border-bottom:1px solid var(--line)}
.care-lines li:last-child{border-bottom:none}
.hint{font-family:var(--mono);font-size:12px;color:var(--amber2);background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-top:12px}
.spark{display:flex;align-items:flex-end;gap:6px;height:80px;margin:14px 0 6px;padding:8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px}
.spark .bar{flex:1;background:var(--teal);opacity:.55;border-radius:3px 3px 0 0;min-height:4px}
.spark .bar.now{opacity:1;background:var(--amber)}
.feelgrid{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.feelrow{display:flex;align-items:center;gap:10px}
.feelrow .fl{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);width:64px}
.feelrow .fn{font-family:var(--mono);font-size:12px;color:var(--teal);width:24px;text-align:right}
.fbarwrap{flex:1;height:10px;background:var(--panel2);border-radius:5px;overflow:hidden}
.fbar{height:100%;background:var(--green);min-width:2px}
.milestones{margin-top:12px}
.chip.done{background:var(--green);color:#06140a;border-color:var(--green)}
.chip.done b{color:#06140a}
.disclaimer{border-style:dashed}

/* ===================================================================== */
/* Admin consoles — premium dark + vibrant (Command Central & Store)      */
/* ===================================================================== */
body.admin{
  /* Light & cool palette ("Mist") — tokens are remapped so every admin component
     adapts; the guest app keeps its own dark/amber theme from :root. */
  --bg:#eef3f5;
  --ink:#16262e;
  --muted:#5f7682;
  --line:rgba(22,38,46,.10);
  --panel:#ffffff;
  --panel2:#eef2f5;
  --amber:#0fb5a6;   /* primary accent role -> teal */
  --amber2:#13c2b1;
  --teal:#2f8fd6;    /* secondary accent role -> sky blue */
  --violet:#6a8fd8;  /* tertiary -> soft indigo */
  --red:#e0654e;
  --grad:linear-gradient(105deg,#0fb5a6,#2f8fd6);
  --disp:"Arial Narrow","Helvetica Neue Condensed",Impact,system-ui,sans-serif;
  --mono:"Courier New",ui-monospace,monospace;
  color:var(--ink);
  background:
    radial-gradient(1000px 540px at 8% -12%, rgba(63,191,155,.16), transparent 60%),
    radial-gradient(900px 600px at 102% -6%, rgba(47,143,214,.13), transparent 55%),
    radial-gradient(760px 620px at 60% 120%, rgba(15,181,166,.09), transparent 60%),
    var(--bg);
  min-height:100vh;
}
.adminwrap{max-width:1180px;margin:0 auto;padding:26px 22px 80px}
.ad-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.ad-title{font-family:var(--disp);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(28px,5vw,46px);line-height:.95;margin:0}
.ad-title .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ad-sub{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 0 0}
.ad-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.live{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.live .pulse{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(63,208,196,.6);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,208,196,.55)}70%{box-shadow:0 0 0 12px rgba(63,208,196,0)}100%{box-shadow:0 0 0 0 rgba(63,208,196,0)}}
.flash{transition:color .35s, transform .35s}
.bump{animation:bump .4s ease}
@keyframes bump{0%{transform:translateY(0)}30%{transform:translateY(-4px)}100%{transform:translateY(0)}}

/* glass cards + tiles */
.glass{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;
  box-shadow:0 1px 2px rgba(16,42,60,.05),0 18px 36px -26px rgba(16,42,60,.26)}
.glass.accent{border-color:rgba(15,181,166,.35);box-shadow:0 1px 2px rgba(16,42,60,.05),0 18px 38px -24px rgba(15,181,166,.38)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:16px}
.tile .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tile .big{font-family:var(--disp);font-size:clamp(34px,5vw,52px);line-height:1;margin:6px 0 2px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tile .meta{font-family:var(--mono);font-size:11px;color:var(--teal)}
.adgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:820px){.adgrid{grid-template-columns:1fr}}
.glass h3{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}

/* horizontal bars */
.barlist{display:flex;flex-direction:column;gap:9px}
.barrow{display:grid;grid-template-columns:120px 1fr 42px;align-items:center;gap:10px}
.barrow .lab{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barrow .val{font-family:var(--mono);font-size:12px;color:var(--teal);text-align:right}
.track{height:10px;background:rgba(22,38,46,.07);border-radius:6px;overflow:hidden}
.fill{height:100%;background:var(--grad);border-radius:6px;transition:width .5s ease}
.fill.amber{background:linear-gradient(90deg,#1fc7b5,#0fb5a6)}   /* teal */
.fill.teal{background:linear-gradient(90deg,#57a9e1,#2f8fd6)}    /* sky */
.fill.violet{background:linear-gradient(90deg,#8aa7e6,#6a8fd8)}  /* indigo */

/* live activity feed */
.feed{display:flex;flex-direction:column;gap:0;max-height:360px;overflow:auto}
.feed .row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}
.feed .row:last-child{border-bottom:none}
.feed .dot{width:7px;height:7px;border-radius:50%;flex:none}
.feed .dot.claude{background:var(--violet)} .feed .dot.rules{background:var(--amber)} .feed .dot.skybrain{background:var(--teal)} .feed .dot.none{background:var(--red)}
.feed .when{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-left:auto;white-space:nowrap}
.feed .who{font-family:var(--mono);font-size:11px;color:var(--muted)}
.pill{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}

/* admin buttons: cool primary + outline variant (scoped so the guest app keeps amber) */
body.admin .btn:not(.line):not(.ghost){color:#fff}
.btn.line{background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.btn.line:hover{border-color:var(--amber);color:var(--amber)}
.adlinks{margin-top:20px;display:flex;gap:14px;flex-wrap:wrap}
.adlinks a{font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.empty{font-family:var(--mono);font-size:12px;color:var(--muted)}

/* login card */
.gate{max-width:420px;margin:8vh auto 0}

/* ---- Store accent variants (owner-selectable; all light & cool) ---- */
/* Sage — green-teal */
body.admin.theme-light{
  --amber:#1aab86;--amber2:#21c098;--teal:#2aa39a;
  --grad:linear-gradient(105deg,#1aab86,#2aa39a);
  background:
    radial-gradient(1000px 540px at 8% -12%, rgba(56,191,150,.20), transparent 60%),
    radial-gradient(820px 600px at 102% -6%, rgba(30,170,140,.12), transparent 55%),
    #eef4ef;
}
/* Iris — periwinkle-sky */
body.admin.theme-vibrant{
  --amber:#6a83e0;--amber2:#7c92ea;--teal:#3aa6d8;
  --grad:linear-gradient(105deg,#6a83e0,#37a6d8);
  background:
    radial-gradient(1000px 540px at 8% -12%, rgba(120,140,235,.18), transparent 60%),
    radial-gradient(820px 600px at 102% -6%, rgba(55,166,216,.14), transparent 55%),
    #eef0f8;
}

.themebar{display:flex;gap:6px}
.themebar a{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--panel)}
.themebar a.on{background:var(--grad);color:#fff;border-color:transparent}

/* store promotions */
.promoform .pf-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
@media(max-width:700px){.promoform .pf-grid{grid-template-columns:1fr}}
.promoform input{margin-bottom:10px}
.promo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.promo:last-child{border-bottom:none}
.promo-actions{display:flex;gap:8px;flex:none;flex-wrap:wrap}

/* owner console hub */
.hubgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px}
.hubcard{display:block;text-decoration:none;color:inherit}
.hubcard .glass{height:100%;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.hubcard:hover .glass{transform:translateY(-3px);border-color:rgba(15,181,166,.5);box-shadow:0 22px 46px -26px rgba(15,181,166,.42)}
.hubcard .kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.hubcard h2{font-family:var(--disp);text-transform:uppercase;letter-spacing:.02em;font-size:23px;margin:6px 0 6px;line-height:1;color:var(--ink)}
.hubcard .desc{font-size:13.5px;color:var(--muted);line-height:1.5}
.hubcard .go{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--amber);margin-top:12px;display:inline-block}

/* ---- 86 Board ---- */
.board{list-style:none;padding:0;margin:0}
.board li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}
.board li:last-child{border-bottom:none}
.board li.off .bn{color:var(--muted);text-decoration:line-through}
.board .bi{display:flex;flex-direction:column;gap:2px}
.board .bn{font-size:16px;font-weight:600}
.board .m{font-family:var(--mono);font-size:11px;color:var(--muted)}
.board .ba{display:flex;align-items:center;gap:10px}

/* ---- age acknowledgment ---- */
.agecheck{display:flex;align-items:flex-start;gap:9px;text-transform:none;letter-spacing:normal;font-family:var(--body);font-size:13px;color:var(--muted);margin:4px 0 16px;cursor:pointer}
.agecheck input{width:auto;margin:2px 0 0}

/* ---- visit rating (fills left-to-right via reversed flow) ---- */
.rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin-top:8px}
.rating .star{background:none;border:none;cursor:pointer;font-size:28px;line-height:1;padding:2px;color:var(--line);transition:color .12s,transform .12s}
.rating .star:hover,.rating .star:focus,.rating .star:hover ~ .star,.rating .star:focus ~ .star{color:var(--amber2);outline:none}
.rating .star:hover{transform:scale(1.12)}
.rxgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.rxgrid{grid-template-columns:1fr}}
.rxbox{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px}
.rxbox .l{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rxbox h3{font-family:var(--body);text-transform:none;letter-spacing:-.01em;font-weight:800;font-size:22px;margin:6px 0 4px;line-height:1.1;color:var(--ink)}
.rxbox .eff{font-size:12.5px;color:var(--teal)}
.rxbox.drink h3{color:var(--lav)}
.rxbox p{margin:6px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5}
.note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.5}
.meterwrap{height:8px;background:var(--panel2);border-radius:5px;overflow:hidden;margin:10px 0 2px}
.meter{height:100%;background:var(--grad)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}
.statusline{font-size:11px;color:var(--muted);letter-spacing:0;margin-top:18px}
.statusline b{color:var(--teal)}
.fpgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.fpgrid{grid-template-columns:1fr}}
.chip{display:inline-block;font-size:12px;background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:6px 13px;margin:0 6px 8px 0;color:var(--ink)}
.chip b{color:var(--pink)}
.kpi{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:4px}
.kpi .n{font-family:var(--body);font-weight:800;font-size:34px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi .x{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hist{list-style:none;padding:0;margin:0}
.hist li{border-bottom:1px solid var(--line);padding:11px 0;font-size:14px;display:flex;justify-content:space-between;gap:12px}
.hist li:last-child{border-bottom:none}
.hist .m{font-size:11px;color:var(--muted)}
.foot{border-top:1px solid var(--line);padding:20px 22px;font-size:11px;color:var(--muted);letter-spacing:.03em;text-align:center;line-height:1.6}
.links{margin-top:18px;display:flex;gap:16px;flex-wrap:wrap}
.links a{font-size:12.5px;letter-spacing:0;color:var(--lav)}
