:root {
  --bg:#f6f5f1; --panel:#fff; --ink:#1d2320; --muted:#66706b; --line:#e3e1da;
  --accent:#2f5d50; --soft:#e4eeea; --me:#eef0f7; --me-ink:#2b3350;
  --good:#2f7a4f; --goodsoft:#e3f1e8; --warn:#9a5b12; --warnsoft:#f8ecda; --bad:#a33a2c; --badsoft:#f6e1dd;
  --c0:#2f5d50; --c1:#a8c4ba; --c2:#d9c48f;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#141816; --panel:#1c2120; --ink:#e8ebe9; --muted:#9aa5a0; --line:#2d3532;
    --accent:#8cc4b2; --soft:#23302c; --me:#232838; --me-ink:#cdd5f0;
    --good:#7fcf9f; --goodsoft:#1f2f26; --warn:#e0a868; --warnsoft:#33291b; --bad:#ec8f80; --badsoft:#3a2420;
    --c0:#8cc4b2; --c1:#3f5a52; --c2:#8a7a4f;
  }
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.5 ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); }
p { margin:6px 0; }
header.top { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; padding:12px 24px; border-bottom:1px solid var(--line); background:var(--panel); }
header .brand { font-weight:700; }
nav { display:flex; gap:4px; flex-wrap:wrap; }
nav a { padding:6px 12px; border-radius:8px; color:var(--muted); text-decoration:none; font-size:14px; }
nav a.on { background:var(--soft); color:var(--accent); font-weight:600; }
.spacer { flex:1; }
.muted { color:var(--muted); font-size:13px; }
.money b { color:var(--ink); }
.pause { font:inherit; font-size:13px; padding:6px 12px; border-radius:8px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
.flash { max-width:1240px; margin:12px auto 0; padding:10px 14px; border-radius:10px; }
.flash.info { background:var(--goodsoft); color:var(--good); }
.flash.error, .error { color:var(--bad); }
.flash.error { background:var(--badsoft); }
main.screen { max-width:1240px; margin:0 auto; padding:20px 24px 40px; }
.grid2 { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:20px; align-items:start; }
.grid-min { display:grid; grid-template-columns:240px minmax(0,1fr); gap:20px; }
@media (max-width:900px) { .grid2, .grid-min { grid-template-columns:1fr; } main.screen { padding:16px; } header.top { padding:10px 16px; } }
.card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:16px; }
.card h2 { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:0 0 10px; font-weight:600; }
h1.page { font-size:22px; margin:0 0 4px; }
.lead { color:var(--muted); margin:0 0 16px; }
.pill { font-size:12px; padding:2px 9px; border-radius:999px; white-space:nowrap; }
.ok { background:var(--goodsoft); color:var(--good); } .risk { background:var(--warnsoft); color:var(--warn); } .off { background:var(--badsoft); color:var(--bad); } .idle { background:var(--soft); color:var(--muted); }
.btn { font:inherit; font-size:13px; padding:6px 12px; border-radius:8px; cursor:pointer; border:1px solid var(--accent); background:var(--accent); color:var(--panel); text-decoration:none; display:inline-block; }
.btn.alt { background:transparent; color:var(--accent); }
.btn.quiet { border-color:var(--line); background:transparent; color:var(--ink); }
.btn:disabled { opacity:.6; cursor:default; }
.btns { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.inline { display:inline-flex; gap:6px; align-items:center; }
input.num { width:90px; }
input, select, textarea { font:inherit; padding:7px 10px; border-radius:8px; border:1px solid var(--line); background:var(--bg); color:var(--ink); }
table { width:100%; border-collapse:collapse; font-size:13px; }
th, td { text-align:left; padding:6px; border-bottom:1px solid var(--line); vertical-align:top; }
.convo { padding:0; display:flex; flex-direction:column; min-height:70vh; }
.convo .top { padding:12px 18px; border-bottom:1px solid var(--line); display:flex; gap:8px; align-items:center; }
.msgs { flex:1; padding:18px; display:flex; flex-direction:column; gap:14px; overflow-y:auto; max-height:65vh; }
.msg { max-width:90%; }
.from { font-size:12px; color:var(--muted); margin-bottom:3px; }
.body { padding:8px 14px; border-radius:12px; }
.me { align-self:flex-end; } .me .from { text-align:right; } .me .body { background:var(--me); color:var(--me-ink); }
.ceo .body { background:var(--soft); }
.mode { font-size:11px; padding:1px 7px; border-radius:999px; border:1px solid var(--line); color:var(--muted); margin-left:6px; }
.inner { margin:10px 0 4px; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:12px 14px; }
.inner .t { font-weight:600; font-size:13px; margin-bottom:6px; }
.confirm { border:2px solid var(--accent); }
.confirm dl { display:grid; grid-template-columns:90px 1fr; gap:4px 10px; margin:0 0 10px; font-size:14px; }
.confirm dt { color:var(--muted); } .confirm dd { margin:0; }
.compose { border-top:1px solid var(--line); padding:12px; display:flex; gap:10px; }
.compose input { flex:1; }
.mini { display:flex; justify-content:space-between; gap:8px; padding:6px 0; border-bottom:1px solid var(--line); font-size:14px; }
.alloc { display:flex; height:14px; border-radius:6px; overflow:hidden; margin:8px 0; background:var(--soft); }
.legend { display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.legend i { display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px; vertical-align:-1px; }
.initiative .head { display:flex; justify-content:space-between; gap:10px; align-items:baseline; }
.initiative .title { font-size:17px; font-weight:600; }
.track { height:8px; background:var(--line); border-radius:4px; margin:8px 0 2px; }
.fill { height:100%; background:var(--c0); border-radius:4px; }
.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:12px 0; }
.facts .k { font-size:12px; color:var(--muted); }
.pgroup h3 { font-size:15px; margin:0 0 6px; }
.prow { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--line); }
.prow:last-child { border-bottom:0; }
.prow .text { flex:1; }
.prow .meta { font-size:12px; color:var(--muted); margin-top:3px; }
.prow .acts { display:flex; gap:6px; }
.link { color:var(--accent); background:none; border:0; cursor:pointer; padding:2px 4px; font:inherit; font-size:13px; }
.pform { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:flex-end; }
.pform label { display:flex; flex-direction:column; font-size:12px; color:var(--muted); gap:4px; }
.pform label.wide { flex-basis:100%; }
.pform textarea { width:100%; }
.mlist a { display:block; padding:10px 12px; border-radius:8px; text-decoration:none; color:var(--ink); }
.mlist a.on { background:var(--soft); }
.mlist .d { font-weight:600; font-size:14px; }
ul.plain { padding-left:18px; } ul.plain li { margin:4px 0; }
.transcript { margin-top:12px; font-size:14px; }
.signin { min-height:80vh; display:grid; place-items:center; padding:16px; }
.signin .card { width:min(380px,100%); text-align:center; padding:32px 28px; }
.signin h1 { font-size:22px; margin:0 0 6px; }
.google { display:inline-block; padding:10px 18px; border-radius:10px; border:1px solid var(--line); background:var(--panel); color:var(--ink); text-decoration:none; margin:16px 0 8px; }
ol.q { margin:4px 0 8px; padding-left:18px; } ol.q li { margin:4px 0; }
nav.tabs { margin:0 0 12px; }
table.orders { margin:8px 0; }
.report-text { white-space:pre-wrap; font-size:14px; line-height:1.55; }
.btn.talk { background:var(--panel); color:var(--accent); }
.btn.talk.live { background:var(--bad); border-color:var(--bad); color:#fff; }
