@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{--ops-ink:#1f2937;--ops-paper:#f5f7fa;--ops-orange:#1677ff;--ops-green:#1677ff;--ops-line:#e5e7eb;--ops-nav:#fff;--ops-nav-text:#334155;--ops-nav-muted:#64748b}body{background:var(--ops-paper);margin:0}.auth-stage{background:#f5f7fa;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--ops-line);background:#fff;border-radius:10px;width:min(430px,100%);padding:40px;box-shadow:0 8px 24px #0f172a14}.auth-mark{color:#fff;background:#1677ff;border-radius:8px;place-items:center;width:52px;height:52px;font:700 18px Noto Sans SC;display:grid}.full-shell{background:var(--ops-paper);min-height:100vh;color:var(--ops-ink)}.global-bar{z-index:100;border-bottom:1px solid var(--ops-line);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;height:62px;padding:0 22px;display:grid;position:sticky;top:0}.global-brand{align-items:center;gap:10px;display:flex}.global-brand strong{font:650 20px Noto Sans SC}.global-brand span,.ops-nav-title span{color:#64748b;font-size:12px}.global-user{justify-self:end;align-items:center;gap:12px;font-size:13px;display:flex}.global-content{min-height:calc(100vh - 62px)}.ops-layout{grid-template-columns:218px 1fr;min-height:calc(100vh - 62px);display:grid}.ops-nav{background:var(--ops-nav);color:var(--ops-nav-text);border-right:1px solid var(--ops-line);padding:20px 12px}.ops-nav .ant-menu{color:var(--ops-nav-text)!important;background:0 0!important;border:0!important}.ops-nav .ant-menu-item{border-radius:6px;min-height:40px;margin-block:3px;font-weight:500;color:var(--ops-nav-text)!important}.ops-nav .ant-menu-item .ant-menu-title-content{color:inherit!important}.ops-nav .ant-menu-item:not(.ant-menu-item-selected):hover{color:#1d4ed8!important;background:#f1f5f9!important}.ops-nav .ant-menu-item:focus-visible{outline-offset:1px;outline:2px solid #91caff}.ops-nav .ant-menu-item-selected{font-weight:600;color:#0958d9!important;background:#eaf3ff!important}.ops-nav .ant-menu-item-selected:after{display:none}.ops-nav-title{color:#1f2937;flex-direction:column;gap:4px;padding:8px 12px 18px;font-size:15px;font-weight:600;display:flex}.ops-nav-title span{color:var(--ops-nav-muted)}.ops-content{background:var(--ops-paper);min-width:0;padding:28px clamp(20px,3vw,40px) 60px}.ops-page-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.ops-page-head h2{margin:3px 0 0!important;font-weight:650!important}.live-pill{border:1px solid var(--ops-line);color:#475569;background:#fff;border-radius:6px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.live-pill span{background:#22a06b;border-radius:50%;width:7px;height:7px}.console-grid{gap:16px;display:grid}.console-grid.two{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}.console-note{margin-top:20px}.console-table{margin-top:18px}.json-preview{color:#e2e8f0;background:#1e293b;border-radius:6px;max-height:320px;padding:14px;font:12px/1.55 ui-monospace,monospace;overflow:auto}.rule-editor textarea{font-family:ui-monospace,monospace!important}.visual-rule-form{max-height:68vh;padding:4px 4px 2px;overflow:auto}.rule-condition-row{border:1px solid var(--ops-line);background:#f8fafc;border-radius:6px;margin-bottom:10px;padding:15px 12px 0;position:relative}.condition-index{color:#64748b;font-size:11px;font-weight:600;position:absolute;top:8px;right:12px}.visual-rule-form .ant-divider{color:#334155;margin:14px 0 16px;font-weight:600}.ant-card{border-color:var(--ops-line);box-shadow:none;border-radius:8px}.ant-card-head{border-color:var(--ops-line)}.simple-list{border-top:1px solid var(--ops-line);margin-top:14px}.simple-list-item{border-bottom:1px solid var(--ops-line);justify-content:space-between;align-items:center;gap:18px;padding:14px 2px;display:flex}.simple-list-item>div:first-child{min-width:0}.simple-list-item small{color:#777f79;margin-top:5px;display:block}.simple-list.compact .simple-list-item{padding:9px 2px}.recommendations-list .simple-list-item{align-items:flex-start}.recommendations-list p{color:#535b56;margin:9px 0}.ops-content .ant-form-item{margin-bottom:16px}.ops-content .ant-form>.ant-btn,.ops-content .ant-form>.ant-space,.ops-content .ant-form>.ant-btn-group{margin-top:8px}.ops-content .ant-form .ant-space-wrap{row-gap:10px!important}.ops-content .ant-modal-footer{padding-top:16px}.notification-stats{margin:16px 0}.notification-stats .ant-card-body{padding:18px}.notification-form-note{margin-bottom:16px}.notification-response{white-space:pre-wrap;word-break:break-all;margin:0;font-size:12px}.notification-center .ant-tabs-nav{margin-bottom:16px}.notification-center .ant-table-wrapper{overflow:hidden}.traffic-filter{margin-top:16px}.traffic-stats{margin:16px 0}.traffic-detail{gap:14px;padding:8px;display:grid}.traffic-api-key{border:1px solid var(--ops-line);overflow-wrap:anywhere;background:#f5f7fa;border-radius:6px;margin-top:16px;padding:12px}.traffic-form-note{margin-bottom:16px}.traffic-quality .ant-table-wrapper{overflow:hidden}@media (width<=900px){.global-bar{grid-template-columns:1fr auto;gap:8px;height:auto;min-height:62px;padding:10px 14px}.global-bar>.ant-segmented{grid-area:2/1/auto/-1;width:100%}.global-user{grid-area:1/2;justify-content:flex-end;min-width:52px}.global-user>span{display:none}.global-user .ant-btn{min-width:48px}.ops-layout{grid-template-columns:1fr}.ops-nav{z-index:1;border-right:0;border-bottom:1px solid var(--ops-line);padding:8px;position:relative;top:auto}.ops-nav-title{display:none}.ops-nav .ant-menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;min-width:0;display:grid}.ops-nav .ant-menu-item{text-align:center;justify-content:center;align-items:center;min-height:42px;font-size:13px;width:auto!important;margin:0!important;padding-inline:7px!important;line-height:1.2!important;display:flex!important}.ops-content{padding:22px 14px 50px}.console-grid.two{grid-template-columns:1fr}.ops-page-head{align-items:flex-end}.live-pill{margin-bottom:0}}@media (width<=460px){.global-brand span{display:none}.ops-nav .ant-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-page-head{flex-direction:column;align-items:flex-start}.live-pill{margin-bottom:14px}}:root{--ink:#1f2937;--ink-soft:#64748b;--paper:#f5f7fa;--card:#fff;--teal:#1677ff;--orange:#1677ff;--line:#e5e7eb}*{box-sizing:border-box}body{min-width:320px;color:var(--ink);background:var(--paper);min-height:100vh;margin:0;font-family:Noto Sans SC,sans-serif}button,input{font:inherit}.shell{min-height:100vh}.topbar{height:72px;color:var(--ink);border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:0 34px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{color:#fff;background:var(--teal);border-radius:7px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand h1{margin:0;font-size:20px;font-weight:650}.brand p{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.status-pill{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.status-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px}.status-dot.ok{background:#22a06b}.workspace{max-width:1440px;margin:0 auto;padding:30px 34px 60px}.hero{justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px;display:flex}.eyebrow{display:none}.hero h2{margin:0 0 6px;font-size:clamp(24px,3vw,32px);font-weight:650;line-height:1.3}.hero p{max-width:720px;color:var(--ink-soft);margin:0;line-height:1.8}.safety{background:#fff8f0b8;border:1px solid #e8793e40;border-radius:14px;min-width:220px;padding:14px 17px}.safety strong{color:#b65023;margin-bottom:3px;display:block}.safety span{color:#85604b;font-size:12px}.main-tabs>.ant-tabs-nav{margin-bottom:20px}.main-tabs>.ant-tabs-nav:before{border-color:var(--line)}.panel{background:var(--card);border:1px solid var(--line);box-shadow:none;border-radius:8px;padding:22px}.panel+.panel{margin-top:18px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-head h3{margin:0;font-size:18px}.section-head p{color:var(--ink-soft);margin:5px 0 0;font-size:13px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;padding-top:4px;display:flex}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.metric{border:1px solid var(--line);background:#f8fafc;border-radius:7px;padding:17px}.metric small{color:var(--ink-soft)}.metric strong{margin-top:4px;font-size:28px;display:block}.json-view{color:#d7eee8;white-space:pre-wrap;background:#143c3a;border-radius:12px;max-height:420px;padding:17px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.warning-strip{margin-bottom:18px}.preview-card{margin-top:18px}.object-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.object-card{border:1px solid var(--line);background:#f8faf5cc;border-radius:12px;padding:14px}.object-card strong{margin-bottom:6px;display:block}.object-card code{color:var(--ink-soft);word-break:break-all;font-size:12px}.empty{text-align:center;color:var(--ink-soft);padding:42px 10px}.ant-form-item{margin-bottom:0}.ant-input-number,.ant-select{width:100%}.ant-table-wrapper{border-radius:12px;overflow:hidden}.ant-table-thead>tr>th{background:#f8fafc!important}.batch-top-form{margin-bottom:20px}.result-banner{margin-top:16px}.app-layout{background:0 0;min-height:100vh}.app-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.header-status{color:var(--ink-soft);align-items:center;gap:10px;font-size:13px;display:flex}.app-sider{border-right:1px solid var(--line);background:#fff!important}.app-sider .ant-menu{background:0 0;padding:0 10px;border-inline-end:0!important}.app-sider .ant-menu-item{border-radius:6px;margin-block:3px;font-weight:500}.tenant-block{border:1px solid var(--line);color:var(--ink);background:#f8fafc;border-radius:7px;flex-direction:column;gap:3px;margin:16px 14px;padding:14px;display:flex}.tenant-block span,.tenant-block small{color:var(--ink-soft);font-size:11px}.emergency-box{color:#166534;background:#f0fdf4;border:1px solid #dcfce7;border-radius:7px;flex-direction:column;gap:3px;margin:18px 14px;padding:12px;display:flex}.emergency-box.locked{color:#b42318;background:#fff1f0;border-color:#ffccc7}.emergency-box span{opacity:.7;font-size:11px}.app-content{background:var(--paper);min-width:0;padding:26px 30px 60px}.workspace-scope{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(150px,220px) minmax(150px,220px) 1fr;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;display:grid}.workspace-scope strong{white-space:nowrap;font-size:13px}.workspace-scope span{color:var(--ink-soft);font-size:12px}.page-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.page-head>div>span{display:none}.page-head h2{margin:0 0 6px;font:650 clamp(24px,3vw,30px)/1.3 Noto Sans SC,sans-serif}.page-head p{color:var(--ink-soft);margin:0}.quality-alert,.stat-row{margin-bottom:16px}.stat-row .ant-card{border:1px solid var(--line);height:100%;box-shadow:none;background:#fff}.hour-bars{flex-direction:column;gap:12px;display:flex}.hour-row{grid-template-columns:45px 1fr 58px 78px;align-items:center;gap:10px;display:grid}.hour-row>div{background:#e7ede8;border-radius:9px;height:8px;overflow:hidden}.hour-row i{border-radius:inherit;background:var(--teal);height:100%;display:block}.hour-row small{color:var(--ink-soft);text-align:right}.import-form{gap:16px;max-width:760px;margin-top:22px;display:grid}.mapping-grid{border:1px solid var(--line);background:#f8faf5bf;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.upload-title{color:var(--ink);margin:8px 0 2px;font-size:17px;font-weight:700}.strategy-form{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation{margin:16px 0}.oauth-authorize-panel{justify-content:space-between;align-items:center;gap:24px;min-height:128px;display:flex}.oauth-authorize-copy{max-width:680px}.oauth-authorize-copy h3{margin:0 0 8px;font-size:18px}.oauth-authorize-copy p{color:var(--ink-soft);margin:0;line-height:1.7}.oauth-settings-button{padding-inline:8px;font-size:19px}.oauth-primary-action{min-width:160px}@media (width<=900px){.topbar{padding:0 18px}.workspace{padding:22px 16px 40px}.hero{flex-direction:column;align-items:stretch}.safety{min-width:0}.form-grid,.form-grid.three,.metric-grid{grid-template-columns:1fr 1fr}.app-content{padding:22px 16px 40px}.app-layout>.ant-layout.ant-layout-has-sider{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;display:grid!important}.app-sider.ant-layout-sider{border-right:0;border-bottom:1px solid var(--line);grid-column:1;flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;position:static!important;overflow:visible!important}.app-sider .ant-layout-sider-children{width:100%}.app-content.ant-layout-content{grid-column:1;align-self:stretch;width:100%!important;min-width:0!important;max-width:100%!important}.workspace-scope{grid-template-columns:auto 1fr 1fr}.workspace-scope span{grid-column:1/-1}.app-sider .tenant-block,.app-sider .emergency-box{display:none}.app-sider .ant-menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:8px;display:grid}.app-sider .ant-menu-item{text-align:center;justify-content:center;align-items:center;min-height:42px;font-size:13px;width:auto!important;margin:0!important;padding-inline:6px!important;line-height:1.2!important;display:flex!important}.page-head{flex-direction:column;align-items:flex-start}.strategy-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.brand p,.status-pill span:last-child{display:none}.form-grid,.form-grid.three,.metric-grid,.object-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.section-head{flex-direction:column;align-items:flex-start}.actions{flex-direction:column;justify-content:stretch}.actions .ant-btn{width:100%;margin-left:0}.header-status{font-size:0}.header-status .ant-tag{display:none}.strategy-form,.form-grid.two,.mapping-grid{grid-template-columns:1fr}.hour-row{grid-template-columns:40px 1fr 52px}.app-sider .ant-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.app-content{padding:18px 12px 36px}.workspace-scope{grid-template-columns:1fr 1fr;padding:12px}.workspace-scope strong,.workspace-scope span{grid-column:1/-1}.page-head{gap:14px;margin-bottom:18px}.page-head h2{font-size:24px}.page-head .ant-select{width:100%!important}.panel{padding:16px}.hour-row small{display:none}.oauth-authorize-panel{flex-direction:column;align-items:stretch;min-height:0}.oauth-primary-action{width:100%}}
