:root{
  --bg:#0b1220;
  --panel:#111a2b;
  --panel-2:#162235;
  --border:#2a3952;
  --text:#e8eef8;
  --muted:#a8b6cc;
  --good:#1f9d5c;
  --warn:#c58a17;
  --bad:#c43d3d;
  --accent:#4f8cff;
  --accent-2:#7db2ff;
  --shadow:0 10px 28px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
body{min-height:100vh}
.shell{max-width:1040px;margin:0 auto;padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
h1,h2{margin:0}
h1{font-size:30px;line-height:1.1}
h2{font-size:18px}
.sub{margin:8px 0 0;color:var(--muted)}
.card{
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--shadow);
  margin-bottom:18px;
}
.label,.k,.section-title{font-weight:700;color:#d7e4f7}
.label{display:block;margin:0 0 8px}
.select,.textarea{
  width:100%;
  background:#0d1524;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  outline:none;
}
.select{margin-bottom:14px}
.textarea{resize:vertical;min-height:132px}
.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,140,255,.18)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn{
  appearance:none;border:1px solid var(--border);background:#13203a;color:var(--text);
  border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer
}
.btn:hover{border-color:var(--accent-2)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.primary{background:linear-gradient(180deg,var(--accent),#356fd8);border-color:#356fd8;color:#fff}
.btn.small{padding:8px 12px;font-size:13px}
.pill{
  padding:8px 12px;border-radius:999px;border:1px solid var(--border);
  font-weight:700;white-space:nowrap
}
.pill.ok{background:rgba(31,157,92,.18);color:#c8f2da;border-color:rgba(31,157,92,.45)}
.pill.warn{background:rgba(197,138,23,.18);color:#ffe7a6;border-color:rgba(197,138,23,.45)}
.pill.bad{background:rgba(196,61,61,.18);color:#ffd2d2;border-color:rgba(196,61,61,.45)}
.timing{margin-top:12px;color:var(--accent-2);font-weight:700}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.kv-grid{display:grid;grid-template-columns:1fr;gap:14px}
.state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.kv,.state-box{
  background:#0d1524;border:1px solid var(--border);border-radius:14px;padding:12px
}
.v{margin-top:6px;color:var(--text);word-break:break-word}
.v.strong{font-size:20px;font-weight:800}
.mono,.path,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.path-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.path-list li{
  background:#0d1524;border:1px solid var(--border);border-radius:12px;padding:10px 12px;
  word-break:break-all
}
.report-grid{display:grid;grid-template-columns:1fr;gap:12px}
.section{margin-top:18px}
.raw{margin-top:18px}
.raw summary{cursor:pointer;font-weight:700;color:#d7e4f7}
pre{
  margin:10px 0 0;padding:14px;border-radius:14px;background:#08101d;color:#d9e7fb;
  border:1px solid var(--border);overflow:auto;white-space:pre-wrap
}
.error-card{border-color:rgba(196,61,61,.55);background:linear-gradient(180deg,#2b1316,#241013)}
.error-text{margin-top:8px;color:#ffd2d2;font-weight:700}
.result-card.state-completed{border-color:rgba(31,157,92,.55)}
.result-card.state-needs_input{border-color:rgba(197,138,23,.55)}
.result-card.state-failed{border-color:rgba(196,61,61,.55)}
@media (max-width:820px){
  .shell{padding:16px}
  .topbar{flex-direction:column}
  .state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .state-grid{grid-template-columns:1fr}
}

.outputs-scrollbox{
  max-height: 280px;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(255,255,255,.03);
  overscroll-behavior: contain;
}
.outputs-scrollbox .path-list{
  margin: 0;
  padding-left: 18px;
}
.outputs-scrollbox .path-list li{
  overflow-wrap: anywhere;
  word-break: break-word;
  margin: 0 0 6px 0;
}

.auth-section{
  border: 1px solid rgba(255,180,80,.28);
  background: rgba(255,180,80,.06);
}
.auth-message{
  margin-top: 8px;
  margin-bottom: 12px;
  line-height: 1.45;
  color: rgba(255,255,255,.92);
}


/* workflow valet brand */
.brand-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand-copy{
  min-width:0;
}
.brand-logo{
  width:64px;
  height:64px;
  object-fit:contain;
  border-radius:12px;
  flex:0 0 auto;
}
@media (max-width: 720px){
  .brand-logo{
    width:52px;
    height:52px;
  }
}

/* === Workflow Valet pricing section start === */
:root {
  --wv-bg: #f5f7fb;
  --wv-surface: #ffffff;
  --wv-surface-2: #eef3f9;
  --wv-text: #0f172a;
  --wv-text-soft: #475569;
  --wv-line: #dbe4f0;
  --wv-primary: #123b67;
  --wv-primary-2: #1d5a96;
  --wv-accent: #f59e0b;
  --wv-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  --wv-radius: 24px;
}

.wv-pricing {
  padding: 88px 20px;
  background:
    radial-gradient(circle at top, rgba(29, 90, 150, 0.08), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, var(--wv-bg) 100%);
  color: var(--wv-text);
}

.wv-wrap {
  max-width: 1240px;
  margin: 0 auto;
}

.wv-section-head {
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: center;
}

.wv-eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(18, 59, 103, 0.08);
  color: var(--wv-primary);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.wv-section-head h2 {
  margin: 0 0 12px;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.06;
}

.wv-section-head p {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--wv-text-soft);
}

.wv-pricing-grid,
.wv-access-options {
  display: grid;
  gap: 24px;
}

.wv-pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 28px;
}

.wv-access-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wv-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid var(--wv-line);
  border-radius: var(--wv-radius);
  box-shadow: var(--wv-shadow);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.wv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.12);
  border-color: rgba(29, 90, 150, 0.26);
}

.wv-card-featured {
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow:
    0 22px 60px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(245, 158, 11, 0.12) inset;
}

.wv-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--wv-accent);
  color: #111827;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.wv-robot-wrap {
  padding: 34px 28px 8px;
  text-align: center;
  background:
    radial-gradient(circle at top, rgba(29, 90, 150, 0.09), transparent 45%),
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(248,250,252,1) 100%);
}

.wv-robot {
  width: 100%;
  max-width: 320px;
  height: auto;
  display: inline-block;
  object-fit: contain;
}

.wv-card-body {
  padding: 12px 28px 30px;
}

.wv-card h3 {
  margin: 0 0 10px;
  font-size: 1.5rem;
  line-height: 1.2;
}

.wv-price {
  margin-bottom: 12px;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--wv-primary);
}

.wv-price span {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--wv-text-soft);
}

.wv-price-muted {
  font-size: 1.05rem;
  line-height: 1.4;
  letter-spacing: 0;
  color: var(--wv-text-soft);
}

.wv-desc {
  margin: 0 0 18px;
  color: var(--wv-text-soft);
  line-height: 1.65;
}

.wv-features {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: grid;
  gap: 10px;
}

.wv-features li {
  position: relative;
  padding-left: 26px;
  color: var(--wv-text);
  line-height: 1.5;
}

.wv-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--wv-accent), #ffbf47);
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.14);
  transform: translateY(-50%);
}

