/* Demaia app workflow (agent C) — composer, run timeline, verdict hero, test cards, account pages.
   Uses the shared "Signal" tokens with fallbacks so it works before style.css defines them.
   Logical properties only (RTL first). No green, no beige. */
:root{
  --c-night:var(--night,#0B0A24); --c-night2:var(--night-2,#15133D);
  --c-signal:var(--signal,#4C5BFF); --c-signal2:var(--signal-2,#7B8CFF); --c-cyan:var(--cyan,#38C6F4);
  --c-truth:var(--truth,#F2A93B); --c-truth-ink:var(--truth-ink,#8A5300); --c-risk:var(--risk,#C8324B);
  --c-surface:var(--surface,#FFFFFF); --c-surface2:var(--surface-2,#F4F5FB); --c-line:var(--line,#E1E3EF);
  --c-ink:#15133D; --c-muted:#5F6283;
  --c-glow:var(--glow,0 0 0 1px rgba(76,91,255,.25),0 8px 32px -8px rgba(76,91,255,.45));
  --c-rlg:var(--r-lg,18px); --c-rxl:var(--r-xl,24px);
}

/* ---------- shared bits */
.c-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--c-signal);margin:0 0 6px}
.c-dot{inline-size:8px;block-size:8px;border-radius:50%;background:var(--c-signal);box-shadow:0 0 0 4px rgba(76,91,255,.18);flex:none}
.c-dot.live{animation:c-pulse 1.8s ease-in-out infinite}
@keyframes c-pulse{0%,100%{box-shadow:0 0 0 3px rgba(76,91,255,.22)}50%{box-shadow:0 0 0 7px rgba(76,91,255,.05)}}
@keyframes c-sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
[dir=rtl] .c-sweep::after{animation-direction:reverse}

/* ---------- composer (test_new) */
.composer{max-inline-size:720px;margin-inline:auto;padding-block:8px 40px}
.composer h1{margin-block:0 6px}
.composer-ready{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--c-night);color:#E8EAFF;font-size:.86rem;inline-size:fit-content;max-inline-size:100%;margin-block:4px 14px;box-shadow:var(--c-glow)}
.composer-ready .c-dot{background:var(--c-cyan);box-shadow:0 0 0 4px rgba(56,198,244,.2)}
.composer .ask{position:relative;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-rlg);padding:16px 16px 12px;margin-block:0 12px;transition:border-color .2s,box-shadow .2s}
.composer .ask:focus-within{border-color:var(--c-signal);box-shadow:var(--c-glow)}
.composer .ask.filled{border-inline-start:4px solid var(--c-signal)}
.composer .ask label{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.02rem;color:var(--c-ink)}
.ask-n{display:inline-grid;place-items:center;inline-size:26px;block-size:26px;border-radius:50%;background:var(--c-surface2);color:var(--c-signal);font-size:.85rem;font-weight:700;flex:none;border:1px solid var(--c-line)}
.ask.filled .ask-n{background:var(--c-signal);color:#fff;border-color:var(--c-signal)}
.composer .ask textarea{min-block-size:84px}
.composer .ask textarea,.composer .ask input[type=text]{inline-size:100%;border:0;background:var(--c-surface2);border-radius:12px;padding:10px 12px;font:inherit;color:var(--c-ink)}
.composer .ask textarea:focus,.composer .ask input:focus{outline:2px solid var(--c-signal);outline-offset:1px}
.ask-foot{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-block-start:6px}
.ask-count{font-size:.75rem;color:var(--c-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ask-tip{font-size:.8rem;color:var(--c-muted);min-block-size:1.2em}
.ask-tip.warn{color:var(--c-truth-ink)}
.composer .submit{padding-block:16px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.composer .submit .hint{flex:1 1 220px;margin:0}
.composer-progress{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--c-muted);flex-basis:100%}
.composer-progress i{inline-size:28px;block-size:4px;border-radius:2px;background:var(--c-line)}
.composer-progress i.on{background:var(--c-signal)}
.composer #run[disabled]{opacity:.75;cursor:progress}

/* ---------- run / wait timeline (test.html #run) */
.run-card{background:var(--c-night);color:#E8EAFF;border-radius:var(--c-rxl);padding:20px;box-shadow:var(--c-glow);position:relative;overflow:hidden}
.run-card h2{color:#fff;margin-block:0 4px}
.run-card .sect-note,.run-card .muted,.run-card .tiny.muted{color:#B9BEE8 !important}
.run-card a{color:#AFC0FF}
.run-meter{position:relative;block-size:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;margin-block:12px 4px}
.run-meter>i{position:absolute;inset-block:0;inset-inline-start:0;background:linear-gradient(90deg,var(--c-signal),var(--c-cyan));border-radius:3px;transition:inline-size .6s ease}
.run-meter.c-sweep::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:c-sweep 2.2s linear infinite}
.run-meta{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;color:#B9BEE8;font-variant-numeric:tabular-nums}
.run-card .timeline{margin-block-start:14px}
.run-card .tl-step{color:#E8EAFF}
.run-card .tl-step::before{background:transparent;border-color:rgba(255,255,255,.4)}
.run-card .tl-step::after{background:rgba(255,255,255,.16)}
.run-card .tl-step.done::before{background:var(--c-signal);border-color:var(--c-signal2)}
.run-card .tl-step.done::after{background:var(--c-signal2)}
.run-card .tl-step.running::before{background:var(--c-cyan);border-color:var(--c-cyan);box-shadow:0 0 0 4px rgba(56,198,244,.22)}
.run-card .tl-step.error::before{background:var(--c-risk);border-color:var(--c-risk)}
.run-card .tl-step b,.run-card .tl-step.done b{color:#fff}
.run-card .tl-step.todo b{color:#B4B9E4;font-weight:500}
.run-card .tl-step .tl-state,.run-card .tl-step.running .tl-state{color:#B9BEE8}
.run-card .tl-step.running .tl-state{color:#9FE3FA}
.run-card .progress{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px;margin-block-start:12px;color:#E8EAFF}
.run-card .note.bad{color:var(--c-ink)}

/* the generic submit overlay (_wait.html) */
.wait.signal-wait .wait-box{position:relative;overflow:hidden}
.wait-bar{display:block;position:relative;block-size:4px;inline-size:100%;border-radius:2px;background:rgba(76,91,255,.15);overflow:hidden;margin-block:6px}
.wait-bar::after{content:"";position:absolute;inset:0;inline-size:40%;background:linear-gradient(90deg,transparent,var(--c-signal),transparent);animation:c-sweep 1.8s ease-in-out infinite}
.wait-steps{list-style:none;padding:0;margin:6px 0 0;font-size:.82rem;text-align:start}
.wait-steps li{padding-block:2px;color:var(--c-muted)}
.wait-steps li::before{content:"◦";margin-inline-end:8px;color:var(--c-signal)}

/* ---------- verdict hero */
.verdict-hero{background:var(--c-night);color:#F1F2FF;border-radius:var(--c-rxl);padding:20px;margin:0 0 16px;position:relative;overflow:hidden;box-shadow:var(--c-glow);background-image:radial-gradient(circle at 1px 1px,rgba(123,140,255,.16) 1px,transparent 0);background-size:22px 22px}
.verdict-hero .verdict-line{color:#fff;font-size:clamp(1.15rem,4.6vw,1.6rem);line-height:1.45;font-weight:700;margin-block:12px 14px}
.verdict-hero .muted,.verdict-hero .tiny.muted,.verdict-hero small.muted{color:#BFC4EC !important}
.verdict-hero .verdict-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.verdict-hero .vnum{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;min-inline-size:0}
.verdict-hero .vnum .num{font-size:1.7rem;color:#fff;text-shadow:0 0 18px rgba(123,140,255,.55)}
.verdict-hero .vnum span,.verdict-hero .vnum small{color:#D4D7F5;font-size:.78rem}
.verdict-hero .vnum.vnum-lead{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:12px}
.verdict-hero .vnum.vnum-lead .num{font-size:2.6rem}
.verdict-hero #intent-raw{display:inline-flex;gap:6px;align-items:baseline;padding:2px 8px;border-radius:999px;border:1px dashed rgba(255,255,255,.35)}
.verdict-hero #intent-raw bdi{color:#fff;font-weight:700}
.verdict-hero .verdict-barrier{margin-block-start:12px;padding:12px 14px;border-radius:14px;background:rgba(242,169,59,.12);border:1px solid rgba(242,169,59,.45);color:#fff;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.verdict-hero .verdict-barrier b{color:#FFD9A0}
.verdict-hero .prov{filter:none}
.verdict-hero .chip{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.verdict-hero .cal-line{margin:10px 0 0}
#verdict .verdict-changers,#verdict .verdict-next{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-rlg);padding:14px 16px;margin-block:12px}
#verdict .verdict-changers h3,#verdict .verdict-next h3{margin-block:0 8px;font-size:1rem;display:flex;align-items:center;gap:8px}
#verdict .verdict-next{border-inline-start:4px solid var(--c-signal)}
#verdict .next-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
#verdict .next-grid>div{background:var(--c-surface2);border-radius:12px;padding:8px 10px}
#verdict .verdict-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.evidence-nav{display:flex;gap:8px;overflow-x:auto;padding-block:6px 10px;margin-block:4px 6px;scrollbar-width:thin;position:sticky;inset-block-start:0;background:var(--c-surface);z-index:3}
.evidence-nav a{flex:none;font-size:.82rem;padding:6px 12px;border-radius:999px;border:1px solid var(--c-line);color:var(--c-ink);text-decoration:none;background:var(--c-surface)}
.evidence-nav a:hover,.evidence-nav a:focus-visible{border-color:var(--c-signal);color:var(--c-signal)}
.evidence-nav .lbl{flex:none;font-size:.75rem;color:var(--c-muted);align-self:center}

/* ---------- tests list */
.tests-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-block-end:14px}
.tcards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.tcards .tcard{display:flex;flex-direction:column;gap:8px;block-size:100%;padding:16px;border-radius:var(--c-rlg);border:1px solid var(--c-line);background:var(--c-surface);text-decoration:none;color:var(--c-ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.tcards .tcard:hover,.tcards .tcard:focus-visible{border-color:var(--c-signal);box-shadow:var(--c-glow)}
.tcards .tcard.running{border-inline-start:4px solid var(--c-cyan)}
.tcards .tcard.error{border-inline-start:4px solid var(--c-risk)}
.tcard-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.tcard-name{font-weight:700;font-size:1.02rem;line-height:1.4}
.tcard-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.8rem;color:var(--c-muted)}
.tcard-nums{display:flex;gap:14px;flex-wrap:wrap;margin-block-start:auto;padding-block-start:8px;border-block-start:1px solid var(--c-line)}
.tcard-nums>div{display:flex;flex-direction:column;gap:2px;font-size:.75rem;color:var(--c-muted)}
.tcard-nums b{font-size:1.15rem;color:var(--c-ink)}
.tcard-go{font-size:.8rem;color:var(--c-signal);font-weight:600;margin-block-start:auto}
.empty.v8.c-empty{text-align:center;padding:32px 18px;border-radius:var(--c-rxl);background:var(--c-night);color:#E8EAFF;box-shadow:var(--c-glow);background-image:radial-gradient(circle at 1px 1px,rgba(123,140,255,.18) 1px,transparent 0);background-size:22px 22px}
.empty.v8.c-empty h2{color:#fff}
.empty.v8.c-empty .muted{color:#BFC4EC !important}

/* ---------- account / workspace / billing / admin */
.app-page{max-inline-size:960px;margin-inline:auto}
.app-page .panel{border-radius:var(--c-rlg);border:1px solid var(--c-line)}
.app-page .kb-hero{border-radius:var(--c-rxl)}
.app-page .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.app-page .kpi{background:var(--c-surface2);border-radius:14px;padding:12px}
.app-page .kpi .v{font-size:1.5rem;font-weight:700;color:var(--c-ink)}
.app-page .table-wrap{overflow-x:auto}

/* ---------- small screens */
@media (max-width:560px){
  .verdict-hero{padding:16px}
  .verdict-hero .verdict-nums{grid-template-columns:1fr 1fr}
  .verdict-hero .vnum .num{font-size:1.4rem}
  .tcards{grid-template-columns:1fr}
  .composer .ask{padding:14px 12px 10px}
  #verdict .verdict-actions>*{inline-size:100%}
  #verdict .verdict-actions .btn-primary-lg,#verdict .verdict-actions .btn{inline-size:100%;text-align:center;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .c-dot.live,.run-card .tl-step.running::before{animation:none}
  .run-meter.c-sweep::after,.wait-bar::after{animation:none;display:none}
  .run-meter>i,.tcards .tcard,.composer .ask{transition:none}
}
@media print{
  .evidence-nav,.composer-ready{display:none !important}
  .verdict-hero{background:#fff !important;color:#000 !important;box-shadow:none;background-image:none;border:1px solid #999}
  .verdict-hero *{color:#000 !important;text-shadow:none !important}
}

/* ---------- decision file (screen); print rules live in style.css .print-page */
.df-toolbar{position:sticky;inset-block-start:0;z-index:3;background:var(--c-surface);padding-block:8px;border-block-end:1px solid var(--c-line);flex-wrap:wrap;gap:8px}
.df-toolbar .row{flex-wrap:wrap}
.decision-file{border-radius:var(--c-rxl)}
.decision-file>section{border-block-start:1px solid var(--c-line);padding-block:14px}
.decision-file .dr-verdict{border-block-start:0;background:var(--c-surface2);border-radius:var(--c-rlg);padding:16px;border-inline-start:4px solid var(--c-signal)}
@media (max-width:560px){.decision-file>header{flex-direction:column;align-items:flex-start}.decision-file>header>div[style]{text-align:start !important}}
@media print{.df-toolbar{display:none !important}.decision-file .dr-verdict{background:#fff;border:1px solid #999}}

/* the verdict section becomes a stack: hero card, then changers / next test / actions as their own cards */
#verdict.verdict{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.verdict-hero .verdict-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
.verdict-hero .vnum span.prov,.verdict-hero .prov,.verdict-hero .prov *{color:#15133D}
.verdict-hero .vnum span.prov{font-size:.72rem}
