:root{
  --run-shell-width:1320px;
  --run-bg:#09111a;
  --run-bg-2:#0e1824;
  --run-panel:#111c2a;
  --run-panel-2:#152334;
  --run-line:rgba(255,255,255,.1);
  --run-line-strong:rgba(122,167,255,.24);
  --run-text:#eef4ff;
  --run-muted:rgba(238,244,255,.72);
  --run-soft:rgba(238,244,255,.56);
  --run-accent:#78a9ff;
  --run-accent-2:#9ec5ff;
  --run-good:#4ade80;
  --run-warn:#fbbf24;
  --run-bad:#f87171;
  --run-shadow:0 28px 80px rgba(0,0,0,.34);
  --run-radius:22px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.run-route-page{
  min-height:100vh;
  color:var(--run-text);
  background:
    radial-gradient(900px 500px at 10% -10%,rgba(74,120,255,.18),transparent 60%),
    radial-gradient(900px 500px at 110% -10%,rgba(31,92,147,.16),transparent 60%),
    linear-gradient(180deg,#071019 0%, #0b121c 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.demo-pin-locked{
  overflow:hidden;
}

body.run-route-page .header{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(14px);
  background:
    linear-gradient(180deg,rgba(7,16,25,.94),rgba(7,16,25,.84)),
    radial-gradient(700px 240px at 14% -20%,rgba(130,182,255,.18),transparent 62%),
    radial-gradient(640px 220px at 88% -30%,rgba(90,224,255,.12),transparent 58%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}

body.run-route-page .header-inner{
  max-width:var(--run-shell-width);
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

body.run-route-page .nav-panel .container{
  max-width:var(--run-shell-width);
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

.run-route-shell{
  max-width:var(--run-shell-width);
  margin:0 auto;
  padding:24px;
}

.run-shell-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:18px 22px;
  border:1px solid rgba(158,197,255,.16);
  border-radius:24px;
  background:
    radial-gradient(720px 220px at 12% -20%,rgba(120,169,255,.16),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  box-shadow:var(--run-shadow);
}

.run-shell-kicker{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--run-soft);
  margin-bottom:8px;
}

.run-shell-title{
  font-size:1.8rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.run-shell-subtitle{
  margin-top:8px;
  color:var(--run-muted);
  max-width:560px;
  line-height:1.4;
}

.run-top-status{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-width:340px;
}

.run-top-pill{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.18);
  padding:12px 14px;
}

.run-top-pill-k{
  font-size:.65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--run-soft);
}

.run-top-pill-v{
  margin-top:8px;
  font-weight:800;
}

.run-flow-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.run-flow-item{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.18);
  padding:12px 14px;
}

.run-flow-item.is-live{border-color:rgba(74,222,128,.28);background:rgba(74,222,128,.08)}
.run-flow-item.is-ready{border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.08)}
.run-flow-k{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--run-soft)}
.run-flow-v{margin-top:8px;font-weight:800}

.run-tile-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}

.run-mode-tile{
  display:block;
  border:1px solid var(--run-line);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.12));
  padding:18px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.run-mode-tile:hover,.run-mode-tile.active{
  transform:translateY(-1px);
  border-color:var(--run-line-strong);
  background:linear-gradient(180deg,rgba(122,167,255,.14),rgba(0,0,0,.14));
}

.run-mode-k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--run-soft)}
.run-mode-v{margin-top:10px;font-size:1.2rem;font-weight:900}
.run-mode-sub{margin-top:8px;color:var(--run-muted);line-height:1.45}

.run-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(330px,.9fr);
  gap:18px;
  margin-top:18px;
}

.run-main-column,.run-side-column{display:grid;align-content:start;grid-auto-rows:max-content;gap:12px}

.run-panel{
  border:1px solid var(--run-line);
  border-radius:var(--run-radius);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.14));
  box-shadow:var(--run-shadow);
  padding:18px;
}

.run-panel.run-panel-hot{
  border-color:rgba(255,70,70,.95);
  box-shadow:
    0 0 0 1px rgba(255,70,70,.8) inset,
    0 0 18px rgba(255,48,48,.34),
    0 0 42px rgba(255,20,20,.16),
    var(--run-shadow);
}

