.app-shell[data-v-a5e2403f]{height:100vh}.brand[data-v-a5e2403f]{display:flex;align-items:center;gap:11px;padding:18px 18px 14px;flex-shrink:0}.menu-scroll[data-v-a5e2403f]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.menu-scroll[data-v-a5e2403f]::-webkit-scrollbar{width:6px}.menu-scroll[data-v-a5e2403f]::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.brand-mark[data-v-a5e2403f]{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:linear-gradient(135deg,#14b8a6,#2563eb);box-shadow:0 8px 18px #14b8a659}.brand-title[data-v-a5e2403f]{color:#fff;font-size:16px;font-weight:800;line-height:1.15}.brand-en[data-v-a5e2403f]{color:#6f88aa;font-size:10px;letter-spacing:1.5px}.topbar[data-v-a5e2403f]{display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 22px;background:#fff}.page-kicker[data-v-a5e2403f]{color:#93a4bd;font-size:12px}.topbar-title h1[data-v-a5e2403f]{margin:0;font-size:17px;font-weight:700;color:#0f2034}.topbar-actions[data-v-a5e2403f]{display:flex;align-items:center;gap:14px}.user-name[data-v-a5e2403f]{font-size:14px;font-weight:600;color:#2a3a52}.content[data-v-a5e2403f]{background:#f4f7fb}.hub[data-v-b420ea7f]{display:flex;flex-direction:column;gap:16px}.hub-hero[data-v-b420ea7f]{background:linear-gradient(120deg,#0e1b2e,#15294a);color:#e7eefb}.hero-row[data-v-b420ea7f]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hub-hero h2[data-v-b420ea7f]{margin:0;font-size:22px;font-weight:800;color:#fff}.hub-hero p[data-v-b420ea7f]{margin:6px 0 0;color:#9fb6d2;font-size:13px}.type-tabs[data-v-b420ea7f]{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.type-tab[data-v-b420ea7f]{display:flex;align-items:center;gap:7px;padding:6px 14px;border:1px solid rgba(150,180,220,.22);border-radius:9px;background:#ffffff0d;color:#c4d6ef;cursor:pointer;font-size:13px}.type-tab.active[data-v-b420ea7f]{background:#fff;color:#14294a;border-color:#fff;font-weight:700}.tt-count[data-v-b420ea7f]{font-size:12px;opacity:.75}.stat-row[data-v-b420ea7f]{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:14px}.stat-card.dark[data-v-b420ea7f]{background:#0e1b2e;color:#cfe0f7}.stat-kicker[data-v-b420ea7f]{font-size:14px;font-weight:700;color:#fff}.stat-sub[data-v-b420ea7f]{margin-top:8px;font-size:12px;color:#8ea6c4}.stat-label[data-v-b420ea7f]{color:#6a7c95;font-size:13px}.stat-value[data-v-b420ea7f]{font-size:28px;font-weight:800;color:#0f2034;margin-top:4px}.stat-value.ok[data-v-b420ea7f]{color:#16a34a}.stat-value.warn[data-v-b420ea7f]{color:#d97706}.stat-value.bad[data-v-b420ea7f]{color:#dc2626}.stat-foot[data-v-b420ea7f]{color:#9aa7ba;font-size:12px;margin-top:2px}.hub-grid[data-v-b420ea7f]{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start}.muted[data-v-b420ea7f]{color:#93a4bd}.small[data-v-b420ea7f]{font-size:12px}.index-list[data-v-b420ea7f]{display:flex;flex-direction:column;gap:2px}.index-item[data-v-b420ea7f]{display:flex;justify-content:space-between;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:#38495f;cursor:pointer;font-size:13px}.index-item[data-v-b420ea7f]:hover{background:#f1f5fb}.filter-bar[data-v-b420ea7f]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.filter-bar .grow[data-v-b420ea7f]{flex:1}.pager[data-v-b420ea7f]{display:flex;justify-content:flex-end;margin-top:14px}.detail-empty[data-v-b420ea7f]{padding:24px 0}.detail-code[data-v-b420ea7f]{font-size:18px;font-weight:800;color:#0f2034}.kv[data-v-b420ea7f]{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.detail-actions[data-v-b420ea7f]{display:flex;flex-direction:column;gap:8px;margin-top:14px}[data-v-b420ea7f] .tbl-ops{display:flex;gap:10px}.bar[data-v-dc653b0f]{display:flex;align-items:center;gap:12px;margin:12px 0 14px}.bar .grow[data-v-dc653b0f]{flex:1}.muted[data-v-dc653b0f]{color:#93a4bd}.small[data-v-dc653b0f]{font-size:12px}.dict-table-wrap[data-v-dc653b0f]{overflow-x:auto}.dict-table[data-v-dc653b0f]{width:100%;border-collapse:collapse;min-width:520px}.dict-table th[data-v-dc653b0f],.dict-table td[data-v-dc653b0f]{padding:10px 12px;text-align:left;border-bottom:1px solid #eef2f7;white-space:nowrap;font-size:13px;vertical-align:middle}.dict-table thead th[data-v-dc653b0f]{color:#5b6b82;font-weight:600;background:#f7f9fc}.dict-table tbody tr[data-v-dc653b0f]:hover{background:#f7faff}.th-drag[data-v-dc653b0f]{width:36px}.th-ops[data-v-dc653b0f]{width:120px}.drag-handle[data-v-dc653b0f]{cursor:grab;color:#9aa7ba;-webkit-user-select:none;user-select:none}.mono[data-v-dc653b0f]{font-family:ui-monospace,monospace}.strong[data-v-dc653b0f]{font-weight:700;color:#0f2034}.swatch[data-v-dc653b0f]{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px}.ops[data-v-dc653b0f]{display:flex;gap:10px;align-items:center}.ed-toolbar[data-v-fc0cb652]{margin-bottom:14px}.tb-row[data-v-fc0cb652]{display:flex;align-items:center;gap:10px}.tb-title[data-v-fc0cb652]{font-weight:700;color:#0f2034}.tb-grow[data-v-fc0cb652]{flex:1}.ed-loading[data-v-fc0cb652]{padding:40px;color:#6a7c95}.ed-grid[data-v-fc0cb652]{display:grid;grid-template-columns:232px minmax(0,1fr) 300px;gap:14px;align-items:start}.muted[data-v-fc0cb652]{color:#93a4bd}.small[data-v-fc0cb652]{font-size:12px}.strong[data-v-fc0cb652]{font-weight:700;color:#0f2034}.kv[data-v-fc0cb652]{display:flex;justify-content:space-between;padding:2px 0 10px}.ed-col-left[data-v-fc0cb652]{display:flex;flex-direction:column;gap:14px}.comp-list[data-v-fc0cb652]{display:flex;flex-direction:column;gap:8px}.comp-item[data-v-fc0cb652]{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;cursor:pointer;text-align:left}.comp-item[data-v-fc0cb652]:hover{border-color:#2563eb}.comp-badge[data-v-fc0cb652]{display:grid;place-items:center;width:34px;height:34px;border:2px solid #2563eb;border-radius:50%;color:#2563eb;font-weight:700;font-size:12px}.comp-text[data-v-fc0cb652]{display:flex;flex-direction:column}.comp-text small[data-v-fc0cb652]{color:#93a4bd;font-size:12px}.cable-comp-row[data-v-fc0cb652]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cable-comp[data-v-fc0cb652]{padding:3px 10px;border:1px solid var(--c);border-radius:999px;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);font-size:12px;font-weight:700;cursor:pointer}.cable-comp.active[data-v-fc0cb652]{background:var(--c);color:#fff}.face-tabs-row[data-v-fc0cb652]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.face-tabs[data-v-fc0cb652]{display:flex;gap:6px}.face-tab[data-v-fc0cb652]{padding:5px 14px;border:1px solid #d8e4f2;border-radius:8px;background:#f8fbff;color:#60708a;cursor:pointer;font-size:13px}.face-tab.active[data-v-fc0cb652]{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:700}.konva-wrap[data-v-fc0cb652]{display:flex;justify-content:center}.panel-sub[data-v-fc0cb652]{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.cable-cards[data-v-fc0cb652]{display:flex;flex-direction:column;gap:8px}.cable-card[data-v-fc0cb652]{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #eef2f7;border-radius:9px;cursor:pointer}.cable-card.active[data-v-fc0cb652]{border-color:#2563eb;background:#f5f9ff}.cable-tag[data-v-fc0cb652]{display:grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:6px;background:var(--c);color:#fff;font-size:11px;font-weight:700}.cable-meta[data-v-fc0cb652]{flex:1;display:flex;flex-direction:column}.cable-meta small[data-v-fc0cb652]{color:#93a4bd;font-size:12px}.cable-detail[data-v-fc0cb652]{margin-top:12px;padding-top:12px;border-top:1px dashed #e2eaf3}.ov-table[data-v-fc0cb652]{margin-top:14px;border:1px solid #eef2f7;border-radius:8px;overflow:hidden}.ov-row[data-v-fc0cb652]{display:grid;grid-template-columns:1fr 44px 44px;padding:7px 10px;font-size:13px}.ov-row+.ov-row[data-v-fc0cb652]{border-top:1px solid #f3f6fa}.ov-row.ov-head[data-v-fc0cb652]{background:#f7f9fc;color:#6a7c95;font-size:12px}.ov-row.active[data-v-fc0cb652]{background:#eef6ff;font-weight:700}.ov-row span[data-v-fc0cb652]:not(:first-child){text-align:right}.ed-list[data-v-fc0cb652]{margin-top:14px}.login-shell[data-v-c9a1b968]{display:flex;min-height:100vh;background:#f4f7fb}.login-aside[data-v-c9a1b968]{position:relative;display:flex;flex-direction:column;width:52%;max-width:760px;overflow:hidden;padding:48px 56px;color:#dbe7f7;background:radial-gradient(900px 520px at 12% 6%,rgba(37,99,235,.26),transparent 60%),radial-gradient(700px 500px at 90% 100%,rgba(16,185,129,.16),transparent 60%),linear-gradient(155deg,#0a1628,#0d1c33 55%,#0b2238)}.login-aside[data-v-c9a1b968]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.4;background-image:linear-gradient(rgba(120,160,220,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(120,160,220,.06) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.aside-top[data-v-c9a1b968],.aside-mid[data-v-c9a1b968]{position:relative;z-index:1}.aside-mid[data-v-c9a1b968]{margin-top:auto;margin-bottom:auto;max-width:560px}.aside-brand[data-v-c9a1b968]{display:flex;align-items:center;gap:12px}.aside-logo[data-v-c9a1b968]{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#14b8a6,#2563eb);box-shadow:0 10px 24px #14b8a659}.aside-logo.small[data-v-c9a1b968]{width:34px;height:34px;border-radius:10px}.aside-name[data-v-c9a1b968]{font-size:19px;font-weight:800;color:#fff}.aside-en[data-v-c9a1b968]{font-size:11px;letter-spacing:2px;color:#6f88aa}.aside-headline[data-v-c9a1b968]{margin:0 0 16px;font-size:34px;line-height:1.3;font-weight:800;color:#fff}.aside-sub[data-v-c9a1b968]{margin:0 0 30px;max-width:520px;font-size:14px;line-height:1.7;color:#9fb6d2}.feature-grid[data-v-c9a1b968]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.feature-card[data-v-c9a1b968]{padding:14px 14px 16px;border:1px solid rgba(120,160,220,.18);border-radius:12px;background:#ffffff0a}.feature-no[data-v-c9a1b968]{display:inline-block;margin-bottom:8px;padding:1px 8px;border-radius:6px;background:#2563eb47;color:#93b4ff;font-size:12px;font-weight:700}.feature-card strong[data-v-c9a1b968]{display:block;margin-bottom:4px;color:#fff;font-size:14px}.feature-card small[data-v-c9a1b968]{color:#8ea6c4;font-size:12px;line-height:1.5}.aside-graph[data-v-c9a1b968]{position:absolute;right:48px;bottom:28px;width:320px;height:140px;z-index:0}.login-main[data-v-c9a1b968]{display:flex;flex:1;align-items:center;justify-content:center;padding:32px 28px;background:#fff}.login-card[data-v-c9a1b968]{display:flex;flex-direction:column;gap:16px;width:100%;max-width:380px}.login-compact-brand[data-v-c9a1b968]{display:none;align-items:center;gap:10px;margin-bottom:6px;color:#0f2034;font-size:16px;font-weight:700}.login-head h2[data-v-c9a1b968]{margin:0;font-size:24px;font-weight:800;color:#0f2034}.login-head p[data-v-c9a1b968]{margin:6px 0 0;color:#6a7c95;font-size:13px}.field[data-v-c9a1b968]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-c9a1b968]{font-size:13px;color:#44566f}.captcha-row[data-v-c9a1b968]{display:flex;gap:10px}.captcha-row[data-v-c9a1b968] .n-input{flex:1}.captcha-img[data-v-c9a1b968]{width:116px;height:40px;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#f1f5fb;cursor:pointer;overflow:hidden;display:grid;place-items:center}.captcha-img[data-v-c9a1b968]:hover{border-color:#2563eb}.captcha-img img[data-v-c9a1b968]{width:100%;height:100%;object-fit:contain}.captcha-loading[data-v-c9a1b968]{font-size:12px;color:#6a7c95}.login-error[data-v-c9a1b968]{margin:0;padding:9px 12px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#dc2626;font-size:13px}.login-submit[data-v-c9a1b968]{margin-top:4px}.login-foot[data-v-c9a1b968]{display:flex;justify-content:space-between;font-size:12px;color:#9aa7ba}.link-btn[data-v-c9a1b968]{border:none;background:none;color:#2563eb;cursor:pointer;font-size:12px}@media(max-width:880px){.login-aside[data-v-c9a1b968]{display:none}.login-compact-brand[data-v-c9a1b968]{display:flex}}.bar[data-v-d3b1636d]{display:flex;align-items:center;gap:10px;margin:14px 0}.bar.wrap[data-v-d3b1636d]{flex-wrap:wrap}.grow[data-v-d3b1636d]{flex:1}.muted[data-v-d3b1636d]{color:#93a4bd}.small[data-v-d3b1636d]{font-size:12px}.pager[data-v-d3b1636d]{display:flex;justify-content:flex-end;margin-top:14px}.log-detail .kv[data-v-d3b1636d]{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:13px;border-bottom:1px solid #f0f3f8}.mono[data-v-d3b1636d]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.body-block[data-v-d3b1636d]{margin-top:14px}.body-label[data-v-d3b1636d]{font-size:12px;color:#6a7c95;margin-bottom:6px}.body-pre[data-v-d3b1636d]{margin:0;padding:10px 12px;background:#0f1b2d;color:#c9e0ff;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:280px;overflow:auto}:root{color:#10233f;background:#f4f8fc;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:#f4f8fc}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:100vh}.sidebar{position:relative;overflow:hidden;padding:26px 20px;background:linear-gradient(180deg,#031426,#061b33);color:#dceeff}.brand{display:grid;justify-items:center;gap:10px;margin-bottom:34px;text-align:center}.brand-mark{display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(0,213,255,.44);border-radius:16px;background:radial-gradient(circle at 50% 50%,rgba(0,213,255,.22),transparent 58%),linear-gradient(135deg,#0f6bff,#00a3d8);color:#fff;font-weight:700;box-shadow:0 14px 30px #0066ff47}.brand-copy{display:grid;gap:4px;min-width:0}.brand-kicker{color:#8db7da;font-size:13px}.brand-title{width:100%;color:#fff;font-size:17px;font-weight:700;line-height:1.2;white-space:nowrap}.nav{display:grid;gap:10px}.nav-item{border:1px solid rgba(99,157,220,.16);border-radius:8px;padding:12px 14px;background:#ffffff0a;color:#dceeff;text-align:left}.nav-item.router-link-active{border-color:#00d5ff6b;background:linear-gradient(135deg,#0f6bff,#1d4ed8);box-shadow:0 0 18px #0f6bff47}.nav-item.disabled{cursor:not-allowed;opacity:.54}.sidebar-circuit{position:absolute;inset:auto 18px 22px 18px;height:120px;border:1px solid rgba(0,213,255,.12);background-image:linear-gradient(90deg,rgba(0,213,255,.12) 1px,transparent 1px),linear-gradient(rgba(0,213,255,.1) 1px,transparent 1px);background-size:28px 28px;opacity:.58}.workspace{min-width:0;overflow-x:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:72px;padding:0 26px;border-bottom:1px solid #d8e4f2;background:#fff}.topbar h1{margin:0;font-size:22px}.page-kicker,.eyebrow,.hint{color:#60708a;font-size:13px}.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;color:#60708a}.topbar-actions span{border:1px solid #d8e4f2;border-radius:999px;padding:6px 10px;background:#f7fbff}.content{padding:24px;min-width:0}.ledger-stack,.page-grid,.editor-grid{display:grid;gap:18px}.page-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.panel{border:1px solid #d8e4f2;border-radius:10px;padding:18px;background:#fff;box-shadow:0 10px 30px #1939630f}.hero-panel{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:20px}.hero-panel h2{max-width:720px;margin:8px 0;font-size:24px}.hero-actions{display:grid;justify-items:end;gap:14px;min-width:180px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h3{margin:0;font-size:18px}.panel-title span{color:#60708a;font-size:13px}.form-panel,.table-panel{grid-column:span 1}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.summary-card{display:grid;gap:4px;min-height:112px;border:1px solid #d8e4f2;border-radius:10px;padding:16px;background:#fff}.summary-card span{color:#60708a;font-size:13px}.summary-card strong{color:#10233f;font-size:30px;line-height:1}.summary-card small{color:#60708a}.summary-card.recorded{background:#eef6ff}.summary-card.normal{background:#ecfdf3}.summary-card.pending{background:#fff7e6}.summary-card.abnormal{background:#fff1f2}.summary-card.unrecorded{background:#f8fafc}.ledger-main{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;min-width:0}.ledger-left,.ledger-right{display:grid;gap:18px;min-width:0}.filter-panel{padding-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.checkbox-row{display:flex;align-items:center;min-height:38px;color:#10233f}.checkbox-row input{width:16px;height:16px}.filter-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ledger-table-wrap{overflow-x:auto;border:1px solid #edf3fa;border-radius:8px;max-width:100%}.ledger-table{width:100%;min-width:920px;border-collapse:collapse;font-size:14px}.ledger-table th,.ledger-table td{border-bottom:1px solid #edf3fa;padding:12px 10px;text-align:left;vertical-align:middle}.ledger-table th{background:#f4f8fc;color:#60708a;font-weight:600}.ledger-table tr:last-child td{border-bottom:0}.well-code{color:#1d4ed8;font-weight:700}.location-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-link{border:0;padding:0;background:transparent;color:#1677ff;cursor:pointer;font-weight:600}.button-link{font:inherit}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;color:#60708a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}label{display:grid;gap:6px;color:#60708a;font-size:13px}label.wide{grid-column:1 / -1}input,select{width:100%;height:38px;border:1px solid #cbd9e8;border-radius:8px;padding:0 10px;color:#10233f;background:#fff}textarea{width:100%;min-height:72px;resize:vertical;border:1px solid #cbd9e8;border-radius:8px;padding:8px 10px;color:#10233f;background:#fff}.form-actions,.inline-open,.editor-toolbar{display:flex;align-items:center;gap:10px}.editor-toolbar{flex-wrap:wrap}.toolbar-toggle,.toolbar-control{display:inline-flex;grid-template-columns:none;align-items:center;gap:6px;color:#60708a;font-size:13px}.toolbar-toggle input{width:16px;height:16px}.toolbar-control select{width:92px;height:34px}.form-actions{flex-wrap:wrap;margin-top:14px}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;padding:0 14px;cursor:pointer}.primary-button{border:1px solid #1677ff;background:#1677ff;color:#fff}.secondary-button{border:1px solid #cbd9e8;background:#fff;color:#1d4ed8}.danger-button{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c}.small-button{min-height:32px;padding:0 10px;font-size:13px}.icon-button{width:38px;padding:0}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.message{margin:10px 0 0;font-size:13px}.message.success{color:#16a34a}.message.error{color:#dc2626}.status-strip{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.drawer-mask{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#03142657}.drawer-enter-active,.drawer-leave-active{transition:opacity .22s ease}.drawer-enter-active .drawer-panel,.drawer-leave-active .drawer-panel{transition:transform .22s ease}.drawer-enter-from,.drawer-leave-to{opacity:0}.drawer-enter-from .drawer-panel,.drawer-leave-to .drawer-panel{transform:translate(100%)}.drawer-panel{width:min(500px,100vw);height:100%;overflow-y:auto;border-left:1px solid #d8e4f2;background:#fff;box-shadow:-18px 0 44px #0f233f33}.drawer-form{display:grid;gap:18px;padding:22px}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #edf3fa;padding-bottom:16px}.drawer-header h3{margin:4px 0 0;font-size:20px}.drawer-actions{justify-content:flex-end}.status-pill{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:13px}.status-pill.normal{background:#e9f8ef;color:#15803d}.status-pill.pending{background:#fff7e6;color:#b45309}.status-pill.abnormal{background:#feecec;color:#b91c1c}.status-pill.unrecorded{background:#f1f5f9;color:#64748b}.empty-state{display:grid;min-height:180px;place-content:center;text-align:center;color:#60708a}.editor-grid{grid-template-columns:300px minmax(0,1fr) 320px;align-items:start;min-width:0}.editor-left-rail{display:grid;gap:18px}.well-summary,.dictionary-panel,.component-library,.inspector-panel{display:grid;gap:12px}.component-section{display:grid;gap:10px}.component-section strong{font-size:14px}.pipe-component{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;width:100%;border:1px solid #d8e4f2;border-radius:8px;padding:10px;background:#f8fbff;color:#10233f;cursor:grab;text-align:left}.pipe-component:hover{border-color:#1677ff;background:#eef6ff}.pipe-component:active{cursor:grabbing}.pipe-component:disabled{cursor:not-allowed;opacity:.58}.pipe-component-icon{display:grid;place-items:center;border:4px solid #1677ff;border-radius:50%;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700}.pipe-component-icon.sc100{width:46px;height:46px}.pipe-component-icon.sc80{width:40px;height:40px;margin-left:3px}.pipe-component-icon.sc50{width:34px;height:34px;margin-left:6px}.pipe-component b,.pipe-component small{display:block}.pipe-component small{overflow:hidden;color:#60708a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.editor-main-stage{display:grid;gap:14px;min-width:0}.face-switch-panel{padding:8px 10px}.face-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.face-tab{display:flex;align-items:baseline;gap:8px;border:1px solid #d8e4f2;border-radius:8px;padding:6px 10px;background:#f8fbff;color:#60708a;cursor:pointer;text-align:left}.face-tab strong,.face-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.face-tab strong{color:#10233f;font-size:13px}.face-tab span{font-size:12px}.face-tab.active{border-color:#1677ff;background:#eef6ff;box-shadow:inset 0 0 0 1px #1677ff2e}.faces-area{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;min-width:0}.face-card{display:grid;gap:12px}.main-face-card{min-width:0}.main-face-target{max-width:520px}.face-canvas{position:relative;height:230px;overflow:hidden;border:1px solid #cbd9e8;border-radius:8px;background-image:linear-gradient(90deg,rgba(22,119,255,.08) 1px,transparent 1px),linear-gradient(rgba(22,119,255,.08) 1px,transparent 1px);background-size:var(--grid-size, 20px) var(--grid-size, 20px)}.main-face-canvas{width:100%;max-width:720px;aspect-ratio:1.5;height:auto;justify-self:start}.face-canvas.grid-disabled{background-image:none}.face-canvas.selected{border-color:#1677ff;box-shadow:inset 0 0 0 1px #1677ff3d}.face-canvas.drop-target{border-color:#0f6bff;background-color:#eef6ff;box-shadow:inset 0 0 0 2px #0f6bff3d,0 10px 24px #1677ff24}.reference-line{position:absolute;top:64.8%;right:0;left:0;border-top:1px dashed rgba(22,119,255,.5);pointer-events:none}.reference-line span{position:absolute;right:8px;bottom:4px;border-radius:999px;padding:2px 7px;background:#ffffffe6;color:#1d4ed8;font-size:11px}.pipe-dot{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transform:translate(-50%,-50%);border:4px solid #1677ff;border-radius:50%;background:#eff6ff;color:#10233f;font-size:12px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 8px 20px #1677ff29}.pipe-dot.selected{border-color:#0f6bff;background:#dbeafe;box-shadow:0 0 0 4px #1677ff2e,0 10px 24px #1677ff38}.pipe-dot.cable-target{border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a62e,0 12px 28px #14b8a62e}.pipe-dot:active{cursor:grabbing}.pipe-code-label,.pipe-spec-label{position:absolute;left:50%;z-index:3;max-width:96px;transform:translate(-50%);border:1px solid #d8e4f2;border-radius:999px;padding:2px 7px;background:#fffffff0;color:#10233f;font-size:11px;font-weight:700;line-height:1.2;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-shadow:0 4px 10px #19396314}.pipe-code-label{top:-24px}.pipe-spec-label{bottom:-24px;color:#1d4ed8}.cable-dot-cluster{position:absolute;top:8px;right:8px;bottom:8px;left:8px;pointer-events:auto}.cable-dot{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid color-mix(in srgb,var(--cable-color) 72%,#ffffff);border-radius:999px;padding:0;background:color-mix(in srgb,var(--cable-color) 18%,#ffffff);color:var(--cable-color);cursor:pointer;font-size:9px;font-weight:700;line-height:1;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 2px #ffffffdb}.cable-dot.selected{border-color:var(--cable-color);background:var(--cable-color);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--cable-color) 18%,transparent)}.cable-more{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:19px;border:1px solid #cbd9e8;border-radius:999px;background:#edf3fa;color:#60708a;font-size:10px;font-weight:700;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 2px #ffffffdb}.inspector-meta,.form-note{border:1px solid #edf3fa;border-radius:8px;padding:8px 10px;background:#f8fbff;color:#60708a;font-size:12px;line-height:1.5}.well-overview{margin-top:14px;padding-top:12px;border-top:1px dashed #e2eaf3}.overview-table{margin-top:8px;border:1px solid #edf3fa;border-radius:8px;overflow:hidden}.overview-row{display:grid;grid-template-columns:1fr 48px 48px;align-items:center;padding:7px 10px;font-size:13px;color:#10233f}.overview-row+.overview-row{border-top:1px solid #f0f4f9}.overview-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.overview-row.overview-head{background:#f8fbff;color:#60708a;font-size:12px}.overview-row.active{background:#eef6ff;font-weight:700}.main-empty-hint{margin:0}.inspector-meta{display:grid;gap:4px;margin-bottom:12px}.pipe-list{display:grid;gap:8px}.main-pipe-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pipe-row{display:grid;grid-template-columns:70px 70px 80px 1fr;gap:8px;width:100%;border:1px solid #edf3fa;border-radius:8px;padding:8px;background:#fff;color:#60708a;cursor:pointer;font-size:13px;text-align:left}.pipe-row.selected{border-color:#1677ff;background:#eef6ff;color:#10233f}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.network-tag,.spec-tag{border-radius:999px;padding:5px 9px;font-size:12px}.network-tag{border:0;background:color-mix(in srgb,var(--tag-color) 14%,white);color:var(--tag-color)}.cable-component{cursor:pointer;border:1px solid color-mix(in srgb,var(--tag-color) 22%,#d8e4f2)}.cable-component.active{background:var(--tag-color);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--tag-color) 16%,transparent)}.spec-tag{background:#eef6ff;color:#1d4ed8}.inspector-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inspector-form .wide{grid-column:1 / -1}.panel-title.compact{margin:6px 0 0}.cable-editor-list{display:grid;gap:10px}.cable-editor-card{display:grid;gap:10px;border:1px solid #edf3fa;border-radius:8px;padding:10px;background:#f8fbff;cursor:pointer}.cable-editor-card.selected{border-color:#1677ff;background:#eef6ff}.cable-card-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.cable-card-main strong,.cable-card-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cable-card-main small{color:#60708a;font-size:12px}.cable-card-actions{display:flex;justify-content:flex-end;gap:8px}.cable-detail-form{grid-template-columns:minmax(0,1fr)}.pipe-table-panel{grid-column:1 / -1}.pipe-table-filters{display:grid;grid-template-columns:180px 180px 220px auto;gap:12px;align-items:end;margin-bottom:14px}.list-checkbox{align-self:end}.pipe-table-wrap{overflow-x:auto;border:1px solid #edf3fa;border-radius:8px}.pipe-table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px}.pipe-table th,.pipe-table td{border-bottom:1px solid #edf3fa;padding:10px;text-align:left;vertical-align:top}.pipe-table th{background:#f4f8fc;color:#60708a;font-weight:600}.pipe-table tbody tr{cursor:pointer}.pipe-table tbody tr:hover,.pipe-table tbody tr.selected{background:#eef6ff}.pipe-table tr:last-child td{border-bottom:0}.compact-empty{min-height:96px;margin:0}.table-actions{display:flex;flex-wrap:wrap;gap:10px}.export-page{display:grid;gap:18px}.export-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.export-toolbar h2{margin:4px 0 0;font-size:24px}.export-actions{display:flex;gap:10px}.export-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;min-width:0}.export-preview-panel{min-width:0}.size-warning{color:#dc2626!important;font-weight:700}.export-preview-sheet{min-height:620px;border:1px solid #d8e4f2;border-radius:8px;padding:22px;background:#fff}.export-share-sheet{border-color:#c8d7ea;background:#fff;box-shadow:inset 0 0 0 6px #f6f9fd}.export-sheet-header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e5edf7;padding-bottom:14px;margin-bottom:18px}.share-sheet-header{align-items:flex-start;border-bottom:2px solid #dbe7f5}.export-sheet-header div{display:grid;gap:2px}.export-sheet-header strong{font-size:24px}.share-sheet-header strong{color:#10233f;font-size:32px;line-height:1.1}.export-sheet-title{color:#1d4ed8!important;font-size:15px;font-weight:700}.export-sheet-header span,.export-sheet-header small{color:#60708a}.overview-preview{display:grid;gap:18px}.share-overview{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}.export-info-card,.export-stat-grid article{border:1px solid #d8e4f2;border-radius:8px;padding:16px;background:#f8fbff}.export-info-card h4{margin:0 0 12px;color:#10233f;font-size:16px}.export-info-card dl{display:grid;gap:10px;margin:0}.export-info-card dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px}.export-info-card dt{color:#60708a}.export-info-card dd{margin:0;color:#10233f;font-weight:600}.export-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.export-stat-grid article{display:grid;gap:4px}.export-stat-grid span,.export-stat-grid small{color:#60708a;font-size:12px}.export-stat-grid strong{color:#10233f;font-size:30px;line-height:1}.well-box{display:grid;min-height:260px;place-items:center;border:3px solid #1d4ed8;border-radius:8px;background:#f8fbff;color:#10233f;font-size:32px;font-weight:700}.overview-stats,.face-mini-grid{display:grid;gap:12px}.share-face-summary{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats span,.face-mini-grid article{border:1px solid #d8e4f2;border-radius:8px;padding:14px;background:#f8fbff}.face-mini-grid article{display:flex;justify-content:space-between}.share-face-summary article{align-items:center}.share-face-summary article div{display:grid;gap:2px}.share-face-summary b{color:#1d4ed8}.faces-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.faces-preview-grid.single{grid-template-columns:minmax(0,1fr)}.faces-preview-grid.single .preview-face-canvas{height:360px}.preview-face{border:1px solid #d8e4f2;border-radius:8px;padding:14px;background:#fbfdff}.preview-face-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.preview-face-title span{color:#60708a;font-size:13px}.preview-face-title div{display:grid;gap:2px}.preview-face-title b{border-radius:999px;padding:4px 9px;background:#eef6ff;color:#1d4ed8;font-size:12px}.preview-face-canvas{position:relative;height:220px;overflow:hidden;border:1px solid #c8d7ea;border-radius:8px;background-color:#fff;background-image:linear-gradient(90deg,rgba(96,112,138,.16) 1px,transparent 1px),linear-gradient(rgba(96,112,138,.16) 1px,transparent 1px);background-size:24px 24px}.preview-pipe-node{position:absolute;display:block;transform:translate(-50%,-50%);border:3px solid #1677ff;border-radius:50%;background:#eff6ff;color:#10233f;box-shadow:0 7px 18px #1677ff24}.preview-pipe-code,.preview-pipe-spec{position:absolute;left:50%;max-width:80px;transform:translate(-50%);border:1px solid #d8e4f2;border-radius:999px;padding:1px 6px;background:#fffffff0;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 3px 8px #19396314}.preview-pipe-code{top:-20px}.preview-pipe-spec{bottom:-20px;color:#1d4ed8}.preview-pipe-summary{position:absolute;left:50%;top:calc(100% + 24px);z-index:4;max-width:148px;transform:translate(-50%);border:1px solid #cbd9e8;border-radius:999px;padding:2px 7px;background:#fffffff5;color:#10233f;font-size:10px;font-weight:700;line-height:1.25;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 10px #1939631a}.preview-cable-layer{position:absolute;top:7px;right:7px;bottom:7px;left:7px}.preview-cable-layer i,.preview-cable-layer em{position:absolute;transform:translate(-50%,-50%)}.preview-cable-layer i{width:14px;height:14px;border:1px solid color-mix(in srgb,var(--cable-color) 70%,white);border-radius:50%;background:var(--cable-color);box-shadow:0 0 0 2px #ffffffdb}.preview-cable-layer em{min-width:22px;border:1px solid #cbd9e8;border-radius:999px;padding:1px 4px;background:#edf3fa;color:#60708a;font-size:10px;font-style:normal;font-weight:700;line-height:1.4;text-align:center;box-shadow:0 0 0 2px #ffffffdb}.list-preview{overflow-x:auto}.export-list-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.export-list-summary span{border-radius:999px;padding:6px 11px;background:#eef6ff;color:#1d4ed8;font-size:13px;font-weight:700}.list-preview table{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}.list-preview th,.list-preview td{border-bottom:1px solid #edf3fa;padding:11px 10px;text-align:left;vertical-align:top}.list-preview th{background:#10233f;color:#fff}.export-settings{display:grid;gap:14px}.export-rule-list{display:grid;gap:10px;border:1px solid #edf3fa;border-radius:8px;padding:12px;background:#f8fbff;color:#60708a;font-size:13px}.export-rule-list p{margin:0}.message.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.export-delivery-page{gap:22px}.export-delivery-page .panel{border:1px solid rgba(191,219,254,.64);border-radius:24px;background:#fffffff0;box-shadow:0 18px 48px #0f172a14}.export-delivery-page .export-toolbar{position:relative;overflow:hidden;min-height:132px;padding:24px 28px;border:0;background:radial-gradient(circle at 12% 20%,rgba(56,189,248,.34),transparent 24%),radial-gradient(circle at 78% 0%,rgba(37,99,235,.26),transparent 26%),linear-gradient(135deg,#07111f,#0d223b 55%,#102e52);color:#f8fbff}.export-delivery-page .export-toolbar:after{position:absolute;right:-80px;bottom:-120px;width:360px;height:260px;border:1px solid rgba(125,211,252,.22);border-radius:50%;content:"";background:#0ea5e914}.export-delivery-page .export-toolbar>*{position:relative;z-index:1}.export-delivery-page .export-toolbar .eyebrow{color:#7dd3fc;letter-spacing:.08em}.export-delivery-page .export-toolbar h2{color:#fff;font-size:30px;line-height:1.1}.export-hero-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.export-hero-metrics span{border:1px solid rgba(125,211,252,.26);border-radius:999px;padding:5px 10px;background:#0812205c;color:#dbeafe;font-size:12px;font-weight:700}.export-delivery-page .export-actions .secondary-button{border-color:#bfdbfe57;background:#ffffff1a;color:#e0f2fe;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.export-delivery-page .export-actions .primary-button{border:0;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff;box-shadow:0 14px 30px #2563eb47}.export-delivery-page .export-grid{grid-template-columns:minmax(0,1fr) 360px;gap:20px}.export-delivery-page .export-preview-panel,.export-delivery-page .export-settings{padding:18px}.export-delivery-page .panel-title{margin-bottom:14px;border-bottom:1px solid #edf3fb;padding-bottom:12px}.export-delivery-page .panel-title h3{margin:0;color:#0f2034;font-size:18px}.export-delivery-page .panel-title span{color:#8aa0bd;font-size:12px}.export-delivery-page .export-preview-sheet{min-height:650px;border:1px solid rgba(191,219,254,.82);border-radius:22px;padding:28px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#38bdf880,#2563eb29) border-box;box-shadow:inset 0 0 0 8px #f7fbff,0 20px 44px #0f172a14}.export-delivery-page .share-sheet-header{margin:-4px -4px 22px;border:0;border-radius:18px;padding:18px;background:radial-gradient(circle at 90% 8%,rgba(37,99,235,.16),transparent 28%),linear-gradient(135deg,#f8fbff,#eef6ff)}.export-delivery-page .export-sheet-title{color:#2563eb!important;letter-spacing:.08em}.export-delivery-page .share-sheet-header strong{margin-top:2px;font-size:36px}.export-delivery-page .status-pill{box-shadow:0 6px 16px #0f172a14}.export-delivery-page .export-info-card,.export-delivery-page .export-stat-grid article,.export-delivery-page .face-mini-grid article,.export-delivery-page .preview-face{border-color:#dbeafe;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 26px #0f172a0f}.export-delivery-page .export-stat-grid strong{color:#1d4ed8;font-size:34px}.export-delivery-page .preview-face-canvas{border-color:#60a5fa57;border-radius:18px;background-color:#f8fbff;background-image:linear-gradient(90deg,rgba(37,99,235,.08) 1px,transparent 1px),linear-gradient(rgba(37,99,235,.08) 1px,transparent 1px);box-shadow:inset 0 0 0 1px #ffffffd1}.export-delivery-page .preview-pipe-node{border-color:#38bdf8;background:#10243c;color:#e0f2fe;box-shadow:0 0 0 4px #38bdf81f,0 12px 26px #2563eb38}.export-delivery-page .preview-pipe-code,.export-delivery-page .preview-pipe-spec,.export-delivery-page .preview-pipe-summary{border-color:#bfdbfeeb;background:#fffffff5}.export-delivery-page .export-settings{position:sticky;top:20px;display:grid;gap:16px}.export-delivery-page .export-settings label{display:grid;gap:8px}.export-delivery-page .export-settings label span{color:#5d7190;font-size:13px;font-weight:700}.export-delivery-page .export-settings select{width:100%;border:1px solid #d8e4f2;border-radius:12px;padding:11px 12px;background:#f8fbff;color:#0f2034;font:inherit}.export-delivery-page .export-rule-list{border-color:#dbeafe;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#eef6ff)}@media(max-width:1280px){.export-delivery-page .export-grid{grid-template-columns:minmax(0,1fr)}.export-delivery-page .export-settings{position:static}}