.wv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  width: 100%;
  padding: 0 18px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 800;
  transition: transform 0.18s ease, opacity 0.18s ease, background 0.18s ease;
}

.wv-btn:hover {
  transform: translateY(-1px);
}

.wv-btn-primary {
  background: linear-gradient(180deg, var(--wv-primary-2), var(--wv-primary));
  color: #fff;
}

.wv-btn-secondary {
  background: var(--wv-surface-2);
  color: var(--wv-primary);
  border: 1px solid var(--wv-line);
}

.wv-card-access {
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
}

@media (max-width: 1080px) {
  .wv-pricing-grid {
    grid-template-columns: 1fr;
  }

  .wv-access-options {
    grid-template-columns: 1fr;
  }

  .wv-robot {
    max-width: 360px;
  }
}

@media (max-width: 640px) {
  .wv-pricing {
    padding: 72px 16px;
  }

  .wv-card-body,
  .wv-robot-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }

  .wv-card-body {
    padding-bottom: 22px;
  }

  .wv-section-head {
    margin-bottom: 28px;
  }

  .wv-card h3 {
    font-size: 1.32rem;
  }
}
/* === Workflow Valet pricing section end === */


/* === pricing image normalization fix === */
.wv-robot-wrap {
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wv-robot {
  max-height: 180px;
  width: auto;
  object-fit: contain;
}


/* === workflow valet pricing card alignment fix === */
.wv-pricing-grid,
.wv-access-options{
  align-items: stretch;
}

.wv-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wv-robot-wrap{
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wv-robot{
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 180px;
  object-fit: contain;
}

.wv-card-body{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.wv-features{
  flex: 1 1 auto;
}

.wv-btn{
  margin-top: auto;
}



/* === workflow valet pricing card alignment fix v2 === */
.wv-pricing-grid,
.wv-access-options{
  align-items: stretch;
}

.wv-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.wv-robot-wrap{
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 20px 8px;
}

.wv-robot{
  display:block;
  width:auto;
  max-width:100%;
  max-height:170px;
  object-fit:contain;
}

.wv-card-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}

.wv-features{
  flex:1 1 auto;
}

.wv-btn{
  margin-top:auto;
}