.run-panel-compact{
  padding:14px 16px;
  align-content:start;
}

.run-session-shell-card{
  min-height:238px;
  max-height:238px;
  display:grid;
  align-content:start;
  gap:10px;
}

.run-session-shell-card .workspace-title,
.run-session-shell-card .run-status,
.run-session-shell-card .stage-rail{
  margin-top:0;
}

.run-session-shell-card .run-chip-row{
  margin-top:0 !important;
}

.run-session-shell-card .run-status{
  min-height:20px;
  line-height:1.25;
}

.run-session-shell-card .stage-rail{
  margin-top:2px;
}

.session-item-scroll{
  max-height:480px;
  overflow-y:auto;
  padding-right:4px;
}

.workspace-kicker,.run-panel-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--run-soft)}
.workspace-title,.run-panel-title{margin-top:8px;font-size:1.45rem;font-weight:900}
.run-panel-compact .workspace-title,
.run-panel-compact .run-panel-title{font-size:1.16rem;margin-top:6px}
.run-panel-copy{margin-top:8px;color:var(--run-muted);line-height:1.55}

.run-chip-row,.run-item-tags,.lookup-chip-row,.phone-mini-row,.reports-kpis,.run-workspace-strip,.phone-flow-actions{display:flex;flex-wrap:wrap;gap:10px}

.run-chip,.run-item-tag,.phone-mini-tag,.result-tag,.run-signal-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--run-line);
  border-radius:999px;
  padding:6px 10px;
  background:rgba(255,255,255,.05);
  font-size:.74rem;
}

.run-chip.ok,.run-signal-pill.good{color:var(--run-good);border-color:rgba(74,222,128,.28)}
.run-chip.warn,.run-signal-pill.warn{color:var(--run-warn);border-color:rgba(251,191,36,.28)}
.run-chip.bad,.run-signal-pill.bad{color:var(--run-bad);border-color:rgba(248,113,113,.28)}

.run-status,.phone-status{
  margin-top:12px;
  min-height:1.4em;
  color:var(--run-soft);
  font-size:.86rem;
}
.run-status.error,.phone-status.error{color:#ffb0b0}

.run-grid-2,.collect-grid,.reports-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.collect-grid{align-items:start}
.collect-column{display:grid;gap:14px}

.run-label{display:block;margin-bottom:8px;font-size:.82rem;color:var(--run-soft)}
.lookup-query-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.run-input,.run-select,.run-textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(0,0,0,.2);
  color:var(--run-text);
  padding:12px 14px;
}
.run-textarea{min-height:108px;resize:vertical}
.field-note{margin-top:6px;font-size:.8rem;color:var(--run-soft);line-height:1.4}

.run-panel-compact .run-grid-2{gap:12px}
.run-panel-compact .run-label{margin-bottom:6px;font-size:.78rem}
.run-panel-compact .run-input,
.run-panel-compact .run-select,
.run-panel-compact .run-textarea{padding:10px 12px}
.run-panel-compact .run-textarea{min-height:76px}
.run-panel-compact .field-note{font-size:.74rem}
.run-panel-compact .phone-flow-actions{margin-top:12px}

.run-plan-stage{
  background:
    radial-gradient(760px 240px at 12% -18%,rgba(120,169,255,.12),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.14));
}

.run-plan-shell{
  display:grid;
  gap:16px;
  margin-top:14px;
}

.run-plan-band{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);
  gap:14px;
}

.run-plan-context-card,
.run-plan-form{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.18);
  padding:16px;
}

.run-plan-context-k{
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--run-soft);
}

.run-plan-context-v{
  margin-top:10px;
  color:var(--run-muted);
  line-height:1.5;
  max-width:42ch;
}

.run-plan-context-grid,
.run-plan-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.run-plan-context-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
}

.run-plan-form .run-input,
.run-plan-form .run-select{
  background:rgba(8,16,25,.74);
}

