/* Adapted from the main fufu control center's typography, teal palette, cards and sidebar. */
:root{--bg:#f2f5f7;--ink:#263442;--muted:#87939f;--line:#e4e9ee;--teal:#147d74;--teal-soft:#eaf5f1;--red:#b75d58;--amber:#aa7b36;--shadow:0 5px 22px #24394a06}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 "Segoe UI","Microsoft YaHei",system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a,input,select{touch-action:manipulation}a{color:var(--teal);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-.8px;font-weight:650;line-height:1.35}h2{font-size:17px;font-weight:620}h3{font-size:14px}small{font-size:11px}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{display:block;font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:650;margin-bottom:7px}.accent-dot{color:#c9837a}.small-text{font-size:11px}.footnote{font-size:11px;color:var(--muted);margin-top:16px}.primary,.secondary,.text-button,.quiet,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:9px 15px;font-size:12px;font-weight:550}.primary{background:var(--teal);color:#fff}.secondary{border:1px solid var(--line);background:#fff;color:#556674}.text-button,.quiet,.icon-button{color:var(--teal);background:transparent}.icon-button{font-size:25px;padding:0 8px}.error{color:var(--red);font-size:12px}.error:empty{display:none}input,select{border:1px solid #dce3e9;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus{outline:2px solid #a7d4c9;outline-offset:1px}button:focus-visible,a:focus-visible{outline:2px solid #a7d4c9;outline-offset:3px}
.workspace{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);margin-bottom:52px}.brand strong{font-size:21px;letter-spacing:-1px}.brand strong span{font-weight:400;color:var(--teal)}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.8px}.brand-mark{height:52px;width:52px;border-radius:15px;background:var(--teal-soft);color:var(--teal);font:600 45px/1 "Segoe UI",sans-serif;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.brand-mark span{color:#c9837a}.brand-mark.small{height:38px;width:38px;min-width:38px;border-radius:11px;font-size:32px;margin:0}.nav-label{color:#a6afb6;font-size:10px;letter-spacing:1.4px;margin:0 12px 14px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#72818f;padding:12px;border-radius:9px;text-align:left;font-size:13px;margin-bottom:5px}.nav-item>span{font-size:17px}.nav-item.active{color:var(--teal);background:var(--teal-soft);font-weight:600}.nav-item b{font-size:10px;margin-left:auto;font-weight:500;background:#d8ebe4;padding:0 5px;border-radius:4px}.sidebar-note{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 10px;border-top:1px solid var(--line)}.sidebar-note strong{font-size:11px;font-weight:550}.sidebar-note small{display:block;color:var(--muted);font-size:10px}.pulse-dot{height:7px;width:7px;min-width:7px;border-radius:50%;background:#c3cbd0}.pulse-dot.ok{background:#65a591}.pulse-dot.error{background:var(--red)}.pulse-dot.warning{background:#bf9b5b}.sidebar footer{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding:18px 10px 0}.sidebar footer>span{font-size:8px;letter-spacing:1.8px;color:#a7b2ba}.sidebar .quiet{justify-content:flex-start;padding:0;font-size:11px;color:var(--muted)}main{min-width:0}.topbar{height:76px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:#fbfcfd;color:#9aa5ae;font-size:11px}.topbar i{font-style:normal;margin:0 12px;color:#ccd4da}.topbar b{font-weight:500;color:#647382}.topbar>div{display:flex;gap:16px;align-items:center}.view{padding:36px 40px 32px;max-width:1580px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{font-size:12px;margin-top:10px}.badge{display:inline-flex;align-items:center;border-radius:6px;font-size:10px;padding:4px 9px;white-space:nowrap;letter-spacing:.2px}.badge.ok,.badge.resolved{background:var(--teal-soft);color:var(--teal)}.badge.error,.badge.unresolved{background:#faeeeb;color:var(--red)}.badge.warning,.badge.in_progress,.badge.partial{background:#f8f1e4;color:var(--amber)}.badge.neutral,.badge.unknown,.badge.abandoned{background:#eaf0f4;color:#7f8c99}.alerts{display:grid;gap:8px}.alert{background:#fff8f3;border:1px solid #edddcf;color:#967647;border-radius:10px;padding:12px 16px;font-size:12px;margin-bottom:16px}.alert.error{background:#fdf3f1;border-color:#efd8d3;color:#a6635e}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px 21px;box-shadow:var(--shadow)}.metric>div{display:flex;justify-content:space-between;color:#83919e;font-size:11px}.metric i{font-size:9px;font-style:normal;color:#bac5cd;letter-spacing:1px}.metric>strong{display:block;font-size:27px;font-weight:620;line-height:1.5;letter-spacing:-.5px;margin:10px 0 5px}.metric small{color:#99a5ae;font-size:10px}.panel{padding:23px 25px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin-bottom:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.section-head .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:6px}.two-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.legend{font-size:10px;color:#8d9aa5;display:flex;align-items:center;gap:6px}.legend i{width:6px;height:6px;background:#6aa58f;border-radius:50%}.connection-chart{height:86px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.connection-chart svg{width:100%;height:78px;display:block}.chart-foot{display:flex;justify-content:space-between;color:#a3adb5;font-size:9px;margin-top:8px}.archive-summary{display:flex;align-items:baseline;gap:9px}.archive-summary strong{font-size:27px;font-weight:600}.archive-summary>span{color:var(--muted);font-size:11px}.progress-track{height:5px;background:#edf2f4;border-radius:4px;margin:14px 0}.progress-track>span{display:block;height:100%;background:#79ad9c;border-radius:4px;width:0;transition:width .3s}.split-line{display:flex;justify-content:space-between;font-size:10px;color:#97a3ac}.split-line b{font-weight:550;color:#687987;margin-left:4px}.outcomes{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.route{padding:17px;background:#f7faf9;border:1px solid #e5eeeb;border-radius:9px;min-width:0}.route small{color:#96a29d;font-size:9px;letter-spacing:1px}.route strong{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.8;margin:9px 0 5px;font-weight:550}.route span{font-size:10px;color:#98a5ab}.route:first-child{background:#eff7f3;border-color:#cfe4da}.runtime-list{display:grid;gap:13px}.runtime-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f3f5;padding-bottom:10px;font-size:11px;color:#7d8d99}.runtime-row:last-child{border:0;padding:0}.runtime-row strong{color:#4e6371;font-weight:500;text-align:right}.recent-calls{max-height:218px;overflow:auto}.call-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:13px;font-size:10px;border-bottom:1px solid #eef2f4;padding:9px 0;align-items:center}.call-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:#526775}.call-row small{font-size:9px;color:#a0acb5}.call-row>span{color:#97a4ad}.case-row{display:flex;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid #eef2f4;cursor:pointer}.case-row:hover .case-title{color:var(--teal)}.case-row:last-child{border-bottom:0}.case-main{min-width:0;flex:1}.case-title{display:block;font-size:13px;font-weight:550;color:#405562;line-height:1.7;text-align:left;overflow-wrap:anywhere}.case-meta{font-size:10px;color:#a0abb4;display:flex;gap:14px;flex-wrap:wrap;margin-top:7px}.case-right{display:flex;align-items:center;gap:14px}.case-arrow{font-size:18px;color:#aebcc5}.empty-state{text-align:center;padding:38px 15px;color:#97a4ae;font-size:12px}.page-foot{color:#a3adb5;font-size:10px;text-align:center;margin:6px 0 15px}.filters{display:flex;gap:12px;margin-bottom:13px}.search{display:flex;align-items:center;gap:8px;flex:1;background:#fff;border:1px solid #dce3e9;padding:0 12px;border-radius:8px}.search>span{font-size:21px;color:#95a6b2}.search input{border:0;background:transparent;width:100%;padding-left:0;font-size:12px;outline:none}.filters select{font-size:12px;min-width:136px}.pagination{display:flex;gap:18px;justify-content:center;align-items:center;margin-top:24px;font-size:11px;color:#8c9ba6}.detail-overlay{position:fixed;inset:0;background:#1c35434d;display:flex;justify-content:flex-end;z-index:30;backdrop-filter:blur(2px)}.detail-panel{width:min(800px,94vw);height:100vh;background:#fff;overflow:auto;box-shadow:-10px 0 50px #24354313;padding:28px 34px 45px}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.detail-header .eyebrow{margin:0}.detail-panel h1{font-size:24px;line-height:1.55;overflow-wrap:anywhere}.detail-tags{display:flex;gap:8px;margin:14px 0 22px;align-items:center;flex-wrap:wrap}.detail-section{border-top:1px solid var(--line);padding-top:22px;margin-top:23px}.detail-section h2{margin-bottom:12px;font-size:15px}.detail-section p{font-size:12px;color:#617480;white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.detail-actions select{font-size:11px;max-width:65%}.detail-actions a{font-size:11px;display:flex;align-items:center}.step{position:relative;margin:0 0 13px;padding:14px 15px 14px 19px;background:#f8fafb;border-left:2px solid #cbded6;border-radius:0 7px 7px 0}.step strong{font-size:12px;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere;display:block;margin:8px 0}.step p{font-size:11px}.evidence{font-size:10px;color:#8499a5;margin-top:9px;white-space:pre-wrap;overflow-wrap:anywhere}.message{margin-bottom:13px;border:1px solid #e9eef1;border-radius:8px;padding:13px 15px;scroll-margin-top:18px}.message.bot{background:#f4f9f6;border-color:#dfebe4}.message-header{display:flex;justify-content:space-between;font-size:9px;color:#98a5ae;margin-bottom:8px;gap:10px}.message>p{font-size:12px;color:#4e6370;white-space:pre-wrap;overflow-wrap:anywhere}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#354f5e;color:#fff;padding:11px 18px;border-radius:8px;box-shadow:0 8px 30px #203e4d20;font-size:12px;z-index:50}.login-screen{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at 20% 10%,#e6f2eb,transparent 60%),var(--bg)}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e0e8e5;border-radius:20px;padding:40px 44px;box-shadow:0 14px 70px #4362570a}.login-card h1{font-size:25px}.login-card>p{font-size:12px;margin-top:12px}.login-card form{display:grid;gap:18px;margin-top:28px}.login-card label{display:grid;gap:7px;color:#7e8e98;font-size:11px}.login-card .primary{justify-content:space-between;font-size:12px;padding:12px 15px}.login-foot{color:#adb8bd;font-size:10px!important;border-top:1px solid var(--line);padding-top:19px;margin-top:24px!important}
@media(min-width:1500px){.view{padding-top:42px}}@media(max-width:1100px){.workspace{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding:30px 15px}.topbar{padding:0 26px}.view{padding:28px 26px}.metrics{gap:12px}.metric{padding:17px 15px}.two-columns{gap:16px}.panel{padding:20px}.routes{gap:8px}.route{padding:13px}.route strong{font-size:11px}}@media(max-width:800px){.workspace{display:block}.sidebar{height:auto;position:static;padding:18px 20px;display:grid;grid-template-columns:1fr auto;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0}.sidebar nav{display:flex;gap:5px}.nav-item{width:auto;margin:0;padding:8px 10px;font-size:12px}.nav-item b{display:none}.nav-label,.sidebar-note,.sidebar footer{display:none}.topbar{height:56px;padding:0 20px}.topbar>div>span{display:none}.view{padding:26px 20px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:28px}.metrics{grid-template-columns:1fr 1fr;gap:12px}.metric>strong{font-size:25px}.two-columns{grid-template-columns:1fr;gap:0}.panel{margin-bottom:18px}.routes{grid-template-columns:1fr}.route{display:grid;grid-template-columns:50px minmax(0,1fr);gap:3px 10px;align-items:center}.route strong{margin:0}.route span{grid-column:2}.detail-panel{padding:24px 22px}.detail-panel h1{font-size:20px}.detail-actions select{max-width:100%}}@media(max-width:430px){.brand strong{font-size:18px}.brand small{font-size:8px}.brand-mark.small{width:32px;height:32px;min-width:32px;font-size:27px}.sidebar{padding:15px 14px}.nav-item{gap:6px;font-size:11px;padding:8px}.nav-item>span{font-size:14px}.topbar{padding:0 16px}.view{padding:23px 16px}.page-heading{align-items:flex-start}.page-heading p{max-width:220px}.metrics{gap:10px}.metric{padding:15px 13px}.metric>strong{font-size:23px}.metric small{font-size:9px}.panel{padding:19px 17px}.case-row{gap:10px}.case-right{gap:6px}.case-meta{gap:9px;font-size:9px}.case-title{font-size:12px}.case-arrow{display:none}.filters{flex-direction:column}.filters select{width:100%}.login-card{padding:32px 26px}.login-card h1{font-size:23px}}

.inspection-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:#91a0aa;margin-bottom:14px}.inspection-row{display:grid;grid-template-columns:100px 85px minmax(0,1fr);gap:15px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f4;font-size:11px;color:#7d8f9c}.inspection-row>span:last-child{overflow-wrap:anywhere}.incident-details{margin-top:17px;color:#788d99;font-size:11px}.incident-details summary{cursor:pointer;color:#467f73}.incident-row{padding:12px 0;border-bottom:1px solid #edf2f4}.incident-row strong{font-size:12px;font-weight:500;display:block}.incident-row small{font-size:10px;color:#97a5ae}@media(max-width:650px){.inspection-row{grid-template-columns:75px 72px minmax(0,1fr);gap:9px;font-size:10px}.inspection-summary{font-size:10px}}
