*{box-sizing:border-box}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f3f5f8;font-synthesis:none;--bg-primary: #f3f5f8;--bg-secondary: #f7f8fa;--bg-card: #ffffff;--text-primary: #172033;--text-secondary: #687386;--border-color: #dfe4eb;--blue-primary: #275df5;--blue-hover: #194ad3;--green-primary: #12805c;--green-hover: #0c694b;--red-primary: #c63e3e;--red-hover: #a52d2d;--yellow-primary: #a26405;--yellow-bg: #fff8e8;--red-bg: #fff2f2;--green-bg: #eaf8f2}html,body,#root{min-height:100%}body{margin:0;background:var(--bg-primary);color:var(--text-primary);line-height:1.55}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.app-shell{min-height:100vh}.app-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.app-header{background:#101725;color:#fff;padding:30px 0 25px}.header-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.header-inner h1{margin:4px 0 2px;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.2;letter-spacing:-.025em}.header-inner p{margin:0;color:#aeb9ca;font-size:.9rem}.eyebrow,.section-kicker{color:#7585a0;font-size:.68rem;font-weight:800;letter-spacing:.13em}.app-header .eyebrow{color:#6f94ff}.app-nav{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-inner{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.nav-inner::-webkit-scrollbar{display:none}.nav-item{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:15px 16px 13px;border:0;border-bottom:3px solid transparent;color:#687386;background:transparent;cursor:pointer;font-size:.88rem;font-weight:650}.nav-item:hover{color:#172033}.nav-item.active{color:var(--blue-primary);border-bottom-color:var(--blue-primary)}.app-main{padding-top:28px;padding-bottom:56px}.operations-layout,.stack-layout{display:grid;gap:22px}.operations-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start}.stack-layout{max-width:1060px;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:24px;box-shadow:0 2px 6px #131f3409}.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;border:1px solid transparent;padding:8px 13px;cursor:pointer;font-weight:700;transition:background .15s,border-color .15s,opacity .15s}.btn-primary{color:#fff;background:var(--blue-primary)}.btn-primary:hover{background:var(--blue-hover)}.btn-secondary{color:#2e3a4e;background:#fff;border-color:#cfd6e1}.btn-secondary:hover{background:#f5f7fa;border-color:#b7c0ce}.app-header .btn-secondary{color:#e8edf7;background:#202a3c;border-color:#37445a}.app-header .btn-secondary:hover{background:#29354a}.btn-danger{color:#fff;background:var(--red-primary)}.btn-danger:hover{background:var(--red-hover)}button:disabled{opacity:.48;cursor:not-allowed}.refresh-button{min-width:124px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.global-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:14px 16px;border-radius:10px;border:1px solid #e6c66f;background:var(--yellow-bg);color:#704800;font-size:.88rem}.notice-detail{margin-top:3px;color:#8b611b;font-size:.78rem}.status-card{padding:0;overflow:hidden}.status-hero{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:154px;padding:28px 26px;border-bottom:1px solid var(--border-color);background:#f7f9fc}.status-hero.tone-success{background:linear-gradient(130deg,#edf9f4,#f8fbfa)}.status-hero.tone-danger{background:linear-gradient(130deg,#fff0f0,#fff9f9)}.status-hero.tone-warning{background:linear-gradient(130deg,#fff8e8,#fffdf7)}.status-hero.tone-progress{background:linear-gradient(130deg,#edf3ff,#fafcff)}.status-orb{width:17px;height:17px;border-radius:50%;background:#778398;box-shadow:0 0 0 6px #77839821}.tone-success .status-orb{background:#12805c;box-shadow:0 0 0 6px #12805c21}.tone-danger .status-orb{background:#c63e3e;box-shadow:0 0 0 6px #c63e3e21}.tone-warning .status-orb{background:#bd7a11;box-shadow:0 0 0 6px #bd7a1121}.tone-progress .status-orb{background:#275df5;box-shadow:0 0 0 6px #275df521;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 11px #275df50d}}.status-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:1px 0 4px}.status-copy h2{margin:0;font-size:1.75rem;letter-spacing:-.035em}.status-copy p{margin:0;color:var(--text-secondary);font-size:.9rem}.observed-at{align-self:start;display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.quality-badge{display:inline-flex;align-items:center;border:1px solid #d3d9e2;border-radius:999px;background:#f5f7fa;color:#647084;padding:2px 8px;font-size:.68rem;font-weight:800}.quality-badge.live{border-color:#a8d9c8;color:#0d6d4d;background:#ebf8f3}.quality-badge.stale{border-color:#e7c26d;color:#8a5a08;background:#fff8e5}.issue-list{display:flex;gap:10px;margin:20px 24px 0;padding:12px 14px;border:1px solid #ebc8c8;border-radius:9px;color:#8e3030;background:#fff6f6;font-size:.82rem}.issue-list svg{flex:0 0 auto;margin-top:1px}.status-card>.section-heading{margin:24px 24px 12px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2,.section-heading h3,.policy-card h2{margin:2px 0 3px;line-height:1.3;letter-spacing:-.018em}.section-heading h2,.policy-card h2{font-size:1.2rem}.section-heading h3{font-size:1rem}.section-heading p,.policy-card>p{margin:0;color:var(--text-secondary);font-size:.8rem}.section-heading.compact{margin-bottom:12px}.observation-grid{margin:0 24px 24px;border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.observation-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:10px 14px;border-bottom:1px solid var(--border-color)}.observation-item:last-child{border-bottom:0}.observation-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#596579;background:#eff2f6}.observation-icon.tone-success{color:#0b7653;background:#e9f7f1}.observation-icon.tone-danger{color:#aa3434;background:#fff0f0}.observation-copy{min-width:0}.observation-name{font-size:.85rem;font-weight:750}.observation-meta{color:var(--text-secondary);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-value{color:#354156;font-size:.8rem;font-weight:800;text-transform:lowercase}.state-value.success{color:#0c7352}.state-value.danger{color:#b23636}.state-value.unknown{color:#7d8798}.session-heading{align-items:center}.session-id{max-width:120px;overflow:hidden;text-overflow:ellipsis;border-radius:6px;padding:4px 7px;color:#5f6b7d;background:#f1f3f6;font-family:monospace;font-size:.68rem;white-space:nowrap}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.fact-card{display:flex;align-items:center;gap:9px;min-width:0;padding:12px;border:1px solid var(--border-color);border-radius:9px;background:#fafbfc}.fact-card svg{flex:0 0 auto;color:#667388}.fact-card span{display:block;color:var(--text-secondary);font-size:.67rem}.fact-card strong{display:block;margin-top:1px;font-size:.82rem;white-space:nowrap}.fact-note{margin:8px 1px 0;color:#7b6470;font-size:.69rem}.primary-actions{display:grid;gap:8px;margin:20px 0 22px}.action-button{width:100%;min-height:44px}.text-danger-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#a23a3a;cursor:pointer;padding:5px;font-size:.74rem;font-weight:700}.policy-note{margin:-8px 0 20px;padding:10px 12px;border-radius:8px;color:#365580;background:#eef4fd;font-size:.77rem}.test-profile-note{margin:0}.connection-section{padding-top:19px;border-top:1px solid var(--border-color)}.stream-connection-list{display:grid;gap:12px}.stream-connection-card{padding:13px;border:1px solid var(--border-color);border-radius:10px;background:#f7f9fb}.stream-connection-card .section-heading h4{margin:0 0 3px;font-size:.9rem}.stream-connection-card .connection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.connection-grid{display:grid;gap:9px}.connection-value{border:1px solid var(--border-color);border-radius:9px;padding:10px 11px;background:#fafbfc}.connection-label{margin-bottom:5px;color:var(--text-secondary);font-size:.68rem;font-weight:750}.connection-code-row{display:flex;align-items:center;gap:8px}.connection-code-row code{min-width:0;flex:1;overflow-wrap:anywhere;color:#233149;font-size:.69rem}.icon-button{display:grid;place-items:center;flex:0 0 auto;width:29px;height:29px;border:1px solid #d5dae3;border-radius:7px;color:#596579;background:#fff;cursor:pointer}.empty-state{padding:18px;border:1px dashed #ccd3de;border-radius:9px;color:#697588;background:#fafbfc;text-align:center;font-size:.8rem}.empty-state.warning{color:#7f570e;border-color:#e3c16f;background:#fffaed}.inline-error{margin-bottom:14px;padding:10px 12px;border-radius:8px;color:#923434;background:#fff0f0;font-size:.8rem}.evidence-summary{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.evidence-summary span{padding:6px 9px;border-radius:7px;color:#687386;background:#f3f5f8;font-size:.72rem}.evidence-summary strong{margin-left:4px;color:#2c394e}.table-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:9px}.evidence-table{width:100%;border-collapse:collapse;font-size:.76rem;white-space:nowrap}.evidence-table th{padding:9px 11px;color:#657186;background:#f5f7fa;text-align:left;font-size:.66rem;letter-spacing:.02em}.evidence-table td{padding:10px 11px;border-top:1px solid var(--border-color)}.evidence-table code{font-size:.69rem}.table-note{margin:8px 0 0;color:var(--text-secondary);font-size:.7rem}.muted-label{color:var(--text-secondary);font-size:.72rem;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-card{padding:14px;border:1px solid var(--border-color);border-radius:9px;background:#fafbfc}.metric-card span{display:block;color:var(--text-secondary);font-size:.68rem}.metric-card strong{display:block;margin-top:5px;font-size:1rem}.raw-details{margin-top:16px;font-size:.8rem}.raw-details summary{cursor:pointer;font-weight:700;color:#37445a;font-size:.84rem}.raw-details h3{margin:12px 0 4px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.raw-details pre{margin:0;padding:10px 12px;background:#f7f9fc;border:1px solid var(--border-color);border-radius:8px;font-size:.78rem;overflow-x:auto}.pipeline-monitor-card{margin-bottom:22px}.pipeline-grid{display:grid;gap:20px}.pipeline-stream-box{border:1px solid var(--border-color);border-radius:12px;padding:18px;background:#fafbfc;transition:border-color .2s,box-shadow .2s}.pipeline-stream-box.active{border-color:#a8d9c8;background:#f7fcfa;box-shadow:0 4px 12px #12805c0f}.pipeline-header{margin-bottom:16px}.stream-badge-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.stream-badge{font-size:.95rem;font-weight:800;color:var(--text-primary)}.status-pill{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px}.status-pill.standby{background:#eaf8f2;color:#12805c;border:1px solid #c2ebd9}.status-pill.streaming{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;animation:pulse 2s infinite}.pipeline-topology{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.topology-node{width:100%;max-width:480px;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;border:1px solid var(--border-color);background:#fff}.topology-node.client-node.connected{border-color:#12805c;background:#f0fdf4;box-shadow:0 2px 8px #12805c1a}.topology-node.client-node.waiting{border-color:#e2e8f0;background:#fff;color:var(--text-secondary)}.node-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#f1f5f9;color:var(--text-secondary)}.connected .node-icon{background:#dcfce7;color:#16a34a}.node-info{flex:1}.node-title{font-size:.86rem;font-weight:700}.node-meta{font-size:.75rem;margin-top:2px}.topology-line{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.72rem;padding:2px 0}.topology-line.active-flow{color:#16a34a;font-weight:700}.flow-arrow{animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.server-hub-node{flex-direction:column;align-items:stretch;background:#1e293b;color:#fff;border-color:#334155}.hub-header{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:#94a3b8;margin-bottom:8px}.hub-internals{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#0f172a;border-radius:8px;padding:8px 12px}.hub-port{display:flex;flex-direction:column;gap:2px;font-size:.72rem}.hub-port.connected .port-status{color:#38bdf8;font-weight:700}.hub-port.ready .port-status{color:#4ade80;font-weight:700}.hub-port.error .port-status{color:#f87171;font-weight:700}.hub-pipe{display:flex;align-items:center;gap:4px;font-size:.68rem;color:#64748b;padding:2px 8px;border-radius:6px;background:#1e293b}.hub-pipe.active{color:#38bdf8;background:#082f49;border:1px solid #0284c7}.zap-active{animation:pulse 1s infinite}.policy-card>p{margin:6px 0 18px}.policy-list{display:grid;gap:1px;margin:0;border:1px solid var(--border-color);border-radius:9px;overflow:hidden;background:var(--border-color)}.policy-list div{display:grid;grid-template-columns:155px 1fr;gap:16px;padding:10px 12px;background:#fafbfc;font-size:.78rem}.policy-list dt{color:var(--text-secondary)}.policy-list dd{margin:0;font-weight:650}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border-color);border-radius:9px;background:#fafbfc}.field>span{color:var(--text-secondary);font-size:.7rem;font-weight:700}.field input{width:100%;border:1px solid #c6ceda;border-radius:7px;padding:8px 9px;color:var(--text-primary);background:#fff}.field code,.field strong{font-size:.82rem;overflow-wrap:anywhere}.button-row{display:flex;gap:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#0b111c94;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{width:min(440px,100%);border:1px solid #dfe4eb;border-radius:13px;padding:23px;background:#fff;box-shadow:0 22px 60px #00000038}.modal-content h3{margin:0 0 8px;font-size:1.05rem}.modal-content p{margin:0;color:var(--text-secondary);font-size:.82rem}.danger-dialog{border-top:4px solid var(--red-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-medium{font-weight:600}.font-bold,.font-semibold{font-weight:700}.font-mono{font-family:monospace}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.border{border:1px solid var(--border-color)}.border-t{border-top:1px solid var(--border-color)}.rounded{border-radius:.375rem}.rounded-lg{border-radius:.65rem}.bg-card,.bg-background{background:var(--bg-card)}.bg-green-50{background:#eefaf5}.bg-blue-50{background:#eff5ff}.text-muted-foreground,.text-gray-500,.text-gray-600{color:var(--text-secondary)}.text-green-600,.text-green-700,.text-green-800{color:var(--green-primary)}.text-red-600{color:var(--red-primary)}.text-blue-700,.text-blue-800{color:#2856a8}.alert-error,.alert-success{padding:12px;margin-bottom:14px;border-radius:8px;font-size:.82rem}.alert-error{color:#923434;border:1px solid #eccaca;background:var(--red-bg)}.alert-success{color:#0c6e50;border:1px solid #b9dfd1;background:var(--green-bg)}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}@media (max-width: 900px){.operations-layout{grid-template-columns:1fr}.status-card{order:1}.session-card{order:2}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.app-container{width:min(100% - 24px,1180px)}.app-header{padding:22px 0 18px}.header-inner{align-items:flex-start}.header-inner p{max-width:230px}.refresh-button{min-width:42px;padding:8px;font-size:0}.nav-item{padding:13px 11px 11px}.app-main{padding-top:16px}.card{padding:17px;border-radius:11px}.status-card{padding:0}.status-hero{grid-template-columns:auto 1fr;min-height:140px;padding:22px 18px}.observed-at{grid-column:2;align-self:auto}.status-copy h2{font-size:1.45rem}.status-card>.section-heading{margin:20px 17px 10px}.observation-grid{margin:0 17px 17px}.issue-list{margin:16px 17px 0}.fact-grid{grid-template-columns:1fr}.fact-card{min-height:58px}.metric-grid,.config-grid,.stream-connection-card .connection-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading>.btn-secondary{flex:0 0 auto}.policy-list div{grid-template-columns:1fr;gap:2px}.global-notice{align-items:flex-start}}