.btn{
  appearance:none;
  border:none;
  border-radius:14px;
  background:linear-gradient(180deg,var(--run-accent),#5f90eb);
  color:#04111f;
  padding:11px 14px;
  font-weight:900;
  cursor:pointer;
}

.btn.ghost{
  background:rgba(255,255,255,.06);
  color:var(--run-text);
  border:1px solid var(--run-line);
}

.btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.run-list,.phone-mini-list,.run-watch-list,.run-memory-list,.run-action-list,.run-gate-list,.run-signal-list,.result-shell,.evidence-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.run-panel-compact .phone-mini-list,
.run-panel-compact .run-list{margin-top:10px}

.run-item,.phone-mini-item,.run-watch-item,.run-action-item,.run-gate-item,.run-signal-item,.result-card,.evidence-item{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.18);
  padding:14px;
}

.run-panel-compact .phone-mini-item,
.run-panel-compact .run-item{
  padding:10px 12px;
}

.run-item-top,.run-watch-top,.run-gate-head,.run-signal-head,.result-headline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.run-item-title,.run-watch-title,.run-gate-title,.phone-mini-title,.result-title,.run-signal-label{
  font-weight:800;
}

.run-item-sub,.run-watch-copy,.run-gate-copy,.phone-mini-sub,.result-pkg,.run-signal-body,.run-action-item{
  margin-top:8px;
  color:var(--run-muted);
  line-height:1.5;
}

.run-panel-guide-fixed{
  height: 700px;
  max-height: 700px;
  display: flex;
  flex-direction: column;
}

.run-panel-guide-fixed .run-signal-list,
.run-panel-guide-fixed .run-memory-list{
  flex: 0 0 auto;
}

.run-panel-guide-fixed #runAiPrompt{
  min-height: 82px;
  max-height: 82px;
}

.run-panel-guide-fixed #runAiResultShell{
  flex: 1 1 auto;
  min-height: 0;
  max-height: 280px;
  overflow-y: auto;
}

.run-panel-guide-fixed #runAiResultShell .result-card{
  min-height: 0;
}

.run-empty{
  border:1px dashed var(--run-line);
  border-radius:18px;
  padding:14px;
  margin-top:12px;
  color:var(--run-muted);
  background:rgba(0,0,0,.14);
}

.stage-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.run-panel-compact .stage-rail{margin-top:12px}

.stage-rail-btn{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.16);
  color:var(--run-text);
  padding:12px;
  text-align:left;
}

.run-panel-compact .stage-rail-btn{padding:10px 12px}

.stage-rail-btn.active{
  border-color:var(--run-line-strong);
  background:rgba(122,167,255,.1);
}

.stage-rail-k{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--run-soft)}
.stage-rail-v{margin-top:8px;font-weight:800}
.phone-stage{display:none}
.phone-stage.active{display:block;margin-top:0;align-self:start}

.lookup-chip{
  border:1px solid var(--run-line);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:var(--run-text);
  padding:8px 12px;
}
.lookup-chip.active{border-color:var(--run-line-strong);background:rgba(122,167,255,.12)}

.lookup-selection-bar{
  position:sticky;
  bottom:14px;
  border:1px solid var(--run-line-strong);
  border-radius:18px;
  background:rgba(8,16,25,.92);
  backdrop-filter:blur(10px);
  padding:12px 14px;
  margin-top:14px;
}

.lookup-toolbar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
  margin-bottom:12px;
}

.lookup-result-summary{
  margin-bottom:12px;
  color:var(--run-soft);
  font-size:.86rem;
}

.lookup-group{
  display:grid;
  gap:10px;
}

.lookup-group-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:6px;
}

.lookup-group-title{
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--run-soft);
}

.reports-kpi{
  min-width:140px;
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.16);
  padding:12px 14px;
}
.reports-kpi-k{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--run-soft)}
.reports-kpi-v{margin-top:8px;font-size:1.3rem;font-weight:900}
.settings-section-title{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--run-soft)}

.result-state,.result-brand{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--run-accent-2)}
.result-brand-bar{height:4px;border-radius:999px;background:var(--brand-color, var(--run-accent));margin:-2px 0 12px}
.result-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.result-lifecycle{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.72rem}
.lifecycle-verified{background:rgba(74,222,128,.14);color:var(--run-good)}
.lifecycle-awaiting_review,.lifecycle-provisionally_verified{background:rgba(251,191,36,.14);color:var(--run-warn)}
.lifecycle-inactive,.lifecycle-flagged{background:rgba(248,113,113,.14);color:var(--run-bad)}

