:root{color-scheme:dark;--bg:#08101d;--panel:#121b2f;--panel2:#172440;--line:#2b3b61;--text:#f6f8fb;--muted:#aeb9cc;--brand:#7bd9ff;--good:#56d98f;--warn:#ffd166;--bad:#ff6f82;--shadow:0 14px 40px rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{padding-bottom:32px}button,input,select,textarea{font:inherit;max-width:100%}button{border:0;border-radius:14px;background:linear-gradient(135deg,#5bc9ff,#8bf0c0);color:#06111f;font-weight:800;padding:12px 14px;min-height:44px}button.secondary{background:#223456;color:var(--text);border:1px solid var(--line)}button.applyBtn{background:linear-gradient(135deg,#55d68a,#c0ff7a)}button:disabled{opacity:.45;filter:grayscale(.5)}a{color:var(--brand)}main{width:min(100%,1180px);margin:0 auto;padding:12px}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:rgba(8,16,29,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-size:1.35rem;margin-bottom:2px}h2{font-size:1.2rem;margin-bottom:6px}.eyebrow{margin:0 0 3px;color:var(--brand);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.subtle,.hint,small{color:var(--muted)}.livebar,.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0}.livebar>div,.stat,.bridge-panel,.job-card,.detail,.add-panel,.run-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.livebar>div,.stat{padding:10px}.livebar strong,.stat strong{display:block;font-size:1.08rem}.livebar span,.stat span{display:block;color:var(--muted);font-size:.78rem}.live.ok strong{color:var(--good)}.live.stale strong{color:var(--warn)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.tab{background:#172440;color:var(--text);border:1px solid var(--line)}.tab.active{background:linear-gradient(135deg,#5bc9ff,#8bf0c0);color:#06111f}.bridge-panel{padding:14px;margin:10px 0}.search-request-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.search-request-form button{grid-column:1/-1}.search-request-form label,.grid-form label{display:grid;gap:5px;color:var(--muted);font-size:.85rem}input,select,textarea{width:100%;border-radius:13px;border:1px solid var(--line);background:#0c1527;color:var(--text);padding:11px}textarea{min-height:96px}.run-status{margin-top:12px}.run-card{padding:11px;margin:8px 0;background:var(--panel2)}.run-card p{margin:.25rem 0}.error{color:var(--bad)}.controls{display:grid;grid-template-columns:1fr 190px;gap:9px;margin:12px 0}.layout{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:12px}.job-list{display:grid;gap:9px;align-content:start}.job-card{width:100%;display:block;text-align:left;color:var(--text);padding:12px;background:var(--panel)}.job-card.active{outline:2px solid var(--brand)}.row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.role,.meta{display:block;margin-top:4px;color:var(--muted)}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#26375c;color:var(--text);font-size:.72rem;font-weight:800;white-space:nowrap}.pill.ready_to_apply,.pill.complete{background:#19492f;color:#bbffd7}.pill.interested_prep,.pill.running,.pill.reviewing{background:#4d3e16;color:#ffdf88}.pill.incomplete,.pill.suppressed{background:#572332;color:#ffc1ca}.detail{padding:14px;min-width:0}.section{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.kv{display:grid;grid-template-columns:95px 1fr;gap:7px 10px}.kv dt{color:var(--muted)}.kv dd{margin:0}.refline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#07101f;border:1px solid var(--line);border-radius:12px;padding:7px 9px}.small{min-height:34px;padding:7px 10px}.materials{display:grid;gap:8px}.material-card{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#0c1527;overflow-wrap:anywhere}.statusRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.instruction{border:1px solid var(--line);border-radius:14px;background:#0c1527;padding:10px;margin:8px 0}.add-panel{margin-top:12px;padding:12px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.grid-form .wide{grid-column:1/-1}.empty{color:var(--muted);padding:12px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#f6f8fb;color:#06111f;padding:10px 14px;border-radius:999px;font-weight:800;box-shadow:var(--shadow);z-index:20;max-width:calc(100vw - 24px);text-align:center}@media(max-width:760px){main{padding:10px}.topbar{align-items:flex-start}.topbar button{padding:9px 11px;min-height:38px}.livebar,.summary{grid-template-columns:1fr 1fr}.controls,.layout,.search-request-form,.grid-form{grid-template-columns:1fr}.detail{padding:12px}.statusRow{grid-template-columns:1fr}.kv{grid-template-columns:86px 1fr}.tabs{position:sticky;top:78px;z-index:4;background:var(--bg);padding:6px 0}.bridge-panel,.detail,.job-card{border-radius:16px}}
.detailTop{display:flex;justify-content:flex-start;margin-bottom:10px}.backBtn{display:none}.actionPanel{border:1px solid var(--line);background:#0d1a30;border-radius:16px;padding:12px;margin-top:12px}.actionPanel h3{margin-bottom:10px}@media(max-width:760px){.detail{scroll-margin-top:86px}.backBtn{display:inline-flex}.actionPanel{position:relative;box-shadow:0 10px 28px rgba(0,0,0,.24)}.actionPanel .statusRow{grid-template-columns:1fr}.job-card{scroll-margin-top:94px}}

.inline-detail{margin:-2px 0 12px 0;border-color:var(--brand);background:#0d1a30}.inlineDetailBody h2{font-size:1.08rem}.mobileOnlyHint{display:none}@media(max-width:760px){.layout{display:block}.layout>.detail:not(.inline-detail){display:none}.inline-detail{display:block;padding:12px;scroll-margin-top:94px}.job-card.active{border-color:var(--brand);border-bottom-left-radius:8px;border-bottom-right-radius:8px}.inline-detail .detailTop{display:none}.inline-detail .actionPanel{margin-top:10px}.inline-detail textarea{min-height:78px}}


/* Mobile accordion v2: make expanded details visually distinct and stable. */
@media(max-width:760px){
  .inline-detail{
    position:relative;
    margin:6px 0 18px 0;
    padding:16px 12px 18px 16px;
    border:2px solid #3be7ff;
    border-left:7px solid #3be7ff;
    border-radius:8px 22px 22px 8px;
    background:linear-gradient(180deg,#071624 0%,#0a2137 45%,#081522 100%);
    box-shadow:inset 0 0 0 1px rgba(123,217,255,.18),0 18px 42px rgba(0,0,0,.38);
  }
  .inline-detail::before{
    content:'EXPANDED DETAILS / ACTIONS';
    display:block;
    margin:0 0 10px 0;
    color:#08101d;
    background:#7bd9ff;
    border-radius:999px;
    padding:6px 10px;
    width:max-content;
    max-width:100%;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.13em;
  }
  .inline-detail::after{
    content:'';
    position:absolute;
    left:17px;
    top:-8px;
    width:18px;
    height:18px;
    background:#071624;
    border-left:2px solid #3be7ff;
    border-top:2px solid #3be7ff;
    transform:rotate(45deg);
  }
  .inline-detail .section{
    background:rgba(3,11,24,.62);
    border:1px solid rgba(123,217,255,.38);
  }
  .inline-detail .actionPanel{
    background:rgba(20,43,74,.86);
    border:1px solid rgba(123,217,255,.55);
  }
  .job-card.active{
    border-color:#3be7ff;
    box-shadow:0 0 0 2px rgba(59,231,255,.22),0 12px 28px rgba(0,0,0,.32);
  }
}


/* Mobile accordion v3: lighter detail bubble shell, inner cards stay readable. */
@media(max-width:760px){
  .inline-detail{
    background:linear-gradient(180deg,#183457 0%,#173153 48%,#112844 100%);
    border-color:#7bd9ff;
    border-left-color:#7bd9ff;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 18px 42px rgba(0,0,0,.34);
  }
  .inline-detail::after{
    background:#183457;
    border-left-color:#7bd9ff;
    border-top-color:#7bd9ff;
  }
  .inline-detail .section{
    background:rgba(5,16,32,.78);
    border-color:rgba(123,217,255,.42);
  }
  .inline-detail .actionPanel{
    background:rgba(9,27,51,.82);
    border-color:rgba(123,217,255,.58);
  }
  .inline-detail .kv,
  .inline-detail .material-card,
  .inline-detail .instruction,
  .inline-detail textarea{
    background:rgba(4,13,27,.72);
  }
}


/* Action flow v2: primary sequence first, secondary decisions below. */
.actionPanel .workflowHint{margin:0 0 12px;color:var(--muted);font-size:.92rem;line-height:1.35}
.actionPanel .primaryActions{display:grid;gap:10px;margin-bottom:12px}
.actionPanel .secondaryActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(123,217,255,.22)}
button.danger{background:#3a2230;color:#ffd7df;border:1px solid rgba(255,111,130,.5)}
.v2panel{border-color:rgba(139,240,192,.36);background:rgba(11,31,42,.55)}
.v2row{padding:10px;border:1px solid rgba(123,217,255,.2);border-radius:12px;background:rgba(4,13,27,.42);margin:8px 0}.v2row p{margin:6px 0 0}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;margin:0 4px 4px 0;background:#223456;color:var(--text);border:1px solid var(--line);font-size:.72rem;font-weight:800}.chip.confirmed,.chip.pass,.chip.good,.chip.direct_verified{background:rgba(86,217,143,.16);border-color:rgba(86,217,143,.55);color:#b8ffd5}.chip.warn,.chip.needs_human_check,.chip.needs_repair,.chip.pending{background:rgba(255,209,102,.16);border-color:rgba(255,209,102,.55);color:#ffe8a3}.chip.failed,.chip.fail,.chip.blocked{background:rgba(255,111,130,.16);border-color:rgba(255,111,130,.55);color:#ffd7df}
@media(max-width:760px){
  .actionPanel .primaryActions{grid-template-columns:1fr}
  .actionPanel .secondaryActions{grid-template-columns:1fr}
  .actionPanel .hint{margin:4px 0 0;font-size:.95rem}
}

/* V2 command center cutover */
.v2-command{margin:12px 0;padding:14px;border:1px solid rgba(123,217,255,.45);border-radius:22px;background:linear-gradient(135deg,rgba(15,48,76,.92),rgba(14,35,62,.88));box-shadow:var(--shadow)}
.v2hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.v2hero h2{margin:0 0 6px;font-size:1.28rem}.v2mode{min-width:140px;text-align:center;border:1px solid rgba(255,209,102,.45);border-radius:16px;padding:10px;background:rgba(255,209,102,.12);color:#ffe8a3;font-weight:800}.v2mode strong{display:block;color:#fff;font-size:1rem;margin-top:3px}.v2tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.v2tile{padding:10px;border-radius:16px;background:rgba(3,11,24,.55);border:1px solid rgba(123,217,255,.25)}.v2tile strong{display:block;font-size:1.35rem;color:#8bf0c0}.v2tile span{display:block;font-weight:900}.v2tile small{display:block;color:var(--muted);font-size:.75rem}.v2queue{margin-top:12px}.v2queue h3{margin-bottom:8px}.v2queue-card{display:block;width:100%;text-align:left;margin:8px 0;padding:12px;border-radius:16px;background:rgba(139,240,192,.12);color:var(--text);border:1px solid rgba(139,240,192,.45)}.v2queue-card strong,.v2queue-card span,.v2queue-card small{display:block}.v2queue-card small{color:var(--muted);margin-top:4px}.pill.pass{background:rgba(86,217,143,.18);border-color:rgba(86,217,143,.6);color:#b8ffd5}.pill.blocked{background:rgba(255,111,130,.18);border-color:rgba(255,111,130,.6);color:#ffd7df}.job-card .pill.pass,.job-card .pill.blocked{font-size:.72rem}.controls select option[value="v2_action"],.controls select option[value="v2_review_ready"],.controls select option[value="v2_blocked"]{font-weight:900}
@media(max-width:900px){.v2tiles{grid-template-columns:repeat(2,1fr)}.v2hero{display:block}.v2mode{margin-top:10px;text-align:left}}
@media(max-width:520px){.v2tiles{grid-template-columns:1fr}.v2-command{padding:12px;border-radius:18px}.v2hero h2{font-size:1.1rem}}

/* Search request clear controls */
.run-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.run-head h3{margin:0}.run-head button{white-space:nowrap}
@media(max-width:520px){.run-head{align-items:flex-start}.run-head button{font-size:.85rem;padding:8px 10px}}
