:root{color-scheme:light;--bg: #f3efe8;--bg-elevated: #fffaf4;--surface: rgba(255, 250, 244, .86);--surface-strong: #ffffff;--surface-muted: #f4eadb;--text: #1f232f;--text-soft: #616978;--line: rgba(31, 35, 47, .08);--primary: #1f6ae5;--primary-soft: rgba(31, 106, 229, .12);--success: #2f8f69;--warn: #d28a1f;--danger: #d95f43;--shadow: 0 22px 60px rgba(39, 39, 61, .12);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px;--font: "SF Pro Display", "Segoe UI", "Noto Sans", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(circle at top left,rgba(31,106,229,.12),transparent 34%),radial-gradient(circle at top right,rgba(217,95,67,.12),transparent 28%),linear-gradient(180deg,#faf6ef,#f2ede6 45%,#ece6df)}button,input,textarea{font:inherit}button{cursor:pointer}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,480px);padding:28px;border-radius:32px;background:#ffffffd6;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card h1,.hero-card h2,.section-head h2,.topbar h1{margin:0;letter-spacing:-.03em}.auth-card p,.hero-card p,.section-head p,.metric-card p,.list-card p,.timeline-item p,.form-note,.mini-note,.auth-note,.empty-state p{color:var(--text-soft)}.brand-badge,.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}.auth-form,.stack-form,.grid-form{display:grid;gap:14px;margin-top:20px}.auth-form label,.stack-form label,.grid-form label{display:grid;gap:8px}input,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#ffffffdb;color:var(--text);outline:none}input:focus,textarea:focus{border-color:#1f6ae559;box-shadow:0 0 0 4px #1f6ae51f}.primary-button,.secondary-button,.ghost-button,.nav-chip,.bottom-link,.segmented button,.list-card-button{transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:18px;padding:13px 18px;font-weight:700}.primary-button{background:linear-gradient(135deg,#1f6ae5,#4f88eb);color:#fff;box-shadow:0 18px 30px #1f6ae52e}.secondary-button{background:var(--surface-muted);color:var(--text)}.ghost-button{background:#fff9;color:var(--text);border:1px solid var(--line)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.nav-chip:hover,.bottom-link:hover,.segmented button:hover,.list-card-button:hover{transform:translateY(-1px)}.segmented{display:inline-grid;grid-auto-flow:column;gap:8px;padding:6px;border-radius:18px;background:#1f232f0d}.segmented.compact{width:fit-content}.segmented button{border:0;border-radius:12px;padding:10px 14px;background:transparent;color:var(--text-soft);font-weight:700}.segmented button.is-active{background:var(--surface-strong);color:var(--text);box-shadow:0 12px 24px #16182414}.auth-note{margin-top:14px;font-size:.92rem}.flash-stack{position:fixed;top:18px;right:18px;z-index:60;display:grid;gap:10px}.flash-item{min-width:240px;max-width:360px;padding:14px 16px;border-radius:16px;color:#fff;box-shadow:var(--shadow)}.flash-item.ok{background:linear-gradient(135deg,#2f8f69,#3da87d)}.flash-item.error{background:linear-gradient(135deg,#d95f43,#de7b65)}.app-shell{min-height:100vh;display:grid;grid-template-columns:300px 1fr}.side-rail{display:none}.app-main{min-height:100vh;padding:20px 18px 104px}.topbar{position:sticky;top:0;z-index:20;margin-bottom:18px;padding:18px;border-radius:24px;background:#fffaf4d9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.74);display:grid;gap:16px;box-shadow:0 16px 40px #27273d14}.topbar-actions,.status-group,.action-row,.inline-actions,.section-title-wrap,.card-head,.timeline-row{display:flex;align-items:center;gap:12px}.topbar-actions{justify-content:space-between;flex-wrap:wrap}.status-group{flex-wrap:wrap}.status-box,.mini-card{min-width:140px;padding:12px 14px;border-radius:18px;background:#ffffffb8;border:1px solid var(--line);display:grid;gap:6px}.page-host{animation:page-slide .28s ease}@keyframes page-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-screen{display:grid;gap:18px}.hero-card,.panel-card,.metric-card{background:var(--surface);border:1px solid rgba(255,255,255,.72);border-radius:28px;box-shadow:0 18px 40px #27273d14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:24px;display:grid;gap:18px}.hero-card h2{font-size:clamp(1.7rem,4vw,2.6rem)}.hero-meta,.hero-actions{display:grid;gap:10px}.metrics-grid,.panel-grid{display:grid;gap:18px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.metric-card{padding:18px;min-height:168px}.metric-card .card-head{align-items:flex-start;justify-content:space-between}.metric-card h3{margin:0;font-size:1rem}.metric-value{margin-top:22px;font-size:clamp(1.55rem,4vw,2.35rem);font-weight:800;letter-spacing:-.04em}.metric-card.tone-good{background:linear-gradient(180deg,#2f8f691f,#ffffffd1)}.metric-card.tone-warn{background:linear-gradient(180deg,#d28a1f1f,#ffffffd1)}.metric-card.tone-bad{background:linear-gradient(180deg,#d95f4324,#ffffffd1)}.panel-card{padding:18px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.section-title-wrap h2{font-size:1.08rem}.chart-wrap{width:100%;min-height:240px}.list-stack,.timeline-list,.detail-stack{display:grid;gap:12px}.list-card,.timeline-item{border-radius:20px;background:#ffffffb3;border:1px solid var(--line);padding:16px}.list-card{display:flex;justify-content:space-between;gap:16px;align-items:center}.list-card-button{width:100%;border:0;text-align:left}.list-card-button.is-selected{outline:2px solid rgba(31,106,229,.2);background:#1f6ae514}.list-metric{display:grid;gap:8px;justify-items:end}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:14px}.timeline-dot{width:12px;height:12px;border-radius:50%;margin-top:6px;background:linear-gradient(135deg,#1f6ae5,#4f88eb);box-shadow:0 0 0 6px #1f6ae51f}.detail-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}.detail-row:last-child{border-bottom:0}.data-table{width:100%;border-collapse:collapse;font-size:.94rem}.data-table th,.data-table td{padding:14px 10px;text-align:left;border-bottom:1px solid var(--line)}.data-table th{color:var(--text-soft);font-weight:700}.table-wrap{overflow-x:auto}.empty-state{min-height:180px;border-radius:22px;border:1px dashed rgba(31,35,47,.15);display:grid;place-items:center;gap:6px;text-align:center;padding:24px}.empty-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#1f6ae51f;color:var(--primary)}.text-good{color:var(--success);font-weight:700}.text-bad{color:var(--danger);font-weight:700}.inline-error{padding:12px 14px;border-radius:16px;background:#d95f431f;color:var(--danger)}.runs-layout{grid-template-columns:1.15fr .85fr}.two-up{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.full-span{grid-column:1 / -1}.form-note{padding:12px 14px;border-radius:16px;background:#1f6ae514}.bottom-nav{position:fixed;left:12px;right:12px;bottom:12px;z-index:24;padding:10px;border-radius:24px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;background:#fffaf4eb;border:1px solid rgba(255,255,255,.82);box-shadow:0 18px 40px #27273d29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-link,.nav-chip{text-decoration:none;color:var(--text-soft)}.bottom-link{min-height:62px;border-radius:18px;display:grid;place-items:center;gap:4px;padding:8px 4px;font-size:.74rem;text-align:center}.bottom-link .bottom-icon{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.bottom-link.active,.nav-chip.active{background:#1f6ae51f;color:var(--text)}.info-button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#ffffffb3;color:var(--text-soft);font-weight:700}.status-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:.82rem;font-weight:700}.status-pill.good{background:#2f8f691f;color:var(--success)}.status-pill.warn{background:#d28a1f1f;color:var(--warn)}.status-pill.bad{background:#d95f431f;color:var(--danger)}.status-pill.info{background:#1f6ae51f;color:var(--primary)}.status-pill.muted{background:#1f232f14;color:var(--text-soft)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f121c57;display:grid;align-items:end}.help-sheet{width:100%;max-width:720px;margin:0 auto;padding:14px 18px 28px;border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -18px 40px #0f121c29}.sheet-grabber{width:44px;height:5px;margin:0 auto 14px;border-radius:999px;background:#1f232f29}.sheet-header{display:flex;justify-content:space-between;align-items:center}@media (min-width: 980px){.side-rail{display:grid;grid-template-rows:auto 1fr auto;gap:22px;padding:22px;position:sticky;top:0;height:100vh}.rail-brand,.rail-footer{display:grid;gap:14px}.brand-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#1f6ae5,#55b4f2);box-shadow:0 20px 40px #1f6ae547}.rail-brand{padding:18px;border-radius:26px;background:#fffaf4e6;border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);align-content:start}.rail-nav{display:grid;gap:10px;align-content:start}.nav-chip{display:flex;gap:12px;align-items:center;padding:16px 18px;border-radius:20px;background:#fffaf4b8;border:1px solid rgba(255,255,255,.72);box-shadow:0 14px 28px #27273d0f}.nav-chip span{color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.08em}.app-main{padding:22px 24px 24px 0}.bottom-nav{display:none}.hero-card{grid-template-columns:1.2fr .8fr;align-items:end}}@media (max-width: 979px){.topbar h1{font-size:1.4rem}.action-row{flex-wrap:wrap}}
