:root{
  --bg:#eef1f4; --surface:#ffffff; --surface-2:#f4f6f8; --surface-3:#eaeef2;
  --border:#d7dee5; --ink:#161b22; --ink-muted:#57626f; --ink-faint:#8996a3;
  --accent:#1f8177; --accent-ink:#ffffff; --accent-soft:rgba(31,129,119,0.10);
  --good:#2f8f52; --good-bg:rgba(47,143,82,0.09);
  --warn:#a8701f; --warn-bg:rgba(168,112,31,0.10);
  --crit:#c53344; --crit-bg:rgba(197,51,68,0.08);
  --shadow: 0 1px 2px rgba(20,26,33,0.06), 0 8px 24px -12px rgba(20,26,33,0.18);
  --radius-sm:8px; --radius-md:12px; --radius-lg:20px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#10151c; --surface:#171e27; --surface-2:#1c2430; --surface-3:#222b38;
    --border:#2b3542; --ink:#e7ecf2; --ink-muted:#8fa0b3; --ink-faint:#5c6b7d;
    --accent:#4fc2b7; --accent-ink:#06211e; --accent-soft:rgba(79,194,183,0.12);
    --good:#57b978; --good-bg:rgba(87,185,120,0.12);
    --warn:#d99a3b; --warn-bg:rgba(217,154,59,0.13);
    --crit:#e2606a; --crit-bg:rgba(226,96,106,0.14);
    --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 12px 32px -14px rgba(0,0,0,0.55);
  }
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;}
a{color:inherit;}
button,input,textarea{font-family:inherit;}

.label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.11em;color:var(--ink-muted);}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--border);}
.brand{display:flex;align-items:center;gap:10px;}
.brand svg{width:22px;height:22px;color:var(--accent);flex:none;}
.brand-word{font-size:15px;font-weight:800;letter-spacing:0.06em;}
.brand-word b{color:var(--accent);}

.field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;}
.field span{display:block;font-size:10px;color:var(--ink-faint);font-weight:700;letter-spacing:0.03em;margin-bottom:3px;}
.field input,.field textarea,.field select{width:100%;border:none;background:transparent;padding:0;font-size:16px;font-family:var(--mono);color:var(--ink);outline:none;}
.field textarea{font-family:var(--sans);resize:vertical;min-height:56px;}
.field:focus-within{border-color:var(--accent);}

.chip{display:flex;align-items:center;gap:6px;padding:8px 12px 8px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12.5px;font-weight:600;cursor:pointer;user-select:none;}
.chip svg{width:14px;height:14px;flex:none;}
.chip input{display:none;}
.chip.on{background:var(--accent-soft);border-color:transparent;color:var(--accent);}

.btn{appearance:none;border:none;cursor:pointer;border-radius:var(--radius-sm);font-weight:800;font-size:13.5px;letter-spacing:0.03em;text-transform:uppercase;padding:13px 16px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;}
.btn.primary{background:var(--accent);color:var(--accent-ink);}
.btn.ghost{background:transparent;border:1.5px solid var(--border);color:var(--ink);}
.btn.sos{background:transparent;border:1.5px solid var(--crit);color:var(--crit);}
.btn:disabled{opacity:0.5;cursor:default;}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

.pill{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap;}
.pill.new{background:var(--accent-soft);color:var(--accent);}
.pill.good,.pill.active{background:var(--good-bg);color:var(--good);}
.pill.warn,.pill.due_soon{background:var(--warn-bg);color:var(--warn);}
.pill.crit,.pill.overdue,.pill.critical{background:var(--crit-bg);color:var(--crit);}
.pill.completed{background:var(--surface-3);color:var(--ink-faint);}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;z-index:100;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-6px);}
.toast.err{background:var(--crit);color:#fff;}
