:root{font-family:PingFang SC,Microsoft YaHei,Inter,system-ui,sans-serif;color:#243b55;background:#eef3f8;font-synthesis:none;--navy: #062f61;--navy-deep: #03264e;--blue: #1968d7;--green: #13943d;--amber: #eea600;--red: #e31d24;--border: #d5dee8;--muted: #6c7f93;--surface: #ffffff;--bg: #eef3f8;--shadow: 0 1px 4px rgba(23, 54, 89, .08)}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.app-shell{min-height:100vh;display:flex;flex-direction:column}.deployment-banner{min-height:34px;padding:8px 16px;border-bottom:1px solid #e7c566;background:#fff7dc;color:#6f5300;text-align:center;font-size:12px;font-weight:700;letter-spacing:.01em}.app-header{min-height:64px;padding:8px 16px;color:#fff;background:linear-gradient(90deg,var(--navy-deep),#08427b);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 2px 8px #011c3a3d}.brand{display:flex;align-items:center;gap:10px;min-width:390px}.brand-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;background:#ffffff14;border-radius:5px}.brand h1{margin:0;font-size:22px;line-height:1.2;letter-spacing:.04em;font-weight:700}.brand p{margin:3px 0 0;color:#b8cee6;font-size:10px;letter-spacing:.12em}.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1}.header-field,.search-box{height:38px;border:1px solid rgba(192,215,239,.42);background:#03254b73;color:#fff;display:flex;align-items:center;border-radius:4px}.header-field span{color:#a9c5e1;font-size:11px;padding-left:10px;white-space:nowrap}.header-field select{color:#fff;background:transparent;border:0;outline:0;height:100%;padding:0 26px 0 8px;font-size:12px}.header-field option{color:#213850;background:#fff}.model-field select{width:180px}.run-button{height:38px;border:1px solid #79aef1;background:#f7fbff;color:#0d4f9b;border-radius:4px;padding:0 14px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;white-space:nowrap}.run-button:hover:not(:disabled){background:#e8f2ff}.header-action-button{height:38px;padding:0 10px;display:flex;align-items:center;gap:5px;border:1px solid rgba(181,211,241,.55);border-radius:4px;color:#e7f2ff;background:#02224657;font-size:11px;white-space:nowrap}.header-action-button:hover{background:#ffffff1f}.header-action-button.continuity{border-color:#f0be5c;color:#ffe5a8}.header-action-button.continuity.active{border-color:#66d18a;color:#fff;background:#16723a}.search-box{width:225px;gap:7px;padding:0 10px}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:11px}.search-box input::placeholder{color:#9eb9d7}.live-state{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;color:#cfe3f7;padding:0 4px}.kpi-strip{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:10px 14px}.kpi-strip>.panel-help-button{position:absolute;z-index:2;right:18px;top:14px;color:#6a8299}.kpi-card{height:72px;display:flex;align-items:center;gap:12px;padding:10px 18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:5px}.kpi-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:#fff}.kpi-icon.blue{background:#236ed7}.kpi-icon.red{background:#ef252c}.kpi-icon.amber{background:#efa900}.kpi-icon.green{background:#169b45}.kpi-label{display:block;color:#5d6d7e;font-size:11px;margin-bottom:2px}.kpi-card strong{font-family:Inter,ui-monospace,monospace;font-size:25px;letter-spacing:.02em;color:#0b3769}.kpi-card strong.red{color:var(--red)}.kpi-card strong.amber{color:var(--amber)}.kpi-card strong.green{color:var(--green)}.dashboard-grid{flex:1;display:grid;grid-template-columns:275px minmax(670px,1fr) minmax(480px,560px);gap:10px;padding:0 14px 10px;min-height:690px}.left-rail,.center-column,.right-area{min-width:0;display:flex;flex-direction:column;gap:10px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:var(--shadow);overflow:hidden}.panel-title{min-height:39px;padding:9px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title h2{margin:0;font-size:14px;line-height:1.2;color:#173e6a;letter-spacing:.02em}.panel-title span{color:#78899b;font-size:10px}.panel-title-actions,.table-actions{display:flex;align-items:center;gap:7px}.panel-help-button{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;padding:0;border:1px solid #cbd7e3;border-radius:50%;color:#356b9d;background:#f8fbfe}.panel-help-button:hover{color:#fff;border-color:#2876d9;background:#2876d9}.distribution-panel{min-height:229px}.risk-bars{padding:10px 9px 6px;display:grid;gap:8px}.risk-bar-row{display:grid;grid-template-columns:60px 1fr 22px;gap:7px;align-items:center;font-size:10px}.risk-bar-label{display:flex;gap:5px;align-items:baseline}.risk-bar-label strong{font-size:11px;color:#243b55}.risk-bar-label span{color:#758496}.risk-bar-track{height:10px;background:#edf1f5;border-radius:3px;overflow:hidden}.risk-bar-track span{display:block;min-height:100%;border-radius:3px}.risk-count{text-align:right;color:#384d63;font-weight:700}.trend-panel{min-height:245px}.trend-legend{padding:7px 10px 0;display:flex;gap:13px;color:#6b7d91;font-size:9px}.trend-legend span:before{content:"";display:inline-block;width:15px;height:2px;margin:0 4px 3px 0}.green-dot:before{background:#159a43}.amber-dot:before{background:#efa900}.red-dot:before{background:#e31d24}.trend-chart{width:100%;height:174px;padding:3px 8px 0;overflow:visible}.trend-chart text{fill:#78899b;font-size:8px}.grid-line{stroke:#dce4ec;stroke-dasharray:2 3}.trend-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.trend-line.safe{stroke:#159a43}.trend-line.review{stroke:#efa900}.trend-line.danger{stroke:#e31d24}.lifecycle-panel{flex:1;min-height:170px}.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);padding:22px 9px 12px}.life-step{position:relative;display:grid;justify-items:center;gap:5px;color:#5f7184;font-size:9px}.life-step:not(:last-child):after{content:"";position:absolute;height:1px;background:#9fb0c2;width:36%;right:-18%;top:15px}.life-step strong{font-size:12px;color:#27445f}.life-icon{width:31px;height:31px;display:grid;place-items:center;color:#fff;border-radius:50%;background:#2876d9}.step-1{background:#e76715}.step-2{background:#e8a300}.step-3{background:#2876d9}.step-4{background:#159a43}.flow-panel{height:300px}.flow-stages{display:flex;align-items:stretch;justify-content:space-between;padding:22px 18px 12px}.flow-piece{display:flex;align-items:center;min-width:0;flex:1}.flow-stage{min-width:0;height:174px;flex:1;border:1px solid #bfcbd8;border-radius:3px;padding:12px 8px 9px;text-align:center;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#fff,#f9fbfd)}.flow-stage h3{margin:0;color:#274c75;font-size:11px;white-space:nowrap}.stage-icon{margin:13px 0 9px;width:45px;height:45px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}.stage-icon.green{color:var(--green)}.stage-icon.blue{color:var(--blue)}.stage-icon.amber{color:var(--amber)}.stage-icon.red{color:var(--red)}.flow-stage p{min-height:32px;margin:0;font-size:9px;line-height:1.5;color:#64768a}.stage-state{margin-top:auto;display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700}.stage-state.green{color:var(--green)}.stage-state.blue{color:var(--blue)}.stage-state.amber{color:var(--amber)}.stage-state.red{color:var(--red)}.flow-arrow{flex:0 0 20px;text-align:center;color:#0c4f95;font-size:20px}.flow-legend{display:flex;justify-content:center;gap:30px;font-size:9px;color:#627488}.flow-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.flow-legend i.green{background:var(--green)}.flow-legend i.blue{background:var(--blue)}.flow-legend i.amber{background:var(--amber)}.journey-panel{height:450px;overflow:hidden}.journey-heading>div span{display:block;margin-top:3px;color:#7a8b9e;font-size:9px}.journey-heading .panel-title-actions b{color:#145da7;font-size:13px}.journey-canvas{height:360px;margin:0 12px;overflow:hidden;background:#f7fafd;border-bottom:1px solid #e0e7ee}.journey-track{position:relative;width:100%;height:346px;background:radial-gradient(circle at 52% 38%,rgba(36,116,203,.075),transparent 28%),linear-gradient(180deg,#fbfdff,#f4f8fc)}.journey-path{position:absolute;left:0;top:0;width:100%;height:210px}.journey-path-shadow,.journey-path-line{fill:none;stroke-linecap:round}.journey-path-shadow{stroke:#d9e5f0;stroke-width:10}.journey-path-line{stroke:#2773c3;stroke-width:2.4;stroke-dasharray:7 7}.journey-stage{position:absolute;z-index:2;width:145px;min-height:54px;transform:translate(-24px,-50%);display:grid;grid-template-columns:48px 1fr;align-items:center;gap:7px;pointer-events:none}.journey-node{grid-column:1;width:48px;height:48px;display:grid;place-items:center;border:2px solid #2773c3;border-radius:50%;color:#145da7;background:#fff;box-shadow:0 3px 12px #184b7e26}.journey-stage>div{padding:5px 6px;border:1px solid #d7e1eb;border-left:2px solid #2a76c7;border-radius:3px;background:#ffffffeb;box-shadow:0 2px 8px #1f466d14}.journey-stage strong{display:block;color:#234c73;font-size:10px}.journey-stage small{display:block;margin-top:3px;color:#75879a;font-size:7px;line-height:1.35;white-space:nowrap}.journey-step{position:absolute;left:-5px;top:-6px;z-index:2;width:19px;height:19px;display:grid;place-items:center;border:2px solid white;border-radius:50%;color:#fff;background:#0d4f93;font-size:8px;font-weight:800;box-shadow:0 1px 5px #08366440}.journey-call-board{position:absolute;left:0;right:0;top:218px;bottom:8px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.journey-lane{min-width:0;padding:5px;border:1px solid #d8e2ec;border-radius:4px;background:#ffffffe6}.journey-lane-title{height:20px;display:flex;align-items:center;justify-content:space-between;color:#728599;font-size:7px}.journey-lane-title b{min-width:18px;padding:2px 4px;border-radius:8px;color:#1b5f9f;background:#eaf3fc;text-align:center}.journey-lane-calls{max-height:101px;padding:3px;display:flex;align-content:flex-start;flex-wrap:wrap;gap:5px;overflow-y:auto;scrollbar-width:thin}.journey-lane-calls>em{margin:10px auto;color:#a1afbd;font-size:9px}.journey-call{position:relative;z-index:6;min-width:43px;height:25px;padding:2px 5px;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px;border:2px solid white;border-radius:15px;color:#fff;background:var(--call-color);box-shadow:0 2px 7px color-mix(in srgb,var(--call-color) 38%,transparent);font-size:7px}.journey-call b{font-size:8px}.journey-call span{max-width:31px;overflow:hidden;text-overflow:ellipsis}.journey-call:hover,.journey-call.selected{outline:2px solid color-mix(in srgb,var(--call-color) 56%,white);outline-offset:1px}.journey-call.selected:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid var(--call-color);border-radius:20px;pointer-events:none}.journey-call.running{--call-color: #5f7893;pointer-events:none;animation:running-pulse 1s ease-in-out infinite}@keyframes selected-pulse{0%{opacity:.7;transform:scale(.85)}to{opacity:0;transform:scale(1.22)}}@keyframes running-pulse{50%{opacity:.55}}.journey-summary{min-height:49px;padding:8px 13px;display:flex;align-items:center;gap:17px;color:#62768a;font-size:8px}.journey-summary span{white-space:nowrap}.journey-summary i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%}.journey-summary i.local{background:var(--green)}.journey-summary i.model{background:var(--blue)}.journey-summary i.fallback{background:#7856a8}.journey-summary strong{color:#294d70}.journey-summary em{margin-left:auto;color:#8291a1;font-size:7px;font-style:normal;text-align:right}.event-panel{flex:1;min-height:380px;display:flex;flex-direction:column}.table-heading>div span{display:block;margin-top:2px}.ghost-button{height:27px;border:1px solid var(--border);background:#fff;color:#64768a;display:flex;align-items:center;gap:5px;padding:0 9px;font-size:10px;border-radius:3px}.table-wrap{overflow:auto;flex:1}table{width:100%;border-collapse:collapse;font-size:10px;white-space:nowrap}th{height:32px;padding:0 9px;text-align:left;color:#627487;background:#f5f8fb;border-bottom:1px solid var(--border);font-weight:600}td{height:39px;padding:0 9px;border-bottom:1px solid #e3e9ef;color:#344c64}.call-number{color:#1768b2;font-weight:800}tbody tr{cursor:pointer;transition:background .16s}tbody tr:hover,tbody tr.selected{background:#f0f6fd}tbody tr.selected td:first-child{box-shadow:inset 3px 0 #1f6fd5}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.value-high{color:var(--red);font-weight:700}.value-medium{color:#dc8500;font-weight:700}.value-low{color:var(--green);font-weight:700}.risk-tag{display:inline-grid;place-items:center;min-width:28px;height:20px;color:#fff;border-radius:4px;font-weight:800}.status-text{font-weight:700}.status-text.waiting{color:#e08b00}.status-text.processing{color:#176ed5}.status-text.reminded{color:#dc8500}.status-text.closed{color:var(--green)}.status-text.blocked{color:var(--red)}.status-text.degraded{color:#7856a8}.loading-row td{height:36px;text-align:center;color:#176ed5;background:#f4f8fd}.loading-row svg{vertical-align:middle;margin-right:7px}.table-footer{min-height:35px;padding:0 12px;background:#fbfcfd;display:flex;align-items:center;justify-content:space-between;color:#77889a;font-size:9px}.right-area{display:grid;grid-template-columns:minmax(310px,1.7fr) minmax(160px,.8fr)}.detail-panel,.trace-panel{height:100%}.danger-title h2{color:var(--red)}.danger-title span{color:#e08b00;font-weight:700}.detail-meta{display:grid;grid-template-columns:82px 1fr;row-gap:6px;padding:11px 12px 8px;font-size:9px}.detail-meta span{color:#76889b}.detail-meta strong,.detail-meta code{color:#344b62;overflow:hidden;text-overflow:ellipsis}.detail-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:7px 9px}.score-card{background:#f8fafc;border:1px solid #dae2ea;padding:8px 8px 7px}.score-card span{display:flex;justify-content:space-between;color:#5b6e82;font-size:8px}.score-card em{font-style:normal;color:#d65757}.score-card strong{display:block;margin:5px 0 6px;font-size:19px;font-family:Inter,ui-monospace,monospace}.score-card strong.danger{color:var(--red)}.score-card strong.safe{color:var(--green)}.score-card i{display:block;height:5px;border-radius:3px;background:#e4e9ef;overflow:hidden}.score-card b{display:block;height:100%}.score-card b.danger{background:var(--red)}.score-card b.safe{background:var(--green)}.decision-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin:0 9px 7px;padding:7px 8px;border:1px solid #bcd9c7;background:#f2fbf5;font-size:8px}.decision-strip span{color:#6a7d71}.decision-strip strong{color:#176a35}.decision-strip em{color:#176a35;font-style:normal;font-weight:800}.decision-strip.blocked{border-color:#efb7b9;background:#fff3f3}.decision-strip.blocked strong,.decision-strip.blocked em{color:var(--red)}.local-rule-list{display:flex;flex-wrap:wrap;gap:4px}.local-rule-list span{padding:3px 5px;border:1px solid #eab2b4;background:#fff5f5;color:#bf1d23;font:7px ui-monospace,SFMono-Regular,Menlo,monospace}.detail-section{padding:8px 10px;border-top:1px solid #e2e8ee}.detail-section h3{margin:0 0 7px;font-size:10px;color:#3d5268}.reason-list{display:flex;flex-wrap:wrap;gap:4px}.reason-list span{max-width:100%;padding:3px 5px;border:1px solid #f1c4c6;background:#fff2f2;color:#d6252c;font:7px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis}.reason-list em{color:#77899b;font-size:9px}.evidence-summary p{margin:0 0 5px;color:#53687c;font-size:9px;line-height:1.5}.evidence-summary .bullet{color:#3a5875}.action-box{display:grid;grid-template-columns:1.1fr 1fr .9fr;margin:6px 9px;border:1px solid #d9e1e9}.action-box div{padding:7px;min-width:0}.action-box div+div{border-left:1px solid #e0e6ed}.action-box span{display:block;color:#7b8b9b;font-size:8px}.action-box strong{display:block;margin-top:3px;color:#3b5167;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-button{width:calc(100% - 18px);height:38px;margin:1px 9px 5px;border:0;border-radius:3px;color:#fff;background:linear-gradient(90deg,#d91820,#eb252b);font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px}.alert-button.sent{background:var(--green)}.action-note{margin:0 10px 9px;color:#78899a;font-size:8px;line-height:1.4}.trace-panel .panel-title{padding-left:9px;padding-right:9px}.trace-panel .panel-title h2{font-size:12px}.timeline{padding:13px 8px 6px}.trace-step{position:relative;display:grid;grid-template-columns:25px 1fr;gap:6px;min-height:88px}.trace-step:not(.last):before{content:"";position:absolute;left:11px;top:25px;bottom:0;border-left:1px dashed #2c78d0}.trace-icon{width:24px;height:24px;border:2px solid #2472d0;color:#2472d0;background:#fff;border-radius:50%;display:grid;place-items:center;z-index:1}.trace-step.last .trace-icon{border-color:var(--red);color:var(--red)}.trace-step strong{display:block;color:#42566c;font-size:9px}.trace-step p{margin:4px 0;color:#748599;font-size:8px;line-height:1.45}.trace-step time{color:#8b9aaa;font-size:7px}.version-box{margin:0 8px 8px;padding:8px;border:1px solid #dce3ea;background:#f6f8fa;display:flex;align-items:center;gap:6px;color:var(--green)}.version-box div{min-width:0}.version-box strong{display:block;font-size:9px}.version-box span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;font:7px ui-monospace,monospace;color:#687b90}footer{min-height:58px;padding:14px;background:linear-gradient(90deg,#032b5c,#07477f);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700;letter-spacing:.04em}.toast{position:fixed;right:18px;bottom:74px;z-index:30;width:min(420px,calc(100vw - 36px));min-height:48px;padding:10px 10px 10px 13px;display:flex;align-items:center;gap:9px;color:#27415b;background:#fff;border:1px solid var(--border);border-left:4px solid var(--green);box-shadow:0 8px 28px #122f4f33;font-size:11px}.toast.error{border-left-color:var(--red)}.toast>span{flex:1}.toast button{border:0;background:transparent;color:#718296;padding:4px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:26px;background:#021831ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.rule-dialog,.guide-dialog{width:min(1180px,calc(100vw - 52px));max-height:calc(100vh - 52px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #b9cbe0;border-radius:7px;background:#f5f8fb;box-shadow:0 24px 80px #00102661}.guide-dialog{width:min(930px,calc(100vw - 52px))}.dialog-header{min-height:69px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(90deg,#032b5c,#0a4c87)}.dialog-header>div{display:flex;align-items:center;gap:11px}.dialog-header span{display:block;color:#acd0f2;font:700 9px/1.4 Inter,sans-serif;letter-spacing:.11em}.dialog-header h2{margin:2px 0 0;font-size:18px}.dialog-close,.dialog-back{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:4px;color:#fff;background:#ffffff14}.dialog-back{width:30px;height:30px}.dialog-close:hover,.dialog-back:hover{background:#ffffff2e}.rule-content{padding:14px;overflow:auto;display:grid;gap:13px}.rule-content>section{padding:12px;border:1px solid #d5dfe9;border-radius:5px;background:#fff}.rule-section-title{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.rule-section-title h3{margin:0;color:#173e6a;font-size:13px}.rule-section-title span{color:#71869a;font-size:9px}.dimension-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dimension-grid article{padding:9px;border-left:3px solid #2772c9;background:#f5f9fd}.dimension-grid strong{color:#174a7d;font-size:11px}.dimension-grid p{margin:4px 0 0;color:#697d91;font-size:9px;line-height:1.45}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.route-card{position:relative;min-height:103px;padding:9px 24px 9px 9px;display:flex;gap:8px;border:1px solid #cdd9e4;background:#fafcfe}.route-card>span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#2b75c8;font-size:9px;font-weight:800}.route-card>div{flex:1}.route-card strong{display:block;color:#284864;font-size:11px}.route-card p{min-height:40px;margin:4px 0;color:#697c8e;font-size:9px;line-height:1.45}.route-card em{color:#17693a;font-size:8px;font-style:normal;font-weight:700}.route-card>svg{position:absolute;right:5px;top:44px;color:#7e94a8}.route-card.local_block{border-top:3px solid var(--red)}.route-card.local_allow{border-top:3px solid var(--green)}.route-card.model_review{border-top:3px solid var(--blue)}.route-card.fallback{border-top:3px solid #7856a8}.hard-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hard-rule-grid article{padding:10px;display:flex;gap:9px;border:1px solid #edc7c8;background:#fff7f7;color:var(--red)}.hard-rule-grid article>div{min-width:0}.hard-rule-grid code{display:block;color:#bd2a30;font-size:7px;overflow-wrap:anywhere}.hard-rule-grid strong{display:block;margin:4px 0;color:#7d2428;font-size:11px}.hard-rule-grid p{margin:0 0 7px;color:#81595a;font-size:9px;line-height:1.45}.hard-rule-grid div div{display:flex;flex-wrap:wrap;gap:4px}.hard-rule-grid div span{padding:2px 4px;border:1px solid #e3c5c6;color:#8d5456;background:#fff;font-size:7px}.hard-rule-grid article.disabled{opacity:.55;filter:grayscale(.55)}.rule-toggle{margin-top:8px;display:flex;align-items:center;gap:5px;color:#5a6f82;font-size:8px}.rule-toggle input{accent-color:#1768b2}.business-control{display:grid!important;grid-template-columns:minmax(300px,1fr) auto auto auto;align-items:center;gap:12px;border-color:#e5c578!important;background:#fffaf0!important}.business-control.active{border-color:#7bc995!important;background:#f1fbf4!important}.business-control strong{color:#614a12;font-size:12px}.business-control.active strong{color:#176637}.business-control p{margin:4px 0 0;color:#75684b;font-size:9px;line-height:1.45}.business-control label{color:#536b7f;font-size:9px;font-weight:700;white-space:nowrap}.business-control select{height:32px;margin-left:7px;border:1px solid #bdccda;background:#fff;color:#234969}.business-control button{height:34px;padding:0 11px;border:0;border-radius:3px;color:#fff;background:#c68513;font-size:9px;font-weight:700}.business-control.active button{background:#197443}.core-check{display:flex;align-items:center;gap:5px}.core-check input{accent-color:#197443}.continuity-result{margin:0 9px 7px;padding:7px 8px;display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:7px;border:1px solid #7bc995;color:#315c40;background:#effaf3;font-size:8px}.continuity-result strong{color:#176637}.continuity-result b{color:#17713c}.rule-table-wrap{max-height:250px;overflow:auto;border:1px solid #d9e1e9}.rule-table-wrap table{font-size:9px}.rule-table-wrap td{height:31px}.rule-table-wrap code{color:#234f7b;font-size:8px}.threshold-row{margin-top:9px;display:flex;align-items:center;gap:8px;color:#44708f}.threshold-row span{padding:5px 7px;border:1px solid #cedbe7;background:#f6f9fc;font-size:8px}.threshold-row strong{margin-right:5px;color:#164c7d}.quality-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quality-rule-grid article{min-height:65px;padding:9px;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:5px 7px;border:1px solid #d6e1ea;background:#f8fbfd;color:#1b6b3a}.quality-rule-grid strong{color:#234d70;font-size:10px}.quality-rule-grid p{grid-column:2;margin:0;color:#677d90;font-size:9px;line-height:1.45}.guide-grid{padding:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;overflow:auto}.guide-grid button{min-height:122px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #d0dce7;border-radius:4px;background:#fff}.guide-grid button:hover{border-color:#4a89cd;box-shadow:0 4px 14px #1b50851f}.guide-grid strong{color:#1e4c78;font-size:11px}.guide-grid span{flex:1;margin-top:7px;color:#667b8f;font-size:9px;line-height:1.55}.guide-grid em{color:#1768b2;font-size:8px;font-style:normal;font-weight:700}.guide-detail{padding:24px;min-height:260px;background:#fff}.guide-detail h3{margin:0 0 7px;color:#174a7b;font-size:13px}.guide-detail h3+p+h3{margin-top:22px}.guide-detail p{margin:0;padding:13px 15px;border-left:3px solid #2b76c8;color:#526a80;background:#f3f7fb;font-size:12px;line-height:1.75}@media(max-width:1380px){.dashboard-grid{grid-template-columns:250px minmax(610px,1fr) 470px}.right-area{grid-template-columns:minmax(300px,1.65fr) minmax(145px,.75fr)}.flow-stages{padding-left:10px;padding-right:10px}.flow-stage{padding-left:5px;padding-right:5px}.flow-arrow{flex-basis:14px}.brand{min-width:350px}.brand h1{font-size:19px}.search-box{width:165px}.model-field select{width:155px}.header-action-button{padding:0 7px;font-size:10px}.journey-stage{width:123px}.journey-stage>div{padding-left:4px;padding-right:4px}.journey-stage small{white-space:normal}.journey-call{min-width:36px}}@media(max-width:900px){body{min-width:0}.app-header{align-items:flex-start;flex-direction:column;padding:12px}.brand{min-width:0}.brand h1{font-size:18px}.header-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}.search-box{flex:1;min-width:180px}.kpi-strip{grid-template-columns:repeat(2,1fr)}.dashboard-grid{display:flex;flex-direction:column;min-height:0}.right-area{display:flex;flex-direction:column}.flow-panel{height:auto}.flow-stages{overflow-x:auto}.flow-piece{flex:0 0 175px}.left-rail{display:grid;grid-template-columns:1fr 1fr}.lifecycle-panel{grid-column:1 / -1}.event-panel{min-height:420px}footer{font-size:14px;min-height:50px}.journey-panel{height:450px}.journey-canvas{margin-left:7px;margin-right:7px}.journey-summary{min-width:0}.journey-drag-tip{font-size:8px!important}.dialog-backdrop{padding:10px}.rule-dialog,.guide-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.dimension-grid,.route-grid,.hard-rule-grid,.quality-rule-grid,.guide-grid{grid-template-columns:1fr}.business-control{grid-template-columns:1fr!important}}.app-header{min-height:70px;gap:12px}.brand{min-width:350px}.brand h1{font-size:20px}.realtime-cluster{height:42px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(170,207,242,.52);background:#0222465c;border-radius:4px;white-space:nowrap;font-size:11px}.realtime-cluster>span{color:#c8ddf2;font-weight:700}.realtime-cluster>b{min-height:29px;padding:0 9px;display:flex;align-items:center;gap:5px;border-left:1px solid rgba(180,211,240,.32);color:#dbeafe;font-size:10px}.realtime-cluster strong{color:#fff;font-size:16px}.switch-control{width:65px;height:28px;padding:3px 4px 3px 9px;display:flex;align-items:center;justify-content:space-between;border:1px solid #91a9c1;border-radius:15px;background:#61778d;color:#fff;font-size:9px;font-weight:800}.switch-control i{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 5px #00000040;transition:transform .18s ease}.switch-control.active{border-color:#6fd995;background:#188344}.switch-control.active i{transform:translate(0)}.inflight-count{color:#acd0f2!important}.header-controls{gap:6px}.model-field select{width:190px}.header-action-button{padding:0 8px;font-size:10px}.search-box{width:205px}.live-state{display:none}.kpi-strip{grid-template-columns:repeat(6,1fr)}.kpi-card{height:68px;padding:9px 14px}.kpi-card strong{font-size:22px}.kpi-label{font-size:9px}.kpi-icon{width:38px;height:38px}.dashboard-grid{grid-template-columns:282px minmax(650px,1fr) minmax(500px,530px);min-height:735px}.funnel-panel{min-height:400px}.funnel-chart{min-height:308px;padding:9px 10px 2px;display:flex;flex-direction:column;align-items:center;gap:3px}.funnel-layer{position:relative;min-height:46px;padding:6px 28px;display:grid;place-items:center;align-content:center;color:#183d64;background:#eef4fa;clip-path:polygon(4% 0,96% 0,89% 100%,11% 100%);transition:width .28s ease}.funnel-layer span{font-size:9px}.funnel-layer strong{font:800 16px/1.1 Inter,ui-monospace,monospace}.funnel-layer em{position:absolute;right:16%;top:17px;color:#df242a;font-size:8px;font-style:normal;font-weight:800}.funnel-layer.intake{border-top:1px solid #9cb6ce}.funnel-layer.front{color:#224d74;background:#e5edf5}.funnel-layer.backend{color:#234e75;background:#dce8f2}.funnel-layer.allow{color:#176439;background:#e4f3e8}.funnel-layer.model{color:#174f98;background:#e2edfb}.funnel-results{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding-top:3px}.funnel-results div{min-height:49px;display:grid;place-items:center;align-content:center;border:1px solid;border-radius:3px}.funnel-results span{font-size:8px}.funnel-results strong{font:800 16px Inter,monospace}.funnel-results .danger{color:#cb262d;border-color:#efb5b7;background:#fff3f3}.funnel-results .warning{color:#b56b00;border-color:#efd19c;background:#fff8ea}.funnel-results .safe{color:#19713c;border-color:#b7dac3;background:#f1faf4}.collection-feedback{min-height:31px;margin:0 10px 9px;padding:6px 8px;display:flex;align-items:center;gap:6px;border:1px solid #bed6ef;background:#f1f7fd;color:#276192;font-size:8px;font-weight:700}.collection-feedback.active{border-color:#efc789;background:#fff8e9;color:#8c5d12}.fallback-note{margin:-4px 10px 8px;color:#7856a8;font-size:8px}.continuity-funnel-note{margin:-4px 10px 8px;color:#8a5a00;font-size:8px}.trend-panel{min-height:198px}.trend-chart{height:132px}.lifecycle-panel{min-height:128px}.lifecycle{padding-top:15px}.journey-panel{height:405px}.request-stream-head,.request-stream-row{display:grid;grid-template-columns:180px 74px 180px minmax(210px,1fr);align-items:center;gap:8px}.request-stream-head{height:34px;padding:0 11px;border-bottom:1px solid #dce4ec;color:#6c8094;background:#f4f7fa;font-size:8px;font-weight:700}.request-stream-head>div{display:grid;grid-template-columns:repeat(5,1fr);text-align:center}.request-stream{height:292px;overflow:hidden}.request-stream-row{width:100%;min-height:41px;padding:4px 11px;border:0;border-bottom:1px solid #e1e8ef;border-radius:0;background:#fff;color:#3c5369;text-align:left;font-size:8px;transition:background .15s}.request-stream-row:hover,.request-stream-row.selected{background:#f0f6fd}.request-stream-row.selected{box-shadow:inset 3px 0 #1f6fd5}.request-stream-row.pending:disabled{opacity:1;background:#f6f9fc}.device-cell{display:flex;align-items:center;gap:7px;color:#245a8e}.device-cell>span{min-width:0}.device-cell strong,.device-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-cell strong{color:#34516d;font-size:9px}.device-cell small{margin-top:2px;color:#7b8d9f;font-size:7px}.business-cell{color:#2c4c69;font-size:9px}.evidence-tags,.table-tags{display:flex;flex-wrap:wrap;gap:3px}.evidence-tags em,.table-tags em{padding:2px 5px;border:1px solid #ccd9e6;border-radius:3px;color:#46627d;background:#f7fafd;font-size:7px;font-style:normal;white-space:nowrap}.decision-path{height:28px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.path-step{position:relative;display:flex;align-items:center;justify-content:center}.path-step i{position:relative;z-index:2;width:19px;height:19px;display:grid;place-items:center;border:1px solid #aebdcb;border-radius:50%;color:#8a9cad;background:#fff}.path-step b{position:absolute;left:calc(50% + 10px);width:calc(100% - 20px);height:1px;background:#b8c5d1}.path-step.done i{border-color:#4aa66b;color:#fff;background:#269653}.path-step.done b{background:#62b27d}.path-step.block i{border-color:#db242b;color:#fff;background:#e3232a}.path-step.block b{background:#e8797d}.path-step.skipped i{border-style:dashed;color:#9aa9b8}.path-step.working i{border-color:#2471d1;color:#2471d1}.request-stream-row.pending .path-step b{background:linear-gradient(90deg,#2a74ca,#b7c7d7);background-size:200% 100%;animation:stream-line 1.1s linear infinite}@keyframes stream-line{to{background-position:-200% 0}}.event-panel{min-height:320px}.table-device-os{display:block;margin-top:2px;color:#8493a2;font-size:7px}.mismatch-mark{display:block;color:#b66e00;font-size:7px}.table-tags{min-width:145px}.right-area{grid-template-columns:minmax(320px,1.65fr) minmax(150px,.75fr)}.detail-panel,.trace-panel{overflow-y:auto}.baseline-compare{padding:8px 9px;border-top:1px solid #e2e8ee}.baseline-compare h3{margin:0 0 7px;color:#31516f;font-size:9px}.baseline-compare h3 span{color:#1c6ed2}.baseline-compare>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.baseline-compare article{padding:7px;border:1px solid #d5e0ea;background:#f8fbfd}.baseline-compare article:first-child{border-top:2px solid #e33a40}.baseline-compare article:last-child{border-top:2px solid #2b72c6}.baseline-compare strong{display:block;margin-bottom:4px;color:#294c6e;font-size:8px}.baseline-compare p{margin:2px 0;color:#6a7d90;font-size:7px}.guide-dialog{width:min(1060px,calc(100vw - 52px))}.boundary-guide{padding:14px 20px 17px;overflow:auto;background:#fff}.boundary-lead{margin:0 0 11px;color:#506b84;font-size:11px}.boundary-block{min-height:112px;margin-bottom:9px;padding:13px 18px;display:grid;grid-template-columns:70px 1fr;align-items:center;gap:15px;border:1px solid}.boundary-block>svg{justify-self:center}.boundary-block h3{margin:0;font-size:15px}.boundary-block p{margin:6px 0 8px;color:#596f83;font-size:10px;line-height:1.55}.boundary-block.danger{color:#d91f26;border-color:#ef9ca0;background:snow}.boundary-block.safe{color:#168447;border-color:#91cba7;background:#f8fdf9}.boundary-block.model{color:#1768d1;border-color:#86afe8;background:#f8fbff}.boundary-tags{display:flex;flex-wrap:wrap;gap:6px}.boundary-tags span{padding:4px 8px;border:1px solid currentColor;border-radius:3px;background:#fff;font-size:8px}.boundary-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.boundary-cases article{padding:7px;border:1px solid #c9daf0;background:#f2f7fd}.boundary-cases strong,.boundary-cases span{display:block}.boundary-cases strong{color:#355474;font-size:9px}.boundary-cases span{margin-top:5px;color:#1768d1;font-size:8px}.boundary-flow{min-height:68px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;padding:8px 14px;border:1px solid #d6e0e9;background:#f8fafc;color:#1b67c9}.boundary-flow>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;color:#2c679e;font-size:8px}.boundary-flow>span svg{grid-row:1/3}.boundary-flow b{font-size:9px}.boundary-guide>small{display:block;margin-top:10px;color:#718496;font-size:8px}.loading-screen,.login-screen{min-height:100vh;display:grid;place-items:center;color:#33536f;background:radial-gradient(circle at 50% 20%,#f8fbfe,#e8eff6)}.loading-screen{align-content:center;gap:12px;font-size:13px}.login-panel{width:min(420px,calc(100vw - 36px));padding:38px 38px 30px;border:1px solid #c3d2e1;border-top:4px solid #0c4f91;border-radius:5px;background:#fff;box-shadow:0 18px 60px #1030522e}.login-mark{width:54px;height:54px;display:grid;place-items:center;color:#fff;background:#0b4b88;border-radius:6px}.login-panel h1{margin:18px 0 8px;color:#103e6d;font-size:21px}.login-panel>p{margin:0 0 22px;color:#64798d;font-size:12px;line-height:1.7}.login-panel form label{display:block;margin-bottom:7px;color:#365571;font-size:11px;font-weight:700}.password-field{height:44px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid #b8c9da;background:#f9fbfd}.password-field input{width:100%;height:100%;border:0;outline:0;background:transparent}.login-panel form>button{width:100%;height:43px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:3px;color:#fff;background:#0c579f;font-weight:700}.login-error{margin-top:10px;padding:9px 10px;border-left:3px solid #df252c;color:#a52227;background:#fff2f2;font-size:10px;line-height:1.5}.login-panel>small{display:block;margin-top:17px;color:#8091a2;text-align:center;font-size:9px}@media(max-width:1600px){.app-header{flex-wrap:wrap}.brand{min-width:320px}.header-controls{order:3;width:100%;justify-content:flex-start}.dashboard-grid{grid-template-columns:265px minmax(620px,1fr) 500px}.request-stream-head,.request-stream-row{grid-template-columns:155px 62px 150px minmax(200px,1fr)}}@media(max-width:900px){.realtime-cluster{width:100%;overflow-x:auto}.realtime-cluster .inflight-count{display:none}.kpi-strip{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.left-rail{display:flex}.journey-panel{height:auto;min-height:405px}.request-stream-head{display:none}.request-stream{height:auto;max-height:430px;overflow:auto}.request-stream-row{grid-template-columns:1fr auto;gap:7px;padding:10px}.evidence-tags,.decision-path{grid-column:1/-1}.right-area{display:flex}.boundary-block{grid-template-columns:42px 1fr;padding:11px}.boundary-block>svg{width:30px}.boundary-cases,.boundary-flow{grid-template-columns:1fr}.boundary-flow>svg{transform:rotate(90deg);justify-self:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