.active-store-bar,.bucket-strip,.gate-bar-wrap{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.16);
  padding:12px 14px;
}

.bucket-strip{display:flex;flex-wrap:wrap;gap:8px}
.bucket-chip-btn{
  border:1px solid var(--run-line);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:var(--run-text);
  padding:8px 12px;
}
.bucket-chip-btn.active{border-color:var(--run-line-strong);background:rgba(122,167,255,.12)}

.gate-bar{
  height:10px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  margin-top:10px;
}
.gate-bar-fill{height:100%;background:linear-gradient(90deg,var(--run-accent),var(--run-good))}
.gate-bar-fill.full{background:linear-gradient(90deg,var(--run-warn),var(--run-bad))}

.session-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(4,10,16,.78);
  display:grid;
  place-items:center;
  padding:24px;
  z-index:80;
}

.session-modal-overlay[hidden]{
  display:none !important;
}

.session-modal{
  width:min(620px,100%);
  border:1px solid var(--run-line);
  border-radius:24px;
  background:linear-gradient(180deg,var(--run-panel-2),var(--run-panel));
  padding:22px;
  box-shadow:var(--run-shadow);
}

.session-modal-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:14px;
}

.session-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

.session-item-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.session-item-editor{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.session-item-editor .run-label{
  margin-bottom:6px;
}

.session-item-editor .run-input,
.session-item-editor .run-select{
  padding:10px 12px;
}

.run-detail-fold{
  margin-top:12px;
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.14);
  overflow:hidden;
}

.run-detail-summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--run-soft);
}

.run-detail-summary::-webkit-details-marker{display:none}

.run-detail-body{
  padding:0 14px 14px;
}

.lookup-attach-task-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.lookup-attach-task{
  border:1px solid var(--run-line);
  border-radius:18px;
  background:rgba(0,0,0,.14);
  overflow:hidden;
}

.lookup-attach-task[open]{
  border-color:rgba(158,197,255,.22);
}

.lookup-attach-summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.lookup-attach-summary::-webkit-details-marker{display:none}

.lookup-attach-head{
  display:grid;
  gap:6px;
}

.lookup-attach-title{
  font-weight:900;
}

.lookup-attach-sub{
  color:var(--run-muted);
  font-size:.82rem;
  line-height:1.35;
}

.lookup-attach-check{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:6px 10px;
  font-size:.74rem;
  font-weight:800;
  color:var(--run-soft);
  background:rgba(255,255,255,.04);
}

.lookup-attach-check.is-done{
  color:var(--run-good);
  border-color:rgba(74,222,128,.32);
  background:rgba(74,222,128,.08);
}

.lookup-attach-body{
  padding:0 16px 16px;
}

.demo-pin-gate{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(4,10,16,.82);
  backdrop-filter:blur(12px);
}

.demo-pin-card{
  width:min(420px,100%);
  border:1px solid var(--run-line);
  border-radius:24px;
  background:linear-gradient(180deg,var(--run-panel-2),var(--run-panel));
  box-shadow:var(--run-shadow);
  padding:22px;
}

.demo-pin-kicker{
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--run-soft);
}

.demo-pin-title{
  margin-top:8px;
  font-size:1.4rem;
  font-weight:900;
}

.demo-pin-copy{
  margin:10px 0 14px;
  color:var(--run-muted);
  line-height:1.45;
}

@media (max-width: 1100px){
  .run-main-grid{grid-template-columns:1fr}
  .run-top-status{min-width:0}
}

@media (max-width: 820px){
  .run-route-shell{padding:16px}
  body.run-route-page .header-inner,
  body.run-route-page .nav-panel .container{
    padding-left:16px;
    padding-right:16px;
  }
  .run-shell-header{flex-direction:column}
  .run-top-status,.run-flow-strip,.run-tile-grid,.run-grid-2,.collect-grid,.reports-grid,.stage-rail{grid-template-columns:1fr}
  .run-plan-band,.run-plan-context-grid,.run-plan-grid-3{grid-template-columns:1fr}
  .session-item-editor{grid-template-columns:1fr}
  .lookup-toolbar{grid-template-columns:1fr}
}
