@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:wght@600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg: #f7f1e8;--bg-alt: #fff8f0;--ink: #1d1a16;--muted: #6b6259;--nav: #11100f;--nav-ink: #f4efe7;--accent: #f05a28;--accent-2: #2a6f97;--card: #fffdf8;--stroke: #eadfce;--shadow: 0 12px 30px rgba(17, 16, 15, .08);--radius: 18px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 10%,#fff8ef 0%,transparent 50%),radial-gradient(circle at 80% 20%,#fbe9d3 0%,transparent 55%),var(--bg);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,rgba(240,90,40,.08),transparent 40%);opacity:.9}.banner-warn{position:sticky;top:0;z-index:90;padding:10px 14px;background:#f05a281f;border-bottom:1px solid rgba(240,90,40,.25);color:var(--ink);font-size:12px;font-weight:600}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,460px);background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:grid;gap:10px}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:linear-gradient(160deg,#151412,#0d0c0b);color:var(--nav-ink);padding:28px 22px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#f7a21b);display:grid;place-items:center;font-weight:700;color:#1b120b;letter-spacing:1px}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-title{font-size:18px;font-weight:600}.brand-sub{font-size:12px;color:#c7bfb3}.nav{display:grid;gap:10px}.nav-item{border:none;background:transparent;color:#cfc7bc;padding:10px 12px;text-align:left;border-radius:10px;font-weight:500;cursor:pointer}.nav-item.active,.nav-item:hover{background:#ffffff14;color:#fff5e8}.sidebar-footer{margin-top:auto}.sidebar-runs{display:grid;gap:10px}.sidebar-runs-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sidebar-runs-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bdb4a7;font-weight:600}.sidebar-runs-link{border:none;background:transparent;color:#cfc7bc;cursor:pointer;font-size:12px;padding:0;text-decoration:underline;text-underline-offset:3px}.sidebar-runs-link:hover{color:#fff5e8}.sidebar-runs-list{display:grid;gap:8px}.sidebar-muted{font-size:12px;color:#ffffff8c}.sidebar-run{width:100%;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#efe8de;padding:8px 10px;border-radius:12px;display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:center;cursor:pointer;text-align:left}.sidebar-run:hover{background:#ffffff0f;border-color:#ffffff24}.sidebar-run-emoji{width:18px;height:18px;display:grid;place-items:center;font-size:14px;line-height:1}.sidebar-run-main{min-width:0;display:grid;gap:2px}.sidebar-run-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-run-meta{font-size:11px;color:#ffffff9e}.toast-stack{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:80;pointer-events:none}.toast{pointer-events:auto;min-width:min(360px,calc(100vw - 36px));max-width:420px;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.18);background:#ffffffeb;color:#1b120b;box-shadow:0 16px 36px #00000038;font-size:13px;font-weight:600;transform:translateY(12px);opacity:0;animation:toastIn .18s ease-out forwards}.toast.info{border-color:#f7a21b59}.toast.error{border-color:#ff6b6b73;background:#fff0f0f5}@keyframes toastIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.chip{display:inline-flex;padding:6px 12px;border-radius:999px;background:#ffffff1a;font-size:12px;letter-spacing:.5px}.content{padding:36px 48px 60px;display:flex;flex-direction:column;gap:32px}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent-2);font-weight:600}h1{margin:8px 0 6px;font-size:42px;font-family:Fraunces,Space Grotesk,serif}.subhead{margin:0;color:var(--muted);max-width:520px}.header-actions{display:flex;gap:12px}.btn{border:none;background:var(--accent);color:#1b120b;padding:10px 16px;border-radius:12px;font-weight:600;cursor:pointer;box-shadow:var(--shadow)}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:transparent;border:1px solid var(--stroke);color:var(--ink);box-shadow:none}.stats,.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat-card{background:var(--card);border:1px solid var(--stroke);padding:18px 20px;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.stat-label{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.stat-value{font-size:28px;font-weight:700;margin:10px 0 6px}.stat-note{font-size:12px;color:var(--muted)}.section{display:grid;gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h2{margin:0;font-size:24px}.muted{color:var(--muted);font-size:13px}.pipeline-grid,.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.inventory-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:grid;gap:12px}.inventory-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.inventory-head h3{margin:0;font-size:18px}.inventory-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.inventory-block{display:grid;gap:6px}.inventory-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.inventory-block ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}.inventory-pointers{display:grid;gap:6px}.inventory-pointers div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;font-size:12px}.inventory-pointers span{color:var(--muted)}.inventory-pointers code{padding:4px 7px;border-radius:8px;background:#f8f0e3;border:1px solid var(--stroke);font-family:IBM Plex Mono,Courier New,monospace;font-size:12px;word-break:break-all}.inventory-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inventory-summary-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:grid;gap:8px}.inventory-summary-card h3{margin:0}.inventory-summary-card ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}.inventory-summary-card.warn{border-color:#f05a2859;background:#fff7ee}.page{display:none}.page.active{display:grid}.pipeline-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,box-shadow .2s ease}.pipeline-card-focus{border-color:#2a6f978c;box-shadow:0 0 0 3px #2a6f9733,var(--shadow)}.pipeline-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pipeline-title{font-weight:600;font-size:18px;margin:0 0 6px}.pipeline-desc{margin:0;font-size:13px;color:var(--muted)}.badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#f05a2826;color:var(--accent)}.badge.off{background:#2a6f971f;color:var(--accent-2)}.kv{display:grid;gap:6px}.kv-row{display:flex;justify-content:space-between;font-size:13px}.kv-label{color:var(--muted)}.pipeline-actions{display:flex;gap:10px;flex-wrap:wrap}.pipeline-actions .btn{flex:1 1 140px}.pipeline-footer{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-page{display:grid;gap:18px}.settings-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:grid;gap:12px}.schedule-card{max-width:100%;width:100%;min-width:0}.settings-row{display:grid;grid-template-columns:1fr;gap:16px}.settings-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-card-body{display:grid;gap:12px}.settings-summary{margin-top:4px;font-size:12px;color:var(--muted)}.collapse-btn{border:1px solid var(--stroke);background:#fff9;color:var(--ink);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.collapse-btn:hover{border-color:#2a6f9773;color:var(--accent-2)}.settings-card.collapsed{gap:10px}.settings-block{background:#fffaf2;border:1px solid var(--stroke);border-radius:14px;padding:12px;display:grid;gap:10px}.settings-subtitle{font-size:13px;font-weight:600}.settings-field{display:grid;gap:6px;font-size:12px;color:var(--muted)}.settings-field input,.settings-field select,.settings-field textarea{border:1px solid var(--stroke);border-radius:10px;padding:8px 10px;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:13px;background:#fff;color:var(--ink);resize:vertical}.settings-field.checkbox{grid-template-columns:1fr auto;align-items:center;color:var(--ink);font-size:13px}.settings-actions{display:flex;align-items:center;gap:12px}.settings-group{display:grid;gap:10px;margin-top:8px}.clickhouse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clickhouse-connection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.clickhouse-card{min-width:0}.clickhouse-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.clickhouse-list{display:grid;gap:10px;max-height:280px;overflow:auto;padding-right:4px}.clickhouse-item{text-align:left;border:1px solid transparent;border-radius:12px;padding:10px 12px;background:#fff;display:grid;gap:4px;cursor:pointer}.clickhouse-item.active{border-color:#f05a284d;background:#fff7ed}.clickhouse-indicator{display:flex;align-items:center;gap:10px;text-align:left}.status-dot{width:12px;height:12px;border-radius:50%;background:#c9c0b5;box-shadow:0 0 0 4px #c9c0b533}.status-dot.ok{background:#1f9d55;box-shadow:0 0 0 4px #1f9d5533}.status-dot.error,.status-dot.unavailable{background:#d64545;box-shadow:0 0 0 4px #d6454533}.status-dot.not_configured,.status-dot.unknown{background:#c9c0b5;box-shadow:0 0 0 4px #c9c0b533}.status-label{font-size:13px;font-weight:600}.clickhouse-title{font-weight:600}.clickhouse-meta{font-size:12px;color:var(--muted)}.clickhouse-table-wrap{overflow:auto;border:1px solid var(--stroke);border-radius:12px}.clickhouse-table{width:100%;border-collapse:collapse;font-size:13px}.clickhouse-table th,.clickhouse-table td{padding:8px 10px;border-bottom:1px solid var(--stroke);text-align:left;vertical-align:top}.clickhouse-table th{background:var(--bg-alt);font-weight:600}.clickhouse-query{min-height:140px;font-family:IBM Plex Mono,Courier New,monospace;font-size:13px;padding:12px;border-radius:12px;border:1px solid var(--stroke);background:#fff}.clickhouse-query-actions{align-items:flex-end;flex-wrap:wrap;gap:12px;margin:8px 0 0}.clickhouse-query-select{flex:1 1 320px;min-width:240px}.schedule-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.account-actions{display:flex;flex-wrap:wrap;gap:10px}.account-fetch{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.account-quick{display:grid;gap:8px;margin-top:6px}.account-quick-label{font-size:12px;color:var(--muted)}.account-quick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.account-quick-row input{width:100%}.account-list{display:grid;gap:8px;max-height:220px;overflow:auto}.account-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:#fff;border:1px solid transparent;font-size:13px}.account-item input{margin:0}.account-item.checked{border-color:#f05a284d;background:#fff7ed}.account-meta{display:flex;flex-direction:column;gap:2px}.account-login{font-size:11px;color:var(--muted)}.account-hint{font-size:12px;color:var(--muted)}.account-summary{font-size:12px;color:var(--muted);margin-top:4px}.account-mode{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 6px}.account-groups{display:grid;gap:12px}.group-card{border:1px solid var(--stroke);border-radius:12px;padding:12px;display:grid;gap:10px;background:#fffaf2}.btn.ghost.danger{border-color:#f05a2866;color:var(--accent)}.config-panel{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:grid;gap:12px}#config-editor{width:100%;min-height:260px;border:1px solid var(--stroke);border-radius:12px;padding:14px;font-family:IBM Plex Mono,Space Grotesk,monospace;font-size:12px;background:#fff;color:#1a1815}.config-actions{display:flex;align-items:center;gap:12px}.runs-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:stretch}.runs-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.runs-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.runs-filters select,.runs-filters input{border:1px solid var(--stroke);border-radius:10px;padding:8px 10px;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:13px;background:#fff}.runs-list{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;display:grid;gap:10px;max-height:none;overflow:visible}.run-entry{display:grid;gap:12px}.run-item{border:1px solid var(--stroke);border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;background:#fffaf2}.run-item.active{border-color:var(--accent);box-shadow:0 0 0 1px #f05a2833}.run-info{display:grid;gap:4px;font-size:13px}.run-actions{display:flex;align-items:center;gap:8px}.pipeline-btn{border:1px solid var(--stroke);background:#ffffff8c;color:var(--ink);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer}.pipeline-btn:hover{border-color:#2a6f9773;color:var(--accent-2)}.stop-btn{border:1px solid rgba(240,90,40,.5);background:transparent;color:var(--accent);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer}.rerun-btn{border:1px solid rgba(42,111,151,.5);background:transparent;color:var(--accent-2);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer}.run-meta{color:var(--muted);font-size:12px}.run-note{color:var(--muted);font-size:12px;margin-top:4px}.run-expand{padding-left:8px}.run-status{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.run-status.running{background:#2a6f9733;color:var(--accent-2)}.run-status.failed{background:#f05a282e;color:var(--accent)}.run-status.finished{background:#2e7d4e33;color:#2e7d4e}.run-status.skipped{background:#e9944133;color:#b8611e}.run-status.stopped,.run-status.idle{background:#6b625933;color:var(--muted)}.run-outcome{margin:10px 0 12px;padding:8px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;display:inline-block}.run-outcome.running{background:#2a6f9726;color:var(--accent-2)}.run-outcome.failed{background:#f05a2829;color:var(--accent)}.run-outcome.finished{background:#2e7d4e26;color:#2e7d4e}.run-outcome.skipped{background:#e994412e;color:#b8611e}.run-outcome.stopped{background:#6b625933;color:var(--muted)}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.health-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:grid;gap:12px}.health-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.health-title{font-weight:600;font-size:16px}.health-sub{font-size:12px;color:var(--muted);margin-top:4px}.health-meta{display:grid;gap:6px;font-size:12px}.health-meta span:last-child{font-weight:600;color:var(--ink)}.due{color:var(--accent);font-weight:600}.log-panel{background:#0e0c0a;color:#f4efe7;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.log-panel.compact{padding:16px}.log-meta{font-size:12px;color:#c9c1b5;margin-bottom:10px}.log-panel pre{margin:0;white-space:pre-wrap;font-family:IBM Plex Mono,Space Grotesk,monospace;font-size:12px;max-height:220px;overflow:auto}@media (max-width: 1200px){.stats,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-grid,.inventory-grid,.inventory-summary,.clickhouse-grid{grid-template-columns:1fr}.clickhouse-connection{grid-template-columns:repeat(2,minmax(0,1fr))}.runs-panel{grid-template-columns:1fr}.runs-filters{flex-direction:column;align-items:stretch}.settings-row{grid-template-columns:1fr}.schedule-card{grid-column:auto}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;justify-content:space-between}.nav{grid-auto-flow:column;justify-content:center}.content{padding:28px 20px 50px}.header{flex-direction:column;align-items:flex-start}.summary-grid,.clickhouse-connection,.settings-row{grid-template-columns:1fr}.schedule-card{grid-column:auto}.health-grid{grid-template-columns:1fr}}
