:root{--ink-900: #0f172a;--ink-800: #1e293b;--ink-700: #334155;--ink-600: #475569;--ink-500: #64748b;--ink-400: #94a3b8;--ink-300: #cbd5e1;--ink-200: #e2e8f0;--ink-100: #f1f5f9;--ink-050: #f8fafc;--paper: #ffffff;--brand-900: #0b2545;--brand-800: #123a63;--brand-600: #1d4ed8;--brand-500: #2563eb;--brand-100: #dbeafe;--good-700: #15803d;--good-500: #16a34a;--good-100: #dcfce7;--warn-700: #a16207;--warn-500: #ca8a04;--warn-100: #fef9c3;--bad-700: #b91c1c;--bad-600: #dc2626;--bad-100: #fee2e2;--info-700: #0e7490;--info-100: #cffafe;--violet-700: #6d28d9;--violet-100: #ede9fe;--row: 32px;--radius: 4px;--border: 1px solid var(--ink-200);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 6px 20px rgba(15, 23, 42, .12);--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.45;color:var(--ink-800);background:var(--ink-100);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-columns:216px 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--brand-900);color:#cbd5e1;display:flex;flex-direction:column;overflow-y:auto}.brand{padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-name{font-size:15px;font-weight:700;letter-spacing:-.2px;color:#fff;display:flex;align-items:center;gap:7px}.brand-dot{width:7px;height:7px;border-radius:50%;background:#22d3ee;box-shadow:0 0 0 3px #22d3ee2e}.brand-sub{font-size:10.5px;color:#7b93b3;margin-top:2px;letter-spacing:.2px}.nav-group{padding:10px 8px 4px}.nav-title{font-size:9.5px;text-transform:uppercase;letter-spacing:.9px;color:#5f7799;padding:0 6px 5px;font-weight:600}.nav-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;border:0;border-radius:var(--radius);background:transparent;color:#c2d1e4;cursor:pointer;font-size:12.5px}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:var(--brand-600);color:#fff;font-weight:600}.nav-item.disabled{opacity:.4;cursor:not-allowed}.nav-item .kbd-hint{margin-left:auto;opacity:.55;font-size:10px}.nav-count{margin-left:auto;background:var(--bad-600);color:#fff;border-radius:9px;padding:0 5px;font-size:10px;font-weight:700;min-width:16px;text-align:center}.nav-item.active .nav-count{background:#00000059}.sidebar-foot{margin-top:auto;padding:10px 12px;font-size:10.5px;color:#6f88a8;border-top:1px solid rgba(255,255,255,.08);line-height:1.4}.main{display:flex;flex-direction:column;overflow:hidden;background:var(--ink-100)}.topbar{height:44px;flex:none;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--paper);border-bottom:var(--border)}.search-box{position:relative;width:320px}.search-box input{width:100%;height:28px;padding:0 8px 0 26px;border:var(--border);border-radius:var(--radius);background:var(--ink-050)}.search-box input:focus{outline:2px solid var(--brand-100);border-color:var(--brand-500);background:#fff}.search-box .icon{position:absolute;left:8px;top:6px;color:var(--ink-400);font-size:12px}.search-box .kbd{position:absolute;right:6px;top:5px}.topbar-spacer{flex:1}.content{flex:1;overflow-y:auto;padding:14px}.content.tight{padding:0}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.2px}h1{font-size:16px}h2{font-size:13.5px}h3{font-size:12px}.muted{color:var(--ink-500)}.tiny{font-size:11px}.mono{font-family:var(--mono);font-size:11.5px}.right{text-align:right}.bold{font-weight:650}.nowrap{white-space:nowrap}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:3px}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:12px}.label{font-size:9.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-500);font-weight:650}.panel{background:var(--paper);border:var(--border);border-radius:6px;box-shadow:var(--shadow-sm)}.panel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:var(--border);min-height:38px}.panel-head h2{flex:none}.panel-body{padding:12px;overflow-x:auto}.panel-body.flush{padding:0}.panel-foot{padding:8px 12px;border-top:var(--border);background:var(--ink-050);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}@media (max-width: 1180px){.split{grid-template-columns:minmax(0,1fr)}}table.data{width:100%;border-collapse:collapse}table.data th{position:sticky;top:0;z-index:1;background:var(--ink-050);text-align:left;font-size:9.8px;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-500);font-weight:650;padding:6px 10px;border-bottom:var(--border);white-space:nowrap}table.data td{padding:5px 10px;border-bottom:1px solid var(--ink-100);height:var(--row);vertical-align:middle}table.data tbody tr:hover{background:#f6f9fe}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.selected{background:var(--brand-100)}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}table.data tfoot td{padding:6px 10px;border-top:1px solid var(--ink-300);font-weight:650;background:var(--ink-050)}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:10px;font-size:10.5px;font-weight:650;white-space:nowrap;border:1px solid transparent}.badge.neutral{background:var(--ink-100);color:var(--ink-600);border-color:var(--ink-200)}.badge.info{background:var(--info-100);color:var(--info-700);border-color:#a5f3fc}.badge.active{background:var(--brand-100);color:var(--brand-600);border-color:#bfdbfe}.badge.good{background:var(--good-100);color:var(--good-700);border-color:#bbf7d0}.badge.done{background:var(--violet-100);color:var(--violet-700);border-color:#ddd6fe}.badge.bad{background:var(--bad-100);color:var(--bad-700);border-color:#fecaca}.badge.warn{background:var(--warn-100);color:var(--warn-700);border-color:#fde68a}.badge.queued,.badge.sending{background:#e0e7ff;color:#4338ca;border-color:#c7d2fe}.badge.sim{background:repeating-linear-gradient(135deg,#fff7ed,#fff7ed 5px,#ffedd5 5px,#ffedd5 10px);color:#9a3412;border-color:#fdba74;letter-spacing:.4px;font-size:9.5px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.dot.good{background:var(--good-500)}.dot.warn{background:var(--warn-500)}.dot.bad{background:var(--bad-600)}.dot.neutral{background:var(--ink-300)}.dot.active{background:var(--brand-500)}.dot.pulse{animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes slide-in{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}@keyframes flash{0%{background:var(--warn-100)}to{background:transparent}}.spinner{width:11px;height:11px;border-radius:50%;border:2px solid var(--ink-300);border-top-color:var(--brand-600);animation:spin .7s linear infinite;display:inline-block;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border:var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink-700);font-size:12.5px;font-weight:550;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--ink-050);border-color:var(--ink-300)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-500);border-color:var(--brand-500)}.btn.danger{background:var(--bad-600);border-color:var(--bad-600);color:#fff}.btn.danger:hover:not(:disabled){background:#ef4444}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover:not(:disabled){background:var(--ink-100)}.btn.sm{height:24px;padding:0 8px;font-size:11.5px}.btn .kbd{margin-left:2px}.kbd{display:inline-block;padding:0 4px;min-width:16px;text-align:center;border:1px solid var(--ink-300);border-bottom-width:2px;border-radius:3px;background:var(--ink-050);color:var(--ink-500);font-family:var(--mono);font-size:10px;line-height:15px}.btn.primary .kbd{background:#ffffff29;border-color:#ffffff59;color:#eaf1ff}.segmented{display:inline-flex;flex-wrap:wrap;border:var(--border);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.segmented button{height:26px;padding:0 9px;border:0;border-right:var(--border);background:transparent;cursor:pointer;font-size:11.5px;color:var(--ink-600);white-space:nowrap}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--brand-600);color:#fff;font-weight:600}.segmented button:hover:not(.active){background:var(--ink-050)}.field{display:flex;flex-direction:column;gap:3px}.field>label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-500);font-weight:650}.field input,.field select,.field textarea{height:30px;padding:0 8px;border:var(--border);border-radius:var(--radius);background:var(--paper)}.field textarea{height:auto;padding:6px 8px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand-100);border-color:var(--brand-500)}.field .hint{font-size:10.5px;color:var(--ink-500)}.field.invalid input,.field.invalid select{border-color:var(--bad-600);background:#fff5f5}.field.highlight input{border-color:var(--warn-500);background:#fffbeb;animation:flash 1.2s ease-out}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.form-grid .span2{grid-column:span 2}.form-grid .span4{grid-column:span 4}.note{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--radius);border:1px solid;font-size:12px;line-height:1.45}.note.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.note.good{background:var(--good-100);border-color:#bbf7d0;color:#14532d}.note.warn{background:var(--warn-100);border-color:#fde68a;color:#713f12}.note.bad{background:var(--bad-100);border-color:#fecaca;color:#7f1d1d}.note.sim{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.note .note-title{font-weight:700}.metric{background:var(--paper);border:var(--border);border-radius:6px;padding:9px 11px;box-shadow:var(--shadow-sm)}.metric .metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-500);font-weight:650}.metric .metric-value{font-size:20px;font-weight:680;letter-spacing:-.5px;line-height:1.2;margin-top:2px}.metric .metric-foot{font-size:11px;color:var(--ink-500)}.metric.alert{border-color:#fecaca;background:snow}.metric.alert .metric-value{color:var(--bad-700)}.metric.warn{border-color:#fde68a;background:#fffdf5}.metric.warn .metric-value{color:var(--warn-700)}.metric.clickable{cursor:pointer}.metric.clickable:hover{border-color:var(--brand-500);box-shadow:0 0 0 2px var(--brand-100)}.tabs{display:flex;gap:2px;padding:0 12px;background:var(--paper);border-bottom:var(--border)}.tab{position:relative;padding:8px 12px 7px;border:0;background:transparent;cursor:pointer;font-size:12.5px;color:var(--ink-600);display:flex;align-items:center;gap:6px;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink-900)}.tab.active{color:var(--brand-600);border-bottom-color:var(--brand-600);font-weight:650}.tab .step-num{width:16px;height:16px;border-radius:50%;background:var(--ink-200);color:var(--ink-600);font-size:10px;display:grid;place-items:center;font-weight:700}.tab.active .step-num{background:var(--brand-600);color:#fff}.tab.done .step-num{background:var(--good-500);color:#fff}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:8px;padding:4px 0;position:relative}.timeline-item:before{content:"";position:absolute;left:6px;top:14px;bottom:-4px;width:1px;background:var(--ink-200)}.timeline-item:last-child:before{display:none}.timeline-dot{width:7px;height:7px;border-radius:50%;background:var(--brand-500);margin:6px 0 0 3px}.toasts{position:fixed;right:14px;bottom:14px;display:flex;flex-direction:column;gap:8px;z-index:60;width:320px}.toast{background:var(--ink-900);color:#e2e8f0;border-radius:6px;padding:9px 11px;box-shadow:var(--shadow-md);animation:slide-in .18s ease-out;display:flex;gap:9px;align-items:flex-start}.toast .toast-title{font-weight:650;font-size:12.5px;color:#fff}.toast .toast-detail{font-size:11.5px;color:#94a3b8}.toast .bar{width:3px;align-self:stretch;border-radius:2px;flex:none}.toast.good .bar{background:var(--good-500)}.toast.bad .bar{background:var(--bad-600)}.toast.info .bar{background:var(--brand-500)}.toast button.link{background:none;border:0;color:#7dd3fc;cursor:pointer;padding:0;font-size:11.5px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:70;padding:24px}.modal{background:var(--paper);border-radius:8px;box-shadow:var(--shadow-md);width:100%;max-width:560px;max-height:88vh;overflow:auto}.modal.wide{max-width:760px}.kv{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:3px 12px;align-items:baseline}.kv dt{font-size:11px;color:var(--ink-500)}.kv dd{margin:0;font-size:12.5px}.bar-track{height:6px;background:var(--ink-200);border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px}.selectable-card{border:var(--border);border-radius:6px;padding:9px 10px;cursor:pointer;background:var(--paper);display:flex;gap:9px;align-items:flex-start;text-align:left;width:100%}.selectable-card:hover{border-color:var(--brand-500)}.selectable-card.selected{border-color:var(--brand-600);box-shadow:0 0 0 2px var(--brand-100)}.selectable-card.blocked{background:snow;border-color:#fecaca}.selectable-card.blocked:hover{border-color:var(--bad-600)}.empty{padding:34px 16px;text-align:center;color:var(--ink-500)}.empty .empty-title{font-size:13px;font-weight:650;color:var(--ink-700)}.crumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-500)}.crumb button{background:none;border:0;color:var(--brand-600);cursor:pointer;padding:0;font-size:12px}hr.sep{border:0;border-top:var(--border);margin:10px 0}table.data td.mono,table.data td .mono{white-space:nowrap}@media (max-width: 1180px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width: 900px){.hide-sm{display:none!important}}@media (max-width: 980px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100dvh}.sidebar{flex-direction:row;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;padding:0 8px;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{border-bottom:0;padding:8px 10px 8px 2px;flex:none}.brand-sub{display:none}.nav-group{display:flex;gap:4px;padding:0;flex:none}.nav-title{display:none}.nav-item{white-space:nowrap;padding:6px 10px}.nav-item .kbd-hint,.sidebar-foot{display:none}.topbar{height:auto;min-height:44px;flex-wrap:wrap;padding:6px 10px}.search-box{flex:1 1 180px;width:auto;min-width:0}.topbar-spacer{display:none}.content{padding:10px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span2,.form-grid .span4{grid-column:span 2}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none}.kv{grid-template-columns:minmax(0,1fr);gap:0 0}.kv dt{margin-top:6px}}@media (max-width: 640px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span2,.form-grid .span4{grid-column:span 1}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.metric .metric-value{font-size:17px}h1{font-size:15px}.toasts{width:auto;left:12px;right:12px;bottom:12px}.overlay{padding:12px}.modal{max-height:92vh}.segmented button{border-bottom:var(--border)}}@media (max-width: 420px){.metric{padding:7px 9px}.metric .metric-label{font-size:9px;letter-spacing:.4px}.metric .metric-value{font-size:16px}}.row{flex-wrap:wrap}.row.nowrap-row{flex-wrap:nowrap}@media (max-width: 980px){table.data.table-wide{min-width:660px}}@media (max-width: 640px){svg.chart{min-width:460px}}
