:root{
  --ink:#16202c; --muted:#5f6c7d;
  --glass:rgba(255,255,255,.62); --edge:rgba(255,255,255,.75);
  --shadow:0 8px 32px rgba(31,45,75,.12);
  --accentink:#1b6fae; --sel:#1b6fae; --grid:rgba(95,108,125,.16); --design:#f2734a;
  --good:#2f7d4f; --good-soft:rgba(63,125,88,.15);
  --warn:#9a6b2f; --warn-soft:rgba(154,107,47,.13);
  --bad:#b4452f; --bad-soft:rgba(180,69,47,.12);
  --ring:rgba(47,155,214,.18);
  --bg:linear-gradient(135deg,#e8f0fa 0%,#f3eef9 45%,#eaf6f1 100%);
  --thead:rgba(240,245,251,.97); --cell:rgba(255,255,255,.5); --cellh:rgba(255,255,255,.78);
  --white:rgba(255,255,255,.8); --white2:rgba(255,255,255,.75); --hover:#fff;
  --fill-po:#D9EAF7; --fill-qd:#D9EAD3; --fill-dt:#F4DFD7;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  font-size:14px;line-height:1.45;color:var(--ink);
  background:var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;overflow:hidden;
}
#flow{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55}
#app{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}
button{font-family:inherit;cursor:pointer;color:inherit}
a{color:var(--accentink)}


/* ---------- toast / misc ---------- */
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(80px);z-index:95;padding:11px 19px;border-radius:12px;font-size:13px;font-weight:600;transition:.24s;opacity:0;background:rgba(22,32,44,.92);color:#fff}
.toast.on{transform:translateX(-50%) translateY(0);opacity:1}
.hint{font-size:11.5px;color:var(--muted)}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px;background:#36a37a}
.dot.w{background:#e0a92e}.dot.r{background:#b4452f}.dot.b{background:#2f9bd6}
.mono{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid rgba(47,155,214,.6);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}#flow{display:none}}

