.app-frame[data-v-be366545]{height:100vh;overflow:hidden}.topbar[data-v-be366545]{height:62px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#0d3b66;border-bottom:1px solid #0a3156}.brand-lockup[data-v-be366545]{display:flex;align-items:center;gap:11px}.brand-mark[data-v-be366545]{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:#ffffff1a}.brand-mark span[data-v-be366545]{width:16px;height:16px;border:4px solid #fff;border-right-color:#51d6c4;border-radius:50%}.brand-name[data-v-be366545]{font-size:16px;line-height:1.15;font-weight:700;letter-spacing:.8px}.brand-sub[data-v-be366545]{margin-top:3px;color:#b9d5ea;font-size:8px;letter-spacing:1.6px}.topbar-right[data-v-be366545]{display:flex;align-items:center;gap:10px}.environment[data-v-be366545]{display:flex;align-items:center;gap:7px;margin-right:12px;padding-right:20px;border-right:1px solid rgba(255,255,255,.18);color:#c6d8e8;font-size:12px}.environment span[data-v-be366545]{width:7px;height:7px;border-radius:50%;background:#45d4aa;box-shadow:0 0 0 3px #45d4aa24}.operator-badge[data-v-be366545]{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#1976f3;font-size:13px;font-weight:700}.operator-meta[data-v-be366545]{display:flex;min-width:76px;flex-direction:column;line-height:1.2}.operator-meta strong[data-v-be366545]{font-size:12px;font-weight:650}.operator-meta span[data-v-be366545]{margin-top:3px;color:#b9d5e8;font-size:10px}.logout[data-v-be366545]{height:30px;margin-left:8px;padding:0 9px;display:flex;align-items:center;gap:5px;color:#dce9f3;border:1px solid rgba(255,255,255,.2);border-radius:5px;background:transparent;cursor:pointer}.logout[data-v-be366545]:hover{color:#fff;background:#ffffff1a}.body-grid[data-v-be366545]{height:calc(100vh - 62px);display:grid;grid-template-columns:210px 1fr}.sidebar[data-v-be366545]{position:relative;padding:20px 12px;background:#fff;border-right:1px solid var(--line)}.side-section[data-v-be366545]{margin:0 10px 9px;color:#98a6b6;font-size:10px;font-weight:700;letter-spacing:1.2px}nav[data-v-be366545]{display:grid;gap:4px}.nav-item[data-v-be366545]{height:40px;padding:0 12px;display:flex;align-items:center;gap:11px;color:#52657b;text-decoration:none;border-radius:6px;font-size:13px;font-weight:550}.nav-item[data-v-be366545]:hover{color:#134e85;background:#f2f7fc}.nav-item.router-link-active[data-v-be366545]{color:#0d5fb6;background:#eaf3ff;box-shadow:inset 3px 0 #1976f3}.side-note[data-v-be366545]{position:absolute;right:14px;bottom:18px;left:14px;padding:12px;display:flex;align-items:flex-start;gap:9px;color:#3f6f79;border:1px solid #d4ebe7;border-radius:8px;background:#f3fbf9}.side-note svg[data-v-be366545]{flex:0 0 auto;margin-top:1px;color:#168b7d}.side-note div[data-v-be366545]{display:flex;flex-direction:column}.side-note strong[data-v-be366545]{font-size:11px}.side-note span[data-v-be366545]{margin-top:4px;color:#66818a;font-size:10px;line-height:1.45}.main-area[data-v-be366545]{min-width:0;overflow:auto;background:var(--canvas)}.crumb[data-v-be366545]{position:sticky;top:0;z-index:20;height:42px;padding:0 28px;display:flex;align-items:center;gap:6px;color:#8a98a9;border-bottom:1px solid #e5ebf2;background:#fffffff5;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.crumb strong[data-v-be366545]{color:#53657a;font-weight:600}:root{--brand: #1976f3;--brand-strong: #0f5fc8;--teal: #16b8a6;--ink: #10243e;--text: #263a52;--muted: #718096;--line: #dfe7f0;--line-soft: #edf2f7;--surface: #ffffff;--canvas: #f4f7fb;--danger: #c74242;--warning: #b26a00;--success: #20845d;--radius-sm: 6px;--radius: 10px;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:var(--canvas);color:var(--text)}button,input,textarea{font:inherit}a{color:inherit}.page-shell{padding:24px 28px 36px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{margin:0;color:var(--ink);font-size:24px;line-height:1.3;letter-spacing:-.3px}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel-header{min-height:52px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft)}.panel-title{color:var(--ink);font-size:14px;font-weight:650}.quiet{color:var(--muted)}.mono{font-family:SFMono-Regular,Consolas,monospace}.link-button{padding:0;border:0;background:transparent;color:var(--brand-strong);cursor:pointer}.link-button:hover{text-decoration:underline}.empty-state{padding:54px 20px;text-align:center;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-draft,.status-pending{color:#946200;background:#fff8df;border-color:#f3df9e}.status-published,.status-ready{color:#187251;background:#eaf8f1;border-color:#bfe7d2}.status-archived{color:#59687b;background:#f0f3f6;border-color:#dce3ea}.status-processing{color:#155eb3;background:#ebf3ff;border-color:#c3d9f8}.status-failed{color:#a72f2f;background:#fff0f0;border-color:#efc5c5}.status-disabled{color:#677486;background:#f1f3f6;border-color:#dce2e8}.status-suspected{color:#9a5b00;background:#fff4d6;border-color:#efcf83}.status-user_kept{color:#176b50;background:#eaf8f1;border-color:#bfe7d2}.status-confirmed_duplicate{color:#9b3030;background:#fff0f0;border-color:#efc5c5}.ant-btn-primary{box-shadow:none}.ant-table-wrapper .ant-table{font-size:13px}.ant-table-wrapper .ant-table-thead>tr>th{color:#53657a;font-size:12px;font-weight:650;background:#f8fafc}.ant-input,.ant-select-selector,.ant-input-affix-wrapper{border-color:#d8e1eb!important}.ant-modal .ant-modal-content{border-radius:10px;padding:22px}@media(prefers-reduced-motion:no-preference){.panel,.ant-btn,.nav-item{transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}}
