:root{--bg-0:#f3f1e7;--bg-1:#e7e2d0;--panel:#fffdf6;--panel-alt:#f1ede2;--ink:#1c1d1b;--muted:#5d5b52;--line:#d2c9b0;--accent:#0c5c47;--accent-soft:#d5eee6;--danger:#9b253a;--warn:#b06d00;--good:#0f7d45;--mono:"IBM Plex Mono","Menlo",monospace;--ui:"Space Grotesk","Avenir Next","Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--ui);background:radial-gradient(90rem 40rem at 100% -10%,#d0decf 0,transparent 45%),radial-gradient(80rem 35rem at -10% 110%,#e4d3b8 0,transparent 45%),linear-gradient(180deg,var(--bg-1),var(--bg-0))}button,input,textarea{font:inherit}button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.55rem .8rem;border-radius:10px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}button:hover:not(:disabled){transform:translateY(-1px);border-color:#b8ab89;box-shadow:0 7px 16px rgb(32 32 26/10%)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{color:#fff;border-color:var(--accent);background:linear-gradient(135deg,#0b674f,#0a4d3d)}button.danger{color:#fff;border-color:var(--danger);background:linear-gradient(135deg,#b02642,#8f1b34)}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.58rem .7rem;background:#fff}input:focus,textarea:focus{outline:2px solid #7eb9a6;border-color:#7eb9a6;outline-offset:1px}h1,h2,h3,p{margin:0}.app-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg,#fdfbf4,#f2ecdd)}.main,.sidebar{padding:1.15rem;display:grid;grid-gap:.9rem;gap:.9rem;align-content:start}.brand-block{display:grid;grid-gap:.3rem;gap:.3rem}.brand-block h2{letter-spacing:.01em}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.section-title{font-size:.98rem;font-weight:700}.small{font-size:.81rem;color:var(--muted)}.mono{font-family:var(--mono)}.panel{border:1px solid var(--line);border-radius:14px;padding:.95rem;background:linear-gradient(180deg,#fffef9,var(--panel))}.lift{box-shadow:0 10px 24px rgb(35 35 28/8%)}.stack{display:grid;grid-gap:.75rem;gap:.75rem}.row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.row.spread{justify-content:space-between}.store-list{display:grid;grid-gap:.65rem;gap:.65rem;max-height:calc(100vh - 300px);overflow:auto;padding-right:.2rem}.store-item{border:1px solid var(--line);border-radius:12px;padding:.75rem;background:#fff;display:grid;grid-gap:.45rem;gap:.45rem}.store-item.active{border-color:#74b59f;background:linear-gradient(180deg,#f6fffb,#f8fffc)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem}.hero h1{font-size:clamp(1.3rem,2.4vw,2rem);letter-spacing:.01em}.hero-status{display:flex;align-items:center;gap:.45rem}.pulse{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgb(15 125 69/50%);animation:ping 2s infinite}@keyframes ping{0%{box-shadow:0 0 0 0 rgb(15 125 69/45%)}70%{box-shadow:0 0 0 10px rgb(15 125 69/0)}to{box-shadow:0 0 0 0 rgb(15 125 69/0)}}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.kpi{display:grid;grid-gap:.35rem;gap:.35rem}.kpi strong{font-size:1.55rem}.tabs{display:flex;gap:.55rem;flex-wrap:wrap}.tab-pill{border-radius:999px;padding-inline:.95rem}.tab-pill.active{color:#fff;border-color:var(--accent);background:linear-gradient(135deg,#0b674f,#0a4d3d)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:650px}.table td,.table th{border-bottom:1px dashed #d8ceb8;text-align:left;vertical-align:top;padding:.55rem .45rem}.table th{color:#4f4e45;font-weight:700}.badge{display:inline-block;border:1px solid var(--line);background:#f7f3e8;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;text-transform:capitalize}.badge-active{border-color:#8ac2ac;background:var(--accent-soft);color:#114d3b}.status-ready,.status-succeeded{border-color:#79bc95;background:#ddf5e6;color:#14653a}.status-pending,.status-processing,.status-queued,.status-running{border-color:#e5c67e;background:#fff2d9;color:var(--warn)}.status-failed{border-color:#d69aa5;background:#fde5ea;color:#8f2438}.muted-panel{background:linear-gradient(180deg,#f8f4ea,var(--panel-alt))}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.store-list{max-height:280px}.kpi-grid{grid-template-columns:1fr}}