:root{--bg:#0b1018;--panel:#111823;--panel2:#151e2b;--line:#24303f;--muted:#8591a3;--text:#e8eef5;--accent:#77e3c2;--blue:#87adff;--purple:#bc9bff;--danger:#fb9094;--radius:16px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-size:14px;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,p{margin:0}h1{font-size:29px;line-height:1.5;font-weight:650;letter-spacing:-.8px}h2{font-size:16px;font-weight:600;line-height:1.5}p{line-height:1.8}.muted,small{color:var(--muted)}.mono{font-family:Consolas,monospace}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--accent);margin-bottom:9px}.heading-dot{color:var(--accent);margin-left:5px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:37px;height:41px;display:grid;place-items:center;font-size:27px;font-weight:700;color:var(--accent);border:1px solid #4b7c72;border-radius:10px;background:linear-gradient(145deg,#203d38,#101c24)}.brand strong{font-size:22px;letter-spacing:2px}.brand strong span{display:block;font-size:8px;letter-spacing:1.6px;color:var(--muted);font-weight:500;margin-top:2px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;width:220px;top:0;bottom:0;background:#0e151f;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;z-index:5}.workspace-label{font-size:10px;color:#65748a;letter-spacing:2px;margin:48px 12px 15px;display:flex;justify-content:space-between}.nav-item{width:100%;background:transparent;color:#98a6ba;border:0;text-align:left;display:flex;align-items:center;gap:13px;padding:14px 12px;margin:4px 0;border-radius:9px;font-size:13px}.nav-item>span{font-size:20px;width:21px;color:#8a9ab1}.nav-item i{margin-left:auto;font-size:9px;font-style:normal;opacity:.5}.nav-item:hover{background:#172332;color:#fff}.nav-item.active{background:#1a302f;color:var(--accent)}.nav-item.active>span{color:var(--accent)}.sidebar-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{display:block;font-size:10px;margin-top:4px}.sidebar-bottom .dot{margin-left:auto}.avatar{width:36px;height:36px;flex-shrink:0;background:#243731;border:1px solid #426357;border-radius:12px;display:grid;place-items:center;font-size:21px;color:var(--accent)}main{width:calc(100% - 220px);margin-left:220px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#0d131d}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{margin:0 14px;opacity:.5}.breadcrumb strong{color:var(--text);font-weight:500}.top-actions{display:flex;align-items:center;gap:17px}.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;box-shadow:0 0 12px #77e3c250}.dot.offline{background:var(--danger);box-shadow:none}.live-indicator{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.icon-button,.text-button{border:0;background:transparent;color:var(--muted)}.icon-button{font-size:23px;width:30px;height:30px}.text-button{font-size:11px;padding:8px 0}.icon-button:hover,.text-button:hover{color:var(--accent)}.main-content{max-width:1600px;margin:auto;padding:34px 38px 0}.page{display:none}.page.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading p{color:var(--muted);font-size:12px;margin-top:6px}.date-box{text-align:right;font-size:12px}.date-box small{display:block;font-size:10px;margin-top:9px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{border:1px solid var(--line);border-radius:var(--radius);padding:20px 21px;background:linear-gradient(115deg,#141e2a,#101722);min-height:150px}.metric-label{font-size:11px;color:#a8b4c5;display:flex;justify-content:space-between;gap:10px}.metric-label span{color:#688098;font-size:16px}.metric-value{font-size:32px;font-weight:600;letter-spacing:-1px;margin:14px 0 8px;font-variant-numeric:tabular-nums}.metric small{font-size:10px}.online-value{color:var(--accent)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px;min-width:0}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.card-heading p{font-size:11px;color:var(--muted);margin-top:5px}.tag{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 8px;border-radius:5px;font-size:9px;letter-spacing:.4px;background:#253142;color:#a8b8ce}.tag.accent{color:var(--accent);background:#1b3531;border:1px solid #2b5349}.tag.subdued{background:#192431;color:#7d91aa;font-size:8px;letter-spacing:.9px}.tag.error{color:var(--danger);background:#3b252b}.tag.blue{color:var(--blue);background:#202e45}.tag.purple{color:var(--purple);background:#30253e}.overview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.activity-chart{height:140px;display:flex;align-items:stretch;gap:5px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent,transparent 34px,#1e293638 34px,#1e293638 35px)}.bar-column{flex:1;display:flex;align-items:flex-end;position:relative;padding-top:14px}.activity-bar{background:linear-gradient(0deg,#24594e,#78dfc1);width:100%;min-height:2px;border-radius:3px 3px 0 0;opacity:.8}.bar-column:hover .activity-bar{opacity:1}.bar-column:hover:after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--text);font-size:10px;background:#263242;border:1px solid var(--line);padding:5px 7px;border-radius:5px;z-index:2}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:#67768b;margin-top:10px}.activity-footer{border-top:1px solid var(--line);margin-top:19px;padding-top:15px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.legend-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:2px;margin-right:6px}.model-row{margin-bottom:19px}.model-row-head{display:flex;align-items:center;gap:8px;font-size:12px}.model-row-head small{margin-left:auto;font-size:10px}.model-row p{font-size:10px;color:var(--muted);margin:5px 0 8px}.model-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--accent)}.model-dot.sol{background:var(--blue)}.model-dot.astra{background:var(--purple)}.progress{height:4px;background:#25303e;border-radius:3px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:3px}.progress.sol>span{background:var(--blue)}.progress.astra>span{background:var(--purple)}.model-footnote{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.lower-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.timeline-row{display:flex;gap:12px;margin-bottom:19px;position:relative}.timeline-dot{width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 4px #1a302e}.timeline-row.warning .timeline-dot,.timeline-row.error .timeline-dot{background:#e3b476;box-shadow:0 0 0 4px #322c25}.timeline-body{min-width:0;flex:1}.timeline-head{display:flex;justify-content:space-between;font-size:11px;gap:10px;margin-bottom:6px}.timeline-head time{font-size:9px;color:var(--muted);white-space:nowrap}.timeline-body p{font-size:11px;color:#9ba9bc;line-height:1.7;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #202b39;font-size:11px;gap:10px}.service-row span:first-child{color:#bdc8d6}.service-row small{font-size:9px}.resource-bars{padding-top:15px}.resource-row{margin-top:13px}.resource-head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:7px;color:var(--muted)}.resource-head strong{font-weight:500;color:#c2cfdf}.resource-row .progress{height:4px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px}.toolbar input{max-width:420px}.toolbar select{width:auto;min-width:170px}.toolbar>.muted{margin-left:auto;font-size:11px}.toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin:0!important}.toggle input{accent-color:var(--accent);width:auto}.message-card{padding:0 24px}.message-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:13px}.message-row:last-child{border-bottom:0}.message-avatar{width:32px;height:32px;border-radius:10px;background:#243242;display:grid;place-items:center;font-size:12px;color:#9eafc5;flex-shrink:0}.message-row.outgoing .message-avatar{background:#244237;color:var(--accent)}.message-body{min-width:0;flex:1}.message-meta{display:flex;align-items:center;gap:9px;font-size:11px;margin-bottom:8px}.message-meta small{font-size:9px}.message-meta time{margin-left:auto;font-size:10px;color:var(--muted)}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;color:#c4cfdd;font-size:12px}.flow-strip{border:1px solid #2e4843;background:linear-gradient(90deg,#142820,#151c29);border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:space-around;gap:12px;margin-bottom:24px;font-size:12px;color:#b3c8c3}.flow-strip b{font-family:Consolas,monospace;color:var(--accent);margin-right:8px;font-size:10px}.flow-strip i{font-style:normal;color:#547168}.decision-row{padding:14px 0;border-bottom:1px solid var(--line)}.decision-row:last-child{border:0}.decision-row summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;font-size:12px}.decision-row summary::-webkit-details-marker{display:none}.decision-row summary time{color:var(--muted);font-size:10px;min-width:112px}.decision-row summary .summary-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#becadb}.decision-row summary:after{content:'+';color:var(--muted)}.decision-row[open] summary:after{content:'−'}.decision-row pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;color:#a3b6ca;background:#0c131d;border-radius:8px;padding:16px;line-height:1.8;margin-bottom:0}.decision-row small{display:block;margin-top:10px;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-weight:500;color:var(--muted);padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:14px 10px;border-bottom:1px solid #1d2835;color:#b8c6d7;white-space:nowrap}tbody tr:last-child td{border:0}.empty{color:var(--muted);text-align:center;padding:45px 15px;line-height:1.8;font-size:12px}.settings-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}label{display:block;color:#aab8ca;font-size:11px;margin-bottom:20px}input,textarea,select{display:block;width:100%;margin-top:8px;background:#0c141f;color:var(--text);border:1px solid #2b394c;border-radius:8px;padding:11px 12px;font-size:12px;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:#5eaf9b;outline:1px solid #3e7366}textarea{resize:vertical;min-height:100px}input::placeholder{color:#53647a}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.range-field{display:flex;align-items:center;gap:18px}.range-field input{padding:0;accent-color:var(--accent);height:25px}.range-field output{font-family:Consolas,monospace;color:var(--accent);font-size:14px;min-width:35px;text-align:right}.check-row{display:flex;align-items:center;gap:10px;margin:15px 0 0}.check-row input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.key-row{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:11px}.key-row span{color:var(--muted)}.key-row strong{font-weight:500}.routing-line{display:flex;align-items:center;gap:9px;font-size:11px;margin-top:17px}.routing-line strong{font-weight:500;min-width:62px}.routing-line>span:last-child{color:var(--muted);margin-left:auto}.routing-card p{font-size:10px;margin-top:20px}.save-bar{position:sticky;bottom:16px;display:flex;justify-content:space-between;align-items:center;background:#15202eed;border:1px solid #35465b;border-radius:12px;padding:14px 20px;box-shadow:0 12px 35px #0005;z-index:2}.save-bar>span{color:var(--muted);font-size:11px}.button{border:1px solid #36475c;border-radius:8px;background:#192536;color:#d7e2ee;padding:11px 17px;font-size:12px;line-height:1.4}.button:hover{background:#24364b;border-color:#57718e}.button.primary{background:var(--accent);color:#10392e;border-color:var(--accent);font-weight:650}.button.primary:hover{background:#a0f1d9}.button.danger{color:var(--danger);background:#35232b;border-color:#643942}.button.full{width:100%;display:flex;justify-content:space-between;margin-top:10px}.operations-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.operations-grid .card>p{font-size:12px;margin:12px 0 24px}.operation-buttons{display:flex;gap:10px;flex-wrap:wrap}.operations-grid h2{margin-bottom:18px}.notice{border:1px solid #37594d;background:#19352d;color:#b4e3d3;padding:12px 16px;border-radius:9px;line-height:1.7;font-size:12px;margin-bottom:20px;overflow-wrap:anywhere}.notice.error{border-color:#69404b;background:#35232c;color:#efb0b7}.audit-row{display:grid;grid-template-columns:145px 150px 1fr;gap:20px;font-size:11px;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.8}.audit-row time,.audit-row p{color:var(--muted)}.audit-row:last-child{border:0}.footer{display:flex;justify-content:space-between;color:#536176;border-top:1px solid var(--line);padding:20px 0 25px;margin-top:12px;font-size:9px;letter-spacing:.6px}.footer b{font-weight:600;color:#789089}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#244d40;color:#d4f9eb;border:1px solid #559b82;padding:13px 22px;border-radius:9px;box-shadow:0 8px 40px #0008;max-width:90vw;font-size:12px;z-index:50}.toast.error{background:#482b34;border-color:#935262;color:#ffd0d6}dialog{border:1px solid #344960;background:#141e2b;color:var(--text);border-radius:16px;max-width:470px;width:90vw;padding:0;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#030912b8;backdrop-filter:blur(4px)}.dialog-inner{padding:30px}.dialog-inner p{font-size:12px;color:var(--muted);margin-top:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:27px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{padding:55px 9%;background:radial-gradient(ellipse at 20% 50%,#1b3b35 0,transparent 60%),linear-gradient(150deg,#111c2b,#0c1720);border-right:1px solid #253a43;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;right:-200px;bottom:-160px;width:550px;height:550px;border:1px solid #719d9033;border-radius:50%;box-shadow:0 0 0 60px #719d9009,0 0 0 120px #719d9006;pointer-events:none}.login-copy{margin:auto 0;padding:50px 0}.login-copy h1{font-size:42px;line-height:1.65;letter-spacing:-1px;margin:20px 0}.login-copy p{font-size:14px;color:#8aa99d;line-height:2}.login-diagram{display:flex;align-items:center;gap:17px;margin-top:43px;font-size:11px;color:#b0d5c9}.login-diagram span{border:1px solid #3c6559;padding:9px 18px;border-radius:7px;background:#1b322b55}.login-diagram i{width:30px;height:1px;background:#436b5e}.login-story>small{font-size:9px;letter-spacing:2px;color:#5e7d73}.login-area{display:grid;place-items:center;padding:40px}.login-card{width:100%;max-width:345px}.login-card h2{font-size:26px;margin:14px 0 8px}.login-card>.muted{font-size:12px;margin-bottom:35px}.login-card label{margin:22px 0}.login-card input{padding:13px 14px}.login-note{font-size:10px;color:#576c80;text-align:center;margin-top:23px}.form-error{font-size:11px;color:var(--danger);min-height:22px}
@media(min-width:1600px){.main-content{padding-top:42px}.activity-chart{height:170px}.card{padding:28px}}
@media(max-width:1150px){.sidebar{width:185px;padding:30px 16px}main{margin-left:185px;width:calc(100% - 185px)}.main-content{padding:28px 24px 0}.topbar{padding:0 24px}.metric-grid{gap:12px}.metric{padding:18px 14px}.metric-value{font-size:28px}.overview-grid,.lower-grid{gap:16px;grid-template-columns:1.2fr 1fr}.card{padding:20px}.settings-grid{grid-template-columns:1fr}.field-row{gap:14px}.login-copy h1{font-size:34px}.tag.subdued{display:none}}
@media(max-width:800px){.sidebar{position:static;width:100%;height:auto;padding:17px 20px 10px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin-bottom:15px}.sidebar .brand strong{font-size:18px}.brand-mark{width:31px;height:33px;font-size:23px}.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px}.nav-item{justify-content:center;gap:6px;padding:10px 8px;font-size:11px}.nav-item>span{font-size:16px;width:auto}.nav-item i{display:none}.app-shell{display:block}main{margin-left:0;width:100%}.topbar{height:55px;padding:0 20px}.main-content{padding:25px 20px 0}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.page-heading .date-box{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.lower-grid,.operations-grid{grid-template-columns:1fr;gap:0}.metric{min-height:137px}.activity-chart{height:135px}.flow-strip{padding:15px 10px;font-size:10px;gap:5px}.flow-strip b{display:block;margin:0 0 6px}.toolbar{flex-wrap:wrap}.toolbar>.muted{margin-left:0}.toolbar input{max-width:none}.toolbar select{flex:1}.decision-row summary{gap:8px}.decision-row summary time{min-width:70px;font-size:9px}.decision-row summary .summary-text{font-size:11px}.decision-row summary .tag{font-size:8px}.field-row{grid-template-columns:1fr;gap:0}.settings-grid{gap:0}.message-meta{flex-wrap:wrap}.message-meta time{font-size:9px}.message-meta small{display:none}.audit-row{grid-template-columns:1fr 1fr;gap:7px}.audit-row p{grid-column:1/-1}.save-bar{bottom:8px;padding:12px}.footer{font-size:8px}.login-screen{grid-template-columns:1fr}.login-story{display:none}.login-area{min-height:100vh;padding:30px}.login-card h2{font-size:27px}.card-heading{margin-bottom:19px}}
@media(prefers-reduced-motion:no-preference){.page.active{animation:enter .18s ease-out}@keyframes enter{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}}

@media(max-width:800px){.sidebar nav .nav-item{flex-direction:column;gap:5px;padding:9px 2px;font-size:10px;white-space:nowrap}.sidebar nav .nav-item>span{line-height:1.1}}
