:root{--bg:#fafaf9;--surface:#fff;--surface-2:#f7f7f5;--surface-3:#f0f0ee;--hover:#f4f4f2;--sidebar:#0c0c0e;--sidebar-2:#161618;--sidebar-3:#1f1f22;--sidebar-active:#28282c;--line:#eaeae6;--line-2:#deded9;--line-soft:#f1f1ed;--sidebar-line:#1b1b1e;--fg:#0a0a0b;--fg-2:#4b4b53;--fg-3:#6e6e76;--fg-4:#9b9ba3;--fg-5:#b6b6bd;--on-dark:#ececee;--on-dark-2:#9999a0;--on-dark-3:#62626a;--indigo:#5b5bd6;--indigo-2:#4a4ac4;--indigo-soft:#efeffb;--indigo-soft-2:#e2e2f6;--indigo-fg:#3a3aab;--green:#10b981;--green-2:#059669;--green-soft:#e7f7ef;--green-fg:#047857;--amber:#f59e0b;--amber-2:#d97706;--amber-soft:#fef3d8;--amber-fg:#b45309;--red:#ef4444;--red-2:#dc2626;--red-soft:#fdecec;--red-fg:#b91c1c;--blue:#3b82f6;--blue-soft:#e8f0fe;--blue-fg:#1d4ed8;--purple:#8b5cf6;--purple-soft:#f0ebfe;--purple-fg:#6d28d9;--pink:#ec4899;--pink-soft:#fce7f1;--pink-fg:#be185d;--teal:#14b8a6;--teal-soft:#def7f4;--teal-fg:#0d9488;--sup-febi:#3b82f6;--sup-homer-cn:#ec4899;--sup-homer-tw:#8b5cf6;--sup-gsp:#14b8a6;--shadow-xs:0 1px 0 rgba(15,15,20,.04),0 1px 2px rgba(15,15,20,.04);--shadow-sm:0 1px 2px rgba(15,15,20,.04),0 2px 4px rgba(15,15,20,.04);--shadow-md:0 2px 4px rgba(15,15,20,.04),0 4px 12px rgba(15,15,20,.06),0 0 0 0.5px rgba(15,15,20,.04);--shadow-lg:0 4px 8px rgba(15,15,20,.06),0 12px 32px rgba(15,15,20,.1),0 0 0 0.5px rgba(15,15,20,.04);--shadow-xl:0 8px 16px rgba(15,15,20,.08),0 24px 56px rgba(15,15,20,.14),0 0 0 0.5px rgba(15,15,20,.04);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.6);--ring:0 0 0 3px rgba(91,91,214,.18);--t-fast:120ms;--t-base:180ms;--t-slow:240ms;--t-slower:360ms;--ease:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0.32,0.72,0,1);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-2xl:18px}[data-theme=dark]{--bg:#0a0a0b;--surface:#131316;--surface-2:#1a1a1d;--surface-3:#232327;--hover:#1e1e22;--sidebar:#08080a;--sidebar-2:#131316;--sidebar-3:#1c1c1f;--sidebar-active:#28282c;--line:#25252a;--line-2:#2e2e33;--line-soft:#1b1b1f;--sidebar-line:#16161a;--fg:#ececee;--fg-2:#b6b6bd;--fg-3:#8e8e96;--fg-4:#6a6a72;--fg-5:#4f4f56;--indigo-soft:#1f1f35;--indigo-soft-2:#2a2a45;--indigo-fg:#b4b4f2;--green-soft:#0f2a20;--green-fg:#6ee7b7;--amber-soft:#2d1f0a;--amber-fg:#fcd34d;--red-soft:#2a1010;--red-fg:#fca5a5;--blue-soft:#0f1a2e;--blue-fg:#93c5fd;--purple-soft:#1e1330;--purple-fg:#c4b5fd;--pink-soft:#2a0f20;--pink-fg:#f9a8d4;--teal-soft:#0e2421;--teal-fg:#5eead4;--shadow-xs:0 1px 0 rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 2px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.2);--shadow-md:0 2px 4px rgba(0,0,0,.3),0 4px 12px rgba(0,0,0,.4),0 0 0 0.5px hsla(0,0%,100%,.04);--shadow-lg:0 4px 8px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.5),0 0 0 0.5px hsla(0,0%,100%,.04);--shadow-xl:0 8px 16px rgba(0,0,0,.5),0 24px 56px rgba(0,0,0,.6),0 0 0 0.5px hsla(0,0%,100%,.04);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.04);--ring:0 0 0 3px rgba(91,91,214,.3)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}html{font-feature-settings:"cv11","ss01","ss03"}body{font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.45;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.005em;transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease)}.mono{font-family:var(--font-geist-mono),ui-monospace,monospace;font-feature-settings:"ss03","cv11";letter-spacing:0}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:none}input,select,textarea{background:transparent;border:none;outline:none}a{color:inherit;text-decoration:none}svg{display:block}::selection{background:rgba(91,91,214,.2);color:var(--indigo-fg)}[data-theme=dark] ::selection{background:rgba(91,91,214,.4);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--fg-5)}:focus{outline:none}:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm)}.ic-10{width:10px;height:10px;flex-shrink:0}.ic-12{width:12px;height:12px;flex-shrink:0}.ic-14{width:14px;height:14px;flex-shrink:0}.ic-16{width:16px;height:16px;flex-shrink:0}.ic-18{width:18px;height:18px;flex-shrink:0}.ic-20{width:20px;height:20px;flex-shrink:0}.row{align-items:center}.col,.row{display:flex}.col{flex-direction:column}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.ml-auto{margin-left:auto}.flex-1{flex:1 1;min-width:0}.text-secondary{color:var(--fg-2)}.text-tertiary{color:var(--fg-3)}.text-muted{color:var(--fg-4)}.no-shrink{flex-shrink:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes ringPulse{0%{box-shadow:0 0 0 0 rgba(91,91,214,.45)}to{box-shadow:0 0 0 10px rgba(91,91,214,0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;height:32px;border-radius:var(--r-sm);font-size:13px;font-weight:500;background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow-xs);transition:all var(--t-fast) var(--ease);white-space:nowrap}.btn:hover{background:var(--hover);border-color:var(--line-2)}.btn:active{transform:translateY(.5px)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn.btn-primary{background:linear-gradient(180deg,#6868dc,#5b5bd6);color:#fff;border-color:var(--indigo-2);box-shadow:0 1px 0 hsla(0,0%,100%,.18) inset,0 1px 2px rgba(91,91,214,.3),0 0 0 .5px var(--indigo-2)}.btn.btn-primary:hover{background:linear-gradient(180deg,#5959d1,#4f4fcc)}.btn.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn.btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.btn-ghost:hover{background:var(--hover)}.btn.btn-danger{color:var(--red-2);border-color:var(--red-soft)}.btn.btn-danger:hover{background:var(--red-soft);border-color:var(--red)}.btn.btn-sm{height:28px;padding:4px 10px;font-size:12.5px}.btn.btn-xs{height:24px;padding:2px 8px;font-size:12px;gap:4px;border-radius:5px}.btn.btn-icon{width:32px;padding:0}.btn.btn-icon.btn-sm{width:28px}.btn.btn-icon.btn-xs{width:24px}.kbd{justify-content:center;min-width:18px;height:18px;padding:0 4px;font-family:var(--font-geist-mono),monospace;font-size:10.5px;color:var(--fg-2);background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 1px 0 var(--line)}.badge,.kbd{display:inline-flex;align-items:center;font-weight:500}.badge{gap:5px;padding:2px 8px;height:22px;font-size:11.5px;border-radius:5px;white-space:nowrap;letter-spacing:-.005em}.badge .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge.b-gray{background:var(--surface-2);color:var(--fg-2);border:1px solid var(--line)}.badge.b-gray .dot{background:var(--fg-4)}.badge.b-indigo{background:var(--indigo-soft);color:var(--indigo-fg);border:1px solid rgba(91,91,214,.18)}.badge.b-indigo .dot{background:var(--indigo)}.badge.b-amber{background:var(--amber-soft);color:var(--amber-fg);border:1px solid rgba(245,158,11,.2)}.badge.b-amber .dot{background:var(--amber);animation:pulse 2.4s ease-in-out infinite}.badge.b-green{background:var(--green-soft);color:var(--green-fg);border:1px solid rgba(16,185,129,.2)}.badge.b-green .dot{background:var(--green)}.badge.b-red{background:var(--red-soft);color:var(--red-fg);border:1px solid rgba(239,68,68,.2)}.badge.b-red .dot{background:var(--red);animation:pulse 1.5s ease-in-out infinite}.badge.b-blue{background:var(--blue-soft);color:var(--blue-fg);border:1px solid rgba(59,130,246,.18)}.badge.b-blue .dot{background:var(--blue)}.badge.b-purple{background:var(--purple-soft);color:var(--purple-fg);border:1px solid rgba(139,92,246,.18)}.badge.b-purple .dot{background:var(--purple)}.badge.b-teal{background:var(--teal-soft);color:var(--teal-fg);border:1px solid rgba(20,184,166,.18)}.badge.b-teal .dot{background:var(--teal)}.conf{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;height:20px;font-size:11px;font-weight:600;border-radius:4px;font-family:var(--font-geist-mono),monospace;letter-spacing:0}.conf .d{width:5px;height:5px;border-radius:50%}.conf.high{background:var(--green-soft);color:var(--green-fg)}.conf.high .d{background:var(--green)}.conf.med{background:var(--amber-soft);color:var(--amber-fg)}.conf.med .d{background:var(--amber)}.conf.low{background:var(--red-soft);color:var(--red-fg)}.conf.low .d{background:var(--red);animation:pulse 1.4s infinite}.dtag{display:inline-flex;align-items:center;padding:1px 6px;height:20px;font-family:var(--font-geist-mono),monospace;font-size:10.5px;font-weight:600;border-radius:4px;letter-spacing:.02em}.dtag.vsb{background:var(--indigo-soft);color:var(--indigo-fg);border:1px solid rgba(91,91,214,.2)}.dtag.lm{background:var(--purple-soft);color:var(--purple-fg);border:1px solid rgba(139,92,246,.2)}.sup{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;height:22px;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;font-size:12px;font-weight:500}.sup .d{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sup.febi .d{background:var(--sup-febi)}.sup.homer-cn .d{background:var(--sup-homer-cn)}.sup.homer-tw .d{background:var(--sup-homer-tw)}.sup.gsp .d{background:var(--sup-gsp)}.ck{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-family:var(--font-geist-mono),monospace;font-size:11px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;color:var(--fg-2)}.ck .seg{color:var(--fg)}.ck .sep{color:var(--fg-4)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:10.5px;font-weight:600;color:#fff;letter-spacing:0;flex-shrink:0;box-shadow:0 0 0 1px var(--surface),0 0 0 2px var(--line)}.avatar.sm{width:20px;height:20px;font-size:9.5px}.avatar.lg{width:32px;height:32px;font-size:12.5px}.avatar.av-uz{background:linear-gradient(135deg,#5b5bd6,#8b5cf6)}.avatar.av-lh{background:linear-gradient(135deg,#ec4899,#f59e0b)}.avatar.av-mk{background:linear-gradient(135deg,#14b8a6,#3b82f6)}.avatar.av-tr{background:linear-gradient(135deg,#f59e0b,#ef4444)}.avatar.av-ai{background:linear-gradient(135deg,#0a0a0b,#4b4b53);position:relative}.avatar.av-ai:after{content:"\2605";position:absolute;font-size:11px}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-6px}.input{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;height:32px;min-width:0;font-size:13px;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);transition:all var(--t-fast) var(--ease);width:100%}.input:hover:not(:focus-within){border-color:var(--line-2)}.input:focus-within{border-color:var(--indigo);box-shadow:var(--ring)}.input.input-sm{height:28px;padding:4px 8px;font-size:12.5px}.input input,.input select,.input textarea{flex:1 1;min-width:0;background:transparent;border:none;outline:none;color:inherit;padding:0}.input .ic-leading{color:var(--fg-4)}.edit{padding:4px 6px;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--fg);font-size:13px;width:100%;transition:all var(--t-fast) var(--ease);font-family:inherit}.edit:hover{background:var(--hover);border-color:var(--line)}.edit:focus{background:var(--surface);border-color:var(--indigo);box-shadow:var(--ring)}.edit.mono{font-family:var(--font-geist-mono),monospace;font-size:12.5px}.sel{position:relative;display:inline-flex;align-items:center;height:28px;border-radius:5px;border:1px solid transparent;transition:all var(--t-fast) var(--ease)}.sel:hover{border-color:var(--line);background:var(--hover)}.sel select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 22px 0 8px;height:100%;background:transparent;border:none;outline:none;font-size:12.5px;color:inherit;cursor:pointer}.sel:after{content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;border-right:1.5px solid var(--fg-3);border-bottom:1.5px solid var(--fg-3);transform:translateY(-65%) rotate(45deg);pointer-events:none}.toggle{position:relative;width:32px;height:18px;background:var(--line-2);border-radius:9px;cursor:pointer;transition:background var(--t-fast) var(--ease);flex-shrink:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--t-base) var(--ease)}.toggle.on{background:var(--indigo)}.toggle.on:after{transform:translateX(14px)}.chk{width:16px;height:16px;border:1.5px solid var(--line-2);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--surface);transition:all var(--t-fast) var(--ease);flex-shrink:0}.chk.on,.chk:hover{border-color:var(--indigo)}.chk.on{background:var(--indigo)}.chk.on svg{stroke:#fff}.chk svg{width:10px;height:10px;stroke:transparent;stroke-width:3;fill:none}.chk.indet{background:var(--indigo);border-color:var(--indigo)}.chk.indet:after{content:"";width:8px;height:2px;background:#fff;border-radius:1px}.tbl-section{padding:16px 24px 24px}.tbl-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-xs)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;padding:8px 12px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbl thead th.sortable{cursor:pointer}.tbl tbody td,.tbl thead th.sortable:hover{color:var(--fg)}.tbl tbody td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tbody tr{transition:background var(--t-fast) var(--ease);cursor:pointer}.tbl tbody tr:hover{background:var(--hover)}.tbl tbody tr.selected{background:var(--indigo-soft)}.tbl tbody tr.selected td{border-bottom-color:var(--indigo-soft-2)}.tbl tbody tr:last-child td{border-bottom:none}.tbl td.r,.tbl th.r{text-align:right}.tbl td.c,.tbl th.c{text-align:center}.tbl td .truncate{max-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.card-head{padding:12px 14px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:8px}.card-head .title{font-size:13px;font-weight:600}#toaster{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 18px;background:rgba(12,12,14,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ececee;border-radius:var(--r-md);border:1px solid hsla(0,0%,100%,.08);border-left:4px solid var(--indigo);box-shadow:0 10px 30px rgba(0,0,0,.25),0 1px 8px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.05);font-size:13px;font-weight:500;min-width:300px;max-width:420px;animation:slideUp var(--t-slow) var(--ease);transition:opacity .24s var(--ease),transform .24s var(--ease)}.toast.toast-success{border-left-color:var(--green)}.toast.toast-info{border-left-color:var(--indigo)}.toast.toast-warn{border-left-color:var(--amber)}.toast .ind{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px currentColor}.toast.toast-success .ind{background:var(--green);color:rgba(16,185,129,.6)}.toast.toast-info .ind{background:var(--indigo);color:rgba(91,91,214,.6)}.toast.toast-warn .ind{background:var(--amber);color:rgba(245,158,11,.6)}.modal-backdrop{position:fixed;inset:0;z-index:180;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,10,11,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn var(--t-fast) var(--ease)}.confirm-dialog{width:min(100%,360px);display:grid;grid-template-columns:36px 1fr;grid-gap:12px;gap:12px;padding:16px;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xl);animation:slideUp var(--t-base) var(--ease)}.confirm-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--red-2);background:var(--red-soft);border:1px solid rgba(239,68,68,.18);border-radius:var(--r-sm)}.confirm-copy h2{font-size:15px;line-height:1.25;font-weight:650}.confirm-copy p{margin-top:5px;color:var(--fg-2);font-size:13px;line-height:1.45}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.confirm-actions .btn:disabled{opacity:.6;cursor:not-allowed}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--sidebar);color:var(--on-dark);font-size:11px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease);z-index:100}[data-tooltip]:hover:after{opacity:1}.bulk [data-tooltip]:after,.canvas-bar [data-tooltip]:after,.review-sub [data-tooltip]:after,.topbar [data-tooltip]:after{bottom:auto;top:calc(100% + 6px)}.bulk .ml-auto>:last-child[data-tooltip]:after,.fields-head .actions [data-tooltip]:after,.topbar .right>:last-child[data-tooltip]:after,.topbar .right>:nth-last-child(2)[data-tooltip]:after{left:auto;right:0;transform:none}.preview-bar{height:44px;display:flex;align-items:center;gap:4px;padding:0 12px;background:var(--sidebar);border-bottom:1px solid var(--sidebar-line);font-size:12.5px}.preview-bar .brand-mark{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;margin-right:8px}.preview-bar .brand-mark .logo{width:26px;height:26px;background:linear-gradient(135deg,#6868dc,#8b5cf6);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;box-shadow:0 1px 2px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.2);font-family:var(--font-geist-mono),monospace}.preview-bar .brand-mark .name{color:#fff;font-weight:600;font-size:13.5px;letter-spacing:-.01em}.preview-bar .brand-mark .sub{color:var(--on-dark-2);font-size:11px;margin-left:4px}.preview-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;height:30px;color:var(--on-dark-2);border-radius:6px;cursor:pointer;transition:all var(--t-fast) var(--ease);font-weight:500;position:relative}.preview-tab:hover{color:var(--on-dark);background:var(--sidebar-2)}.preview-tab.active{color:#fff;background:var(--sidebar-active)}.preview-tab .num{font-family:var(--font-geist-mono),monospace;font-size:10px;background:var(--sidebar-3);color:var(--on-dark-2);padding:1px 4px;border-radius:3px;letter-spacing:0}.preview-tab.active .num{background:rgba(91,91,214,.3);color:#b4b4f2}.preview-bar .right{margin-left:auto;display:flex;align-items:center;gap:6px}.preview-bar .right .meta{color:var(--on-dark-3);font-size:11px;font-family:var(--font-geist-mono),monospace}.theme-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--sidebar-2);border-radius:6px;border:1px solid var(--sidebar-3)}.theme-toggle button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--on-dark-3);transition:all var(--t-fast) var(--ease)}.theme-toggle button.on{background:var(--sidebar-active);color:#fff}.theme-toggle button:hover:not(.on){color:var(--on-dark-2)}.app{display:grid;grid-template-columns:240px 1fr;height:100vh;background:var(--bg);position:relative}.sidebar-toggle{display:none}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40;opacity:0;pointer-events:none;transition:opacity var(--t-base) var(--ease)}.sidebar-overlay.show{opacity:1;pointer-events:auto}.sidebar{background:var(--sidebar);border-right:1px solid var(--sidebar-line);overflow:hidden;font-size:13px;color:var(--on-dark-2)}.sb-top,.sidebar{display:flex;flex-direction:column}.sb-top{padding:14px 12px 8px;border-bottom:1px solid var(--sidebar-line);gap:10px}.sb-workspace{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background var(--t-fast) var(--ease)}.sb-workspace:hover{background:var(--sidebar-2)}.sb-workspace .ws-logo{width:32px;height:24px;background:linear-gradient(135deg,#dc2626,#f59e0b);border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:10px;flex-shrink:0;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2)}.sb-workspace .ws-info{line-height:1.2;flex:1 1;min-width:0}.sb-workspace .ws-name{color:#fff;font-weight:600;font-size:13px}.sb-workspace .ws-sub{font-size:10.5px}.sb-workspace .ws-arrow,.sb-workspace .ws-sub{color:var(--on-dark-3)}.sb-search{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--sidebar-2);border:1px solid var(--sidebar-3);border-radius:6px;cursor:pointer;transition:all var(--t-fast) var(--ease)}.sb-search:hover{background:var(--sidebar-3);border-color:#2c2c30}.sb-search .ic,.sb-search .lab{color:var(--on-dark-3)}.sb-search .lab{flex:1 1;font-size:12.5px}.sb-search .kbd{background:var(--sidebar-3);border-color:var(--sidebar-3);color:var(--on-dark-2);box-shadow:none}.sb-scroll{flex:1 1;overflow-y:auto;padding:8px 8px 16px;display:flex;flex-direction:column;gap:14px}.sb-label{padding:4px 10px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-3);font-weight:500;display:flex;align-items:center;gap:6px}.sb-label .add{margin-left:auto;color:var(--on-dark-3);cursor:pointer;transition:color var(--t-fast)}.sb-label .add:hover{color:var(--on-dark)}.sb-item{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:5px;color:var(--on-dark-2);cursor:pointer;transition:all var(--t-fast) var(--ease);position:relative}.sb-item:hover{background:var(--sidebar-2);color:var(--on-dark)}.sb-item.active{background:var(--sidebar-active);color:#fff;box-shadow:0 0 0 .5px hsla(0,0%,100%,.04)}.sb-item .ic{color:var(--on-dark-3);flex-shrink:0}.sb-item.active .ic{color:var(--on-dark)}.sb-item .lab{flex:1 1;min-width:0;font-weight:500}.sb-item .ct{font-family:var(--font-geist-mono),monospace;font-size:10.5px;padding:1px 5px;border-radius:3px;background:var(--sidebar-3);color:var(--on-dark-2);font-weight:500}.sb-item.active .ct{background:hsla(0,0%,100%,.1);color:#fff}.sb-item .ct.urgent{background:rgba(245,158,11,.16);color:#fbbf24}.sb-item .ct.danger{background:rgba(239,68,68,.16);color:#fca5a5}.sb-sup{display:flex;align-items:center;gap:9px;padding:5px 10px;border-radius:5px;cursor:pointer;transition:background var(--t-fast) var(--ease)}.sb-sup:hover{background:var(--sidebar-2)}.sb-sup .d{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sb-sup .lab{flex:1 1;color:var(--on-dark-2);font-size:12.5px}.sb-sup .meta{color:var(--on-dark-3);font-size:11px}.sb-sup .auto-pill,.sb-sup .meta{font-family:var(--font-geist-mono),monospace}.sb-sup .auto-pill{font-size:9.5px;color:var(--green);background:rgba(16,185,129,.1);padding:0 4px;border-radius:3px;letter-spacing:.04em;font-weight:600}.sb-ml{margin:8px;padding:12px;background:linear-gradient(180deg,var(--sidebar-2) 0,var(--sidebar-3) 100%);border:1px solid var(--sidebar-3);border-radius:8px;position:relative;overflow:hidden}.sb-ml:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,91,214,.5),transparent)}.sb-ml .ml-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.sb-ml .ml-head .live{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(16,185,129,.4);animation:ringPulse 1.8s infinite}.sb-ml .ml-head .name{font-size:11.5px;font-weight:600;color:#fff}.sb-ml .ml-progress{height:4px;background:hsla(0,0%,100%,.06);border-radius:2px;overflow:hidden;margin-bottom:6px}.sb-ml .ml-progress .fill{height:100%;background:linear-gradient(90deg,var(--indigo),#8b5cf6);border-radius:2px;transition:width var(--t-slower) var(--ease)}.sb-ml .ml-meta{display:flex;justify-content:space-between;font-size:10.5px;color:var(--on-dark-3);font-family:var(--font-geist-mono),monospace}.sb-foot{border-top:1px solid var(--sidebar-line);padding:8px;display:flex;align-items:center;gap:8px}.sb-foot .info{flex:1 1;line-height:1.2;min-width:0}.sb-foot .nm{color:#fff;font-size:12.5px;font-weight:500}.sb-foot .role{color:var(--on-dark-3);font-size:10.5px}.sb-foot button{color:var(--on-dark-3);padding:4px;border-radius:4px;transition:all var(--t-fast)}.sb-foot button:hover{color:var(--on-dark);background:var(--sidebar-2)}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{height:48px;padding:0 16px;gap:10px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.crumb,.topbar{display:flex;align-items:center}.crumb{gap:6px;font-size:13px;color:var(--fg-2)}.crumb .sep{color:var(--fg-4)}.crumb .cur{color:var(--fg);font-weight:500}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:6px}.notif-trigger,.notif-wrap{position:relative}.notif-trigger.has-unread{color:var(--indigo-fg)}.notif-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--indigo);color:#fff;border:2px solid var(--surface);font-size:10px;font-weight:700;line-height:12px;display:inline-flex;align-items:center;justify-content:center}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:420px;max-width:min(92vw,420px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:60;animation:fadeIn var(--t-fast) var(--ease)}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.notif-title{font-size:13px;font-weight:600}.notif-sub{font-size:11px;color:var(--fg-3);margin-top:1px}.notif-actions{display:flex;align-items:center;gap:4px}.notif-list{display:flex;flex-direction:column;max-height:min(72vh,520px);overflow-y:auto}.activity-card{position:relative;transition:all var(--t-base) var(--ease);padding:12px 14px;display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line-soft)}.activity-card:last-child{border-bottom:none}.activity-card:hover{background:var(--hover);border-color:var(--line-2);transform:translateY(-1px)}.activity-card.unread{background:linear-gradient(90deg,var(--indigo-soft) 0,var(--surface) 100%);border-left:3px solid var(--indigo)}[data-theme=dark] .activity-card.unread{background:linear-gradient(90deg,rgba(91,91,214,.08) 0,var(--surface) 100%);border-left:3px solid var(--indigo)}.actor-avatar-container{position:relative;flex-shrink:0}.unread-dot{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--indigo);border:2px solid var(--surface);box-shadow:0 0 0 2px rgba(91,91,214,.2);animation:ringPulse 2s infinite var(--ease)}.activity-desc{font-size:13px;line-height:1.45}.activity-message{border-left:2px solid var(--line-2);background:var(--surface-2);padding:8px 10px;border-radius:var(--r-xs);font-size:12px;margin:4px 0;line-height:1.4;color:var(--fg-2)}.activity-meta{font-size:11px;color:var(--fg-3)}.mark-read-btn{opacity:0;transition:opacity var(--t-fast) var(--ease)}.activity-card:hover .mark-read-btn{opacity:1}.activity-empty{padding:42px 20px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--fg-3);font-size:12.5px}.ftp{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;height:28px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--fg-2);cursor:pointer;transition:all var(--t-fast)}.ftp:hover{border-color:var(--line-2)}.ftp .d{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(16,185,129,.4);animation:ringPulse 2s infinite}.ftp .lab{font-family:var(--font-geist-mono),monospace;font-size:11px}.content{flex:1 1;overflow-y:auto;min-height:0;transition:opacity .18s var(--ease)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.auth-spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--indigo);border-radius:50%;animation:spin .8s linear infinite}.wag-spinner{width:24px;height:24px;border-radius:50%;border:2.5px solid var(--indigo-soft);border-top-color:var(--indigo);animation:spin .68s linear infinite;flex-shrink:0}.wag-spinner.sm{width:16px;height:16px;border-width:2px}.wag-spinner.lg{width:32px;height:32px;border-width:3px}.wag-loader-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 24px;animation:fadeIn .22s var(--ease) both;animation-delay:60ms}.wag-loader-text{font-size:12.5px;color:var(--fg-4);margin:0;letter-spacing:.01em}.wag-loader-inline{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:var(--fg-4);font-size:12.5px;animation:fadeIn .18s var(--ease) both;animation-delay:40ms}.wag-skel{display:block;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--surface-2) 0,var(--line-soft) 40%,var(--surface-2) 100%);background-size:300% 100%;animation:shimmer 1.6s linear infinite}.wag-skel-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.wag-skel-rows{animation:fadeIn .14s var(--ease) both}.wag-skel-fields{gap:18px;padding:16px 14px;animation:fadeIn .14s var(--ease) both}.wag-skel-field,.wag-skel-fields{display:flex;flex-direction:column}.wag-skel-field{gap:7px}.page-head{padding:18px 24px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.page-title{display:flex;align-items:center;gap:10px}.page-title h1{font-size:20px;font-weight:600;letter-spacing:-.02em}.page-title .count{font-family:var(--font-geist-mono),monospace;font-size:12px;padding:2px 8px;border-radius:5px;background:var(--surface-2);color:var(--fg-3);font-weight:500;border:1px solid var(--line)}.page-title .actions{margin-left:auto;gap:6px}.page-sub,.page-title .actions{display:flex;align-items:center}.page-sub{margin-top:4px;color:var(--fg-3);font-size:13px;gap:14px}.page-sub .meta{display:inline-flex;align-items:center;gap:5px}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;background:var(--surface);border-bottom:1px solid var(--line)}.kpi{padding:14px 18px;border-right:1px solid var(--line-soft);position:relative;cursor:pointer;transition:background var(--t-fast) var(--ease)}.kpi:hover{background:var(--surface-2)}.kpi:last-child{border-right:none}.kpi .lab{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);font-weight:500}.kpi .v{font-size:24px;font-weight:600;letter-spacing:-.025em;margin-top:4px;line-height:1}.kpi .delta,.kpi .v.mono{font-family:var(--font-geist-mono),monospace}.kpi .delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;margin-top:4px}.kpi .delta.up{color:var(--green-fg)}.kpi .delta.down{color:var(--red-fg)}.kpi .delta.flat{color:var(--fg-3)}.kpi .accent{position:absolute;top:0;left:0;right:0;height:2px;background:var(--indigo);transform:scaleY(0);transform-origin:top;transition:transform var(--t-base) var(--ease)}.kpi.active .accent,.kpi:hover .accent{transform:scaleY(1)}.kpi.urgent .v{color:var(--amber-fg)}.kpi.danger .v{color:var(--red-fg)}.kpi .sparkline{position:absolute;bottom:4px;right:12px;opacity:.65}.filter-bar{padding:10px 24px;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.fchip,.filter-bar{background:var(--surface);align-items:center}.fchip{display:inline-flex;gap:5px;padding:4px 10px;height:28px;font-size:12.5px;color:var(--fg-2);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:all var(--t-fast) var(--ease)}.fchip:hover{background:var(--hover);border-color:var(--line-2)}.fchip.on{background:var(--indigo-soft);color:var(--indigo-fg);border-color:rgba(91,91,214,.3);font-weight:500}.fchip .ct{font-family:var(--font-geist-mono),monospace;font-size:10.5px;padding:0 4px;border-radius:3px;background:var(--surface-2);color:var(--fg-3);border:1px solid var(--line-soft)}.fchip.on .ct{background:rgba(91,91,214,.15);color:var(--indigo-fg);border-color:transparent}.search-input{display:flex;align-items:center;gap:6px;padding:0 10px;height:28px;background:var(--surface);border:1px solid var(--line);border-radius:5px;width:220px;transition:all var(--t-fast) var(--ease)}.search-input:focus-within{border-color:var(--indigo);box-shadow:var(--ring)}.search-input .ic{color:var(--fg-4)}.search-input input{flex:1 1;background:transparent;border:none;outline:none;font-size:12.5px;min-width:0}.bulk{position:-webkit-sticky;position:sticky;top:0;margin:0 24px;background:var(--sidebar);color:var(--on-dark);border-radius:0 0 var(--r-md) var(--r-md);padding:8px 12px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-md);z-index:10;font-size:12.5px;animation:slideUp var(--t-base) var(--ease)}.bulk .ct{font-weight:600}.bulk .sep{width:1px;height:16px;background:var(--sidebar-3)}.bulk button{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:5px;color:var(--on-dark);font-size:12px;transition:background var(--t-fast) var(--ease)}.bulk button:hover{background:var(--sidebar-2)}.bulk button.primary{background:var(--indigo);color:#fff}.bulk button.primary:hover{background:var(--indigo-2)}.bulk .ml-auto{margin-left:auto;display:flex;align-items:center;gap:4px}.page-body{padding:16px 24px 24px}.review-sub{padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:12.5px}.vr{width:1px;height:18px;background:var(--line)}.review{display:grid;grid-template-columns:168px 1fr 400px;flex:1 1;min-height:0;overflow:hidden;background:var(--surface)}.review.review-pdf{grid-template-columns:var(--pdf-thumbs-width,120px) minmax(0,1fr) minmax(340px,380px);transition:grid-template-columns .25s ease-in-out}.review.review-pdf .thumbs{width:var(--pdf-thumbs-width,120px);min-width:var(--pdf-thumbs-width,120px);padding:0 2px 10px;overflow-x:hidden;transition:all var(--t-base) var(--ease)}.review.review-pdf .thumbs .head{margin:0 -2px;padding-left:4px;padding-right:4px;font-size:11px}.review.review-pdf .thumb{padding:2px;border-radius:4px}.review.review-pdf .thumb .num{top:2px;left:2px}.review.review-pdf .thumbs.thumbs-hidden{width:0!important;min-width:0!important;opacity:0;padding:0;margin:0;overflow:hidden;pointer-events:none;border-right:none}.review.review-pdf .fields{min-width:350px;width:var(--pdf-fields-width);position:-webkit-sticky;position:sticky;top:0;right:0}.review.review-pdf .pdf-canvas{position:relative}.review.review-pdf .pdf-sidebar-toggle{position:absolute;top:10px;left:10px;z-index:3;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-xs)}.thumbs{border-right:1px solid var(--line);overflow-y:auto;padding:0 10px 10px;flex-direction:column;gap:8px}.thumbs,.thumbs .head{background:var(--surface-2);display:flex}.thumbs .head{position:-webkit-sticky;position:sticky;top:0;z-index:1;justify-content:space-between;align-items:center;margin:0 -10px;padding:10px 16px 8px;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);font-weight:500}.thumb{background:var(--surface);border:1.5px solid var(--line);border-radius:6px;padding:8px;cursor:pointer;transition:all var(--t-fast) var(--ease);position:relative}.thumb:hover{border-color:var(--line-2)}.thumb.active{border-color:var(--indigo);box-shadow:var(--ring)}.thumb .num{position:absolute;top:4px;left:4px;font-family:var(--font-geist-mono),monospace;font-size:9.5px;background:var(--surface-2);color:var(--fg-3);padding:1px 4px;border-radius:3px}.thumb .paper{background:#fff;height:80px;border-radius:3px;padding:8px 6px;display:flex;flex-direction:column;gap:2px;border:1px solid var(--line-soft)}[data-theme=dark] .thumb .paper{background:#2a2a2d}.thumb .ln{height:2px;background:#d4d4d0;border-radius:1px}[data-theme=dark] .thumb .ln{background:#4a4a4f}.thumb .ln.w90{width:90%}.thumb .ln.w80{width:80%}.thumb .ln.w70{width:70%}.thumb .ln.w60{width:60%}.thumb .ln.w50{width:50%}.thumb .ln.w40{width:40%}.thumb .blk{height:14px;background:#e0e0dd;border-radius:2px;margin:2px 0}[data-theme=dark] .thumb .blk{background:#3a3a3f}.thumb .meta{margin-top:6px;display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--fg-3)}.thumb .conf-mini{width:6px;height:6px;border-radius:50%}.thumb-divider{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--fg-4);text-transform:uppercase;letter-spacing:.04em;margin:4px}.thumb-divider:after,.thumb-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.thumb.linked{background:var(--surface-2);border-style:dashed}.thumb.linked .num{background:var(--indigo-soft);color:var(--indigo-fg)}.canvas{background:var(--surface-2);display:flex;flex-direction:column;overflow:hidden;position:relative}.canvas-bar{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--surface);font-size:12px}.canvas-bar .tools{display:flex;gap:2px;padding:2px;background:var(--surface-2);border-radius:6px;border:1px solid var(--line)}.canvas-bar .tool{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--fg-3);transition:all var(--t-fast) var(--ease)}.canvas-bar .tool:hover{background:var(--hover);color:var(--fg)}.canvas-bar .tool.active{background:var(--surface);color:var(--indigo);box-shadow:var(--shadow-xs)}.canvas-bar .zoom{display:flex;align-items:center;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px}.canvas-bar .zoom button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--fg-3)}.canvas-bar .zoom button:hover{background:var(--hover);color:var(--fg)}.canvas-bar .zoom .lvl{font-family:var(--font-geist-mono),monospace;font-size:11px;padding:0 6px;min-width:40px;text-align:center;color:var(--fg-2)}.canvas-bar .ml-auto{margin-left:auto;display:flex;align-items:center;gap:8px}.canvas-area{flex:1 1;overflow:auto;padding:12px 16px 16px;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 20px 20px,var(--line) 1px,transparent 1.5px) 0 0 /24px 24px,var(--surface-2)}[data-theme=dark] .canvas-area{background:radial-gradient(circle at 20px 20px,#25252a 1px,transparent 1.5px) 0 0 /24px 24px,var(--surface-2)}.doc{position:relative;background:#fff;width:720px;min-height:980px;border:1px solid #e0e0dd;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08),0 8px 24px rgba(0,0,0,.08);padding:48px 54px;font-family:var(--font-geist-sans),sans-serif;color:#1a1a1a}.doc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #1a1a1a}.doc-head .brand{font-size:18px;font-weight:700;letter-spacing:-.01em;color:#1a1a1a}.doc-head .brand small{display:block;font-size:10.5px;font-weight:400;color:#555;margin-top:3px;letter-spacing:0}.doc-head .title{text-align:right;font-size:12px;color:#555}.doc-head .title strong{display:block;font-size:22px;font-weight:700;color:#1a1a1a;letter-spacing:-.02em}.doc-head .title .num{font-family:var(--font-geist-mono),monospace;font-size:11px}.doc-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-bottom:18px;font-size:12px}.doc-meta .col{display:flex;flex-direction:column;gap:6px}.doc-meta .lab{color:#777;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.doc-meta .val{color:#1a1a1a;font-weight:500}.doc-meta .val.mono{font-family:var(--font-geist-mono),monospace}.doc-section{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#555;margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid #e8e8e8}.doc-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:12px}.doc-table th{text-align:left;padding:6px;font-weight:600;color:#555;border-bottom:1.5px solid #1a1a1a;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.doc-table td.r,.doc-table th.r{text-align:right}.doc-table td{padding:6px;border-bottom:1px solid #f0f0f0;color:#1a1a1a}.doc-table td.mono{font-family:var(--font-geist-mono),monospace;font-size:10.5px}.doc-totals{display:flex;justify-content:flex-end;margin-top:8px;font-size:11.5px}.doc-totals .tot{width:260px}.doc-totals .row{display:flex;justify-content:space-between;padding:4px 6px}.doc-totals .row.total{border-top:1.5px solid #1a1a1a;font-weight:700;margin-top:4px;padding-top:6px;font-size:12.5px}.doc-foot{margin-top:28px;padding-top:12px;border-top:1px solid #e8e8e8;font-size:9.5px;color:#777;display:flex;justify-content:space-between}.doc-stamp{top:60px;right:60px;border:2px solid var(--indigo);color:var(--indigo);padding:6px 14px;border-radius:4px;font-weight:700;font-size:11px;letter-spacing:.06em;transform:rotate(-6deg);opacity:.65}.bbox,.doc-stamp{position:absolute}.bbox{border:1.5px solid var(--indigo);background:rgba(91,91,214,.06);border-radius:2px;cursor:pointer;transition:all var(--t-fast) var(--ease)}.bbox:before{content:"";position:absolute;inset:-3px;border-radius:4px;background:var(--indigo);opacity:0;transition:opacity var(--t-fast) var(--ease);z-index:-1;filter:blur(6px)}.bbox.hover,.bbox.selected,.bbox:hover{background:rgba(91,91,214,.14)}.bbox.hover:before,.bbox.selected:before,.bbox:hover:before{opacity:.4}.bbox.selected{border-width:2px;box-shadow:inset 0 0 0 1px #fff}.bbox.med{border-color:var(--amber);background:rgba(245,158,11,.08)}.bbox.med.hover,.bbox.med.selected,.bbox.med:hover{background:rgba(245,158,11,.18)}.bbox.med:before{background:var(--amber)}.bbox.low{border-color:var(--red);background:rgba(239,68,68,.08);border-style:dashed}.bbox.low.hover,.bbox.low.selected,.bbox.low:hover{background:rgba(239,68,68,.18)}.bbox.low:before{background:var(--red)}.bbox.drawing{border-style:dashed;border-color:var(--indigo);background:rgba(91,91,214,.1)}.bbox-tag{position:absolute;top:-22px;left:0;background:var(--sidebar);color:#fff;padding:2px 6px;font-family:var(--font-geist-mono),monospace;font-size:10px;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease);font-weight:500}.bbox.hover .bbox-tag,.bbox.selected .bbox-tag,.bbox:hover .bbox-tag{opacity:1}.fields{border-left:1px solid var(--line);overflow:hidden;flex-direction:column}.fields,.fields-head{background:var(--surface);display:flex}.fields-head{padding:12px 16px;border-bottom:1px solid var(--line);align-items:center;gap:8px;flex-shrink:0}.fields-head .title{font-size:13.5px;font-weight:600}.fields-head .actions{margin-left:auto;display:flex;gap:4px}.doc-source-stack{padding:10px 16px;border-bottom:1px solid var(--line-soft);background:var(--surface);display:grid;grid-gap:8px;gap:8px;flex-shrink:0}.doc-source-stack-title{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.doc-source-stack-list{display:grid;grid-gap:6px;gap:6px}.item-row.clickable:hover{background:var(--indigo-soft)}.line-field{display:inline-flex;align-items:center;gap:4px;max-width:100%;width:100%;vertical-align:middle}.line-field-left{justify-content:flex-start}.line-field-right{justify-content:flex-end}.line-field-edit{min-width:0;height:24px;padding:2px 4px;font-size:12px;text-align:inherit}.line-field-right .line-field-edit{text-align:right}.po-edit{width:88px;height:24px;padding:2px 4px;font-weight:500}.line-field-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fields-legend{display:flex;align-items:center;gap:12px;padding:6px 16px;border-bottom:1px solid var(--line-soft);background:var(--surface);flex-shrink:0;font-size:11px;color:var(--fg-3)}.fields-legend .seg{display:inline-flex;align-items:center;gap:5px}.fields-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%}.fields-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:0 0 16px}.fields-group{padding:8px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);font-weight:500;border-top:1px solid var(--line-soft);margin-top:2px;display:flex;align-items:center;gap:6px}.fields-group:first-child{border-top:none;margin-top:0}.fields-group .ct{margin-left:auto;font-family:var(--font-geist-mono),monospace;font-size:10px;color:var(--fg-4);letter-spacing:0}.field{padding:4px 12px 4px 14px;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);border-left:2px solid transparent;position:relative}.field:hover{background:var(--hover)}.field.hover,.field.selected{background:var(--indigo-soft);border-left-color:var(--indigo)}.field .lab{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--fg-3);margin-bottom:1px;line-height:1.2}.field .lab .source{font-family:var(--font-geist-mono),monospace;color:var(--fg-4);font-size:9.5px;margin-left:auto;background:var(--surface-2);padding:0 4px;border-radius:3px;border:1px solid var(--line-soft)}.field .val-row{display:flex;align-items:center;gap:6px}.field .val{flex:1 1}.field input.edit,.field textarea.edit{font-size:12.5px;padding:2px 0;line-height:1.25}.field.locked input{color:var(--fg-3);cursor:not-allowed}.fields-foot{border-top:1px solid var(--line);padding:12px 16px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.fields-foot .save-row{display:flex;align-items:center;gap:8px}.fields-foot .save-row .save-status{font-size:11.5px;flex:1 1}.fields-foot .save-row .btn{white-space:nowrap}.fields-foot .summary{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--fg-2)}.fields-foot .summary .seg{display:flex;align-items:center;gap:4px}.fields-foot .summary .v{font-family:var(--font-geist-mono),monospace;color:var(--fg);font-weight:500}.fields-foot .send-row{display:flex;gap:8px}.fields-foot .send-row .btn{flex:1 1}.recon-banner{margin:16px 24px 0;padding:16px 18px;background:linear-gradient(180deg,rgba(245,158,11,.06),rgba(245,158,11,.02));border:1px solid rgba(245,158,11,.3);border-left:3px solid var(--amber);border-radius:var(--r-md);display:flex;align-items:center;gap:16px}.recon-banner .icon{width:36px;height:36px;background:var(--amber-soft);border-radius:8px;color:var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0}.recon-banner .copy{flex:1 1;min-width:0}.recon-banner h3{font-size:14px;font-weight:600;margin-bottom:2px}.recon-banner p{font-size:12.5px;color:var(--fg-2)}.recon-banner .timer{font-family:var(--font-geist-mono),monospace;font-size:28px;font-weight:600;color:var(--amber-fg);letter-spacing:-.02em;line-height:1;flex-shrink:0;text-align:right}.recon-banner .timer .lbl{display:block;font-size:10px;font-weight:500;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-family:var(--font-geist-sans)}.recon-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;padding:16px 24px}.recon-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-xs)}.recon-card .ic-wrap{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recon-card.unchanged .ic-wrap{background:var(--surface-2);color:var(--fg-3)}.recon-card.changed .ic-wrap{background:var(--amber-soft);color:var(--amber-fg)}.recon-card.removed .ic-wrap{background:var(--red-soft);color:var(--red-fg)}.recon-card.added .ic-wrap{background:var(--green-soft);color:var(--green-fg)}.recon-card .info .v{font-size:18px;font-weight:600;line-height:1}.recon-card .info .l{font-size:11px;color:var(--fg-3);margin-top:3px}.diff-list{padding:0 24px 16px}.diff-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:8px;padding:12px 14px;box-shadow:var(--shadow-xs);transition:all var(--t-fast) var(--ease)}.diff-row.changed{border-left:3px solid var(--amber)}.diff-row.removed{border-left:3px solid var(--red)}.diff-row.added{border-left:3px solid var(--green)}.diff-row.unchanged{opacity:.65}.diff-row:hover{box-shadow:var(--shadow-sm)}.diff-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.diff-head .ic-state{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.diff-row.changed .ic-state{background:var(--amber-soft);color:var(--amber-fg)}.diff-row.removed .ic-state{background:var(--red-soft);color:var(--red-fg)}.diff-row.added .ic-state{background:var(--green-soft);color:var(--green-fg)}.diff-row.unchanged .ic-state{background:var(--surface-2);color:var(--fg-4)}.diff-head .desc{flex:1 1;min-width:160px;font-size:13px}.diff-head .desc strong{font-weight:600}.diff-head .ck{flex-shrink:0}.diff-head .badge{flex-shrink:0;margin-left:auto}.diff-changes{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:12px;flex-wrap:wrap}.diff-changes .change{display:flex;align-items:center;gap:6px}.diff-changes .change .lbl{color:var(--fg-3);font-size:11px}.diff-changes .change .from{font-family:var(--font-geist-mono),monospace;color:var(--red-fg);text-decoration:line-through;background:var(--red-soft);padding:1px 5px;border-radius:3px;font-size:11px}.diff-changes .change .arrow{color:var(--fg-4)}.diff-changes .change .to{font-family:var(--font-geist-mono),monospace;color:var(--green-fg);background:var(--green-soft);padding:1px 5px;border-radius:3px;font-size:11px;font-weight:500}.recon-values{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;min-width:0}.recon-value{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;font-size:11.5px}.recon-value .lbl{color:var(--fg-3);font-size:10.5px}.recon-value .src-val{color:var(--fg-2)}.recon-value .sep{color:var(--fg-4)}.recon-foot{position:-webkit-sticky;position:sticky;bottom:0;margin:0 24px 16px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:1fr 360px;grid-gap:16px;gap:16px;padding:16px 24px}.pipeline{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--shadow-xs)}.pipeline-stages{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:0;gap:0;position:relative}.stage{display:flex;flex-direction:column;gap:8px;padding:12px 8px;position:relative}.stage:after{content:"";position:absolute;top:28px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--line)}.stage:last-child:after{display:none}.stage.done:after{background:var(--green)}.stage .circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;border:2px solid var(--line);background:var(--surface);color:var(--fg-3);margin:0 auto;position:relative;z-index:1}.stage.done .circle{background:var(--green);border-color:var(--green);color:#fff}.stage.active .circle{background:var(--indigo-soft);border-color:var(--indigo);color:var(--indigo-fg);box-shadow:0 0 0 4px rgba(91,91,214,.12)}.stage.active .circle:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--indigo);opacity:.3;animation:ringPulse 2s infinite}.stage .info{text-align:center;line-height:1.3}.stage .lab{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);font-weight:500}.stage .nm{font-size:13px;font-weight:600;margin-top:2px}.stage .when{font-size:11px;color:var(--fg-3);margin-top:4px;font-family:var(--font-geist-mono),monospace}.timeline{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);overflow:hidden}.timeline-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.lifecycle-skeleton{display:inline-block;border-radius:999px;background:linear-gradient(90deg,var(--surface-2) 0,var(--hover) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}.lifecycle-skeleton.is-dark{background:linear-gradient(90deg,rgba(61,82,122,.55),rgba(116,144,194,.24) 50%,rgba(61,82,122,.55));background-size:200% 100%}.stage.stage-loading:after{background:linear-gradient(90deg,var(--line-soft) 0,var(--line) 50%,var(--line-soft) 100%);background-size:200% 100%;animation:shimmer 1.8s linear infinite}.stage .circle.circle-loading{border-color:var(--line-soft);background:var(--surface-2);box-shadow:none}.stage .circle.circle-loading:before{display:none}.t-event{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-soft);position:relative}.t-event:last-child{border-bottom:none}.t-event:before{content:"";position:absolute;left:28px;top:32px;bottom:-10px;width:1px;background:var(--line)}.t-event:last-child:before{display:none}.t-event .dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.t-event.success .dot{background:var(--green-soft);color:var(--green-fg)}.t-event.info .dot{background:var(--indigo-soft);color:var(--indigo-fg)}.t-event.warn .dot{background:var(--amber-soft);color:var(--amber-fg)}.t-event.user .dot{background:var(--surface-2);color:var(--fg-2);padding:0}.t-event .body{flex:1 1;min-width:0}.t-event .title{font-size:13px;font-weight:500}.t-event .desc{font-size:12px;color:var(--fg-2);margin-top:2px;line-height:1.45}.t-event .when{font-size:11px;color:var(--fg-3);font-family:var(--font-geist-mono),monospace;flex-shrink:0;margin-left:8px}.t-event .meta{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.t-event.t-event-loading .dot{background:transparent;color:inherit}.xml-loading-lines{display:flex;flex-direction:column;gap:10px}.xml-snippet{background:linear-gradient(180deg,#0e1422,#0b111c);color:#dde6f6;border-radius:var(--r-sm);padding:14px 16px;font-family:var(--font-geist-mono),monospace;font-size:12px;line-height:1.6;overflow:auto;border:1px solid #1d2a45;white-space:pre;margin:0;box-shadow:inset 0 0 0 1px rgba(109,154,255,.06)}.xml-snippet.is-collapsed{max-height:160px}.xml-snippet.is-expanded{max-height:460px}.xml-line{display:inline}.xml-line.is-match{background:rgba(91,141,255,.18);border-radius:3px}.xml-line.is-active-match{background:rgba(255,208,92,.24);box-shadow:inset 0 0 0 1px rgba(255,211,102,.65)}.xml-snippet .tag{color:#8fb7ff}.xml-snippet .attr{color:#c3a6ff}.xml-snippet .val{color:#f7c66f}.xml-snippet .com{color:#71d7af;font-style:italic}.outbound-xml-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:6px;row-gap:6px;align-items:start}.outbound-xml-main{min-width:0;display:flex;align-items:flex-start;gap:8px;flex:1 1 auto}.outbound-xml-title{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-column-gap:6px;column-gap:6px;flex:1 1 auto}.outbound-xml-tabs{display:inline-flex;align-items:center;gap:4px;margin-left:8px;margin-right:8px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04);flex-shrink:0}.outbound-xml-tab{height:28px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--fg-3);font-size:12px;font-weight:600;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.outbound-xml-tab:hover{color:var(--fg);background:var(--hover)}.outbound-xml-tab.is-active{background:var(--surface);color:var(--fg);border-color:var(--line-2);box-shadow:var(--shadow-xs)}.outbound-xml-tab[aria-selected=true]{cursor:default}.outbound-xml-filename{min-width:0;display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outbound-xml-status{flex-shrink:0}.outbound-xml-controls{margin-left:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;flex-shrink:0}.outbound-xml-controls.is-search-open{width:clamp(320px,30vw,440px)}.outbound-xml-top-actions{display:flex;align-items:center;gap:6px;min-width:0;justify-content:flex-end;flex-wrap:nowrap;width:100%}.outbound-xml-search-anchor{display:inline-flex;align-items:center;justify-content:flex-end;width:auto;flex-shrink:0}.outbound-xml-inline-search{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:3px 6px;min-width:min(240px,100%);white-space:nowrap;box-shadow:var(--shadow-xs)}.outbound-xml-inline-search-input{width:clamp(96px,10vw,138px);min-width:96px;border:0;outline:0;background:transparent;color:var(--fg);font-size:12px}.outbound-xml-inline-search-input::placeholder{color:var(--fg-3)}.outbound-xml-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;padding-left:8px}.outbound-xml-body{padding:12px 14px}.outbound-xml-search-meta{font-size:11px;color:var(--fg-3);margin-bottom:8px;white-space:nowrap}@media (max-width:1024px){.outbound-xml-head{grid-template-columns:1fr}.outbound-xml-controls{width:100%;align-items:flex-start}.outbound-xml-controls.is-search-open{width:100%}.outbound-xml-actions{padding-left:0}}.outbound-notification-value{display:block;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.dash-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;padding:16px 24px}.dash-grid>.span-2{grid-column:span 2}.dash-grid>.span-3{grid-column:span 3}.dash-grid>.span-4{grid-column:span 4}.kpi-big{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.kpi-big .lab{font-size:11.5px;color:var(--fg-3);font-weight:500}.kpi-big .v{font-size:32px;font-weight:600;letter-spacing:-.025em;line-height:1;margin-top:8px}.kpi-big .delta,.kpi-big .v.mono{font-family:var(--font-geist-mono),monospace}.kpi-big .delta{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;margin-top:6px}.kpi-big .delta.up{color:var(--green-fg)}.kpi-big .delta.down{color:var(--red-fg)}.kpi-big .spark{position:absolute;bottom:10px;right:14px;opacity:.75}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;box-shadow:var(--shadow-xs)}.chart-card .head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.chart-card .head .title{font-size:13px;font-weight:600}.chart-card .head .sub{font-size:11.5px;color:var(--fg-3)}.chart-card .head .actions{margin-left:auto}.bars{display:flex;align-items:flex-end;gap:14px;height:160px;padding-top:10px}.bars .bar-col{flex:1 1;align-items:center;gap:6px}.bars .bar-col,.bars .stack{display:flex;flex-direction:column}.bars .stack{width:100%;justify-content:flex-end;gap:2px;height:130px}.bars .seg{border-radius:2px;transition:all var(--t-base) var(--ease);cursor:pointer}.bars .seg:hover{filter:brightness(1.1)}.bars .lbl{font-size:10.5px;color:var(--fg-3);font-family:var(--font-geist-mono),monospace}.legend{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap}.legend .item{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--fg-2);cursor:pointer}.legend .item .sw{width:10px;height:10px;border-radius:2px}.donut-wrap{display:flex;align-items:center;gap:16px}.donut{position:relative;width:130px;height:130px;flex-shrink:0}.donut .center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut .center .v{font-size:22px;font-weight:600;letter-spacing:-.02em}.donut .center .l{font-size:10px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em}.ml-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:10px;position:relative}.ml-card.auto{border-color:rgba(16,185,129,.3);background:linear-gradient(180deg,rgba(16,185,129,.04),transparent)}.ml-card .head{display:flex;align-items:center;gap:8px}.ml-card .head .name{font-size:13px;font-weight:600;flex:1 1}.ml-card .head .auto-pill{font-size:10px;font-family:var(--font-geist-mono),monospace;color:var(--green-fg);background:var(--green-soft);border:1px solid rgba(16,185,129,.2);padding:1px 5px;border-radius:3px;letter-spacing:.04em;font-weight:600}.ml-arc{width:100%;height:90px}.ml-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;font-size:11.5px}.ml-stats .seg{display:flex;flex-direction:column}.ml-stats .seg .l{color:var(--fg-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.ml-stats .seg .v{font-family:var(--font-geist-mono),monospace;font-weight:500}.activity-feed{display:flex;flex-direction:column}.activity-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}.activity-row:last-child{border-bottom:none}.activity-row .when{font-family:var(--font-geist-mono),monospace;font-size:11px;color:var(--fg-3);flex-shrink:0}.activity-row .what{flex:1 1;min-width:0;color:var(--fg-2)}.activity-row .what strong{color:var(--fg);font-weight:500}.feed-item-hover:hover{background:var(--surface-2)}.feed-item-hover:hover .feed-item-trash{opacity:1!important}.wiz{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.wiz-stepper{padding:14px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--surface);border-bottom:1px solid var(--line);position:relative}.wiz-step{display:flex;align-items:center;gap:12px;padding:4px 0;position:relative}.wiz-step:not(:last-child):after{content:"";position:absolute;left:220px;top:50%;width:calc(100% - 220px);height:1px;background:var(--line)}.wiz-step.done:not(:last-child):after{background:var(--green)}.wiz-step .circle{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line-2);background:var(--surface);font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:600;color:var(--fg-3);transition:all var(--t-base) var(--ease);flex-shrink:0}.wiz-step.active .circle{border-color:var(--indigo);background:var(--indigo);color:#fff;box-shadow:0 0 0 4px rgba(91,91,214,.18)}.wiz-step.done .circle{border-color:var(--green);background:var(--green);color:#fff}.wiz-step .info{line-height:1.2}.wiz-step .info .lab{font-size:10.5px;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase}.wiz-step .info .nm{font-size:13.5px;font-weight:500}.wiz-step.active .info .nm{font-weight:600}.wiz-body{display:grid;grid-template-columns:1fr 360px;flex:1 1;min-height:0;overflow:hidden}.wiz-side{border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.wiz-side h3{padding:14px 16px 6px;font-size:13.5px;font-weight:600}.wiz-side .sub{padding:0 16px 12px;font-size:12px;color:var(--fg-2);line-height:1.5}.wiz-side .schema{flex:1 1;overflow-y:auto;padding:0 8px 12px}.wiz-sg{padding:8px 8px 4px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:500;display:flex;align-items:center;gap:6px}.wiz-sg .ct{margin-left:auto;font-family:var(--font-geist-mono),monospace;font-size:10px;color:var(--fg-4);letter-spacing:0}.wiz-pill{display:flex;align-items:center;gap:8px;padding:7px 10px;margin:0 0 2px;border-radius:6px;font-size:12.5px;cursor:pointer;transition:all var(--t-fast) var(--ease);border:1px solid transparent}.wiz-pill:hover{background:var(--hover)}.wiz-pill.mapped{background:var(--green-soft);color:var(--green-fg)}.wiz-pill.active{background:var(--indigo-soft);border-color:var(--indigo);color:var(--indigo-fg);box-shadow:var(--shadow-xs)}.wiz-pill .ic{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.wiz-pill .nm{flex:1 1}.wiz-pill .key{font-family:var(--font-geist-mono),monospace;font-size:10px;color:var(--fg-3);background:var(--surface-2);padding:1px 4px;border-radius:3px;border:1px solid var(--line)}.wiz-pill.mapped .key{background:rgba(16,185,129,.1);color:var(--green-fg);border-color:rgba(16,185,129,.2)}.wiz-pill.active .key{background:#fff;color:var(--indigo-fg);border-color:var(--indigo-soft-2)}.wiz-pill-clear{width:24px;height:24px;border:1px solid rgba(16,185,129,.24);border-radius:5px;background:hsla(0,0%,100%,.7);color:var(--green-fg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all var(--t-fast) var(--ease)}.wiz-pill-clear:focus-visible,.wiz-pill:hover .wiz-pill-clear{opacity:1}.wiz-pill-clear:hover{background:var(--red-soft);border-color:rgba(239,68,68,.3);color:var(--red-fg)}.wiz-pill.locked{opacity:.55;cursor:not-allowed}.wiz-progress{padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.wiz-progress .lab{display:flex;justify-content:space-between;font-size:11px;color:var(--fg-3);margin-bottom:6px}.wiz-progress .bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden}.wiz-progress .fill{height:100%;background:linear-gradient(90deg,var(--indigo),#8b5cf6);border-radius:2px;transition:width var(--t-slow) var(--ease)}.wiz-foot{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.wiz-foot .ml-auto{margin-left:auto;display:flex;gap:8px}.job-shell{height:100%;display:flex;flex-direction:column;overflow:hidden}.job-shell-body{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:auto}.job-head{background:var(--surface);border-bottom:1px solid var(--line);padding:6px 20px 0;flex-shrink:0;z-index:5}.job-head-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.job-head-top h1{font-size:15px;font-weight:600;letter-spacing:-.02em;font-family:var(--font-geist-mono),monospace}.job-head-top .actions{margin-left:auto;display:flex;align-items:center;gap:6px}.job-head-divider{width:1px;height:14px;background:var(--line);margin:0 2px}.job-head-meta{font-size:12px;color:var(--fg-3);display:inline-flex;align-items:center;gap:5px}.job-head-meta.mono{color:var(--fg-2)}.job-head-meta.mono,.rec-countdown{font-family:var(--font-geist-mono),monospace}.rec-countdown{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:600;background:var(--amber-soft);color:var(--amber-fg);border:1px solid rgba(245,158,11,.3);letter-spacing:-.01em}.rec-countdown.urgent{background:var(--red-soft);color:var(--red-fg);border-color:rgba(239,68,68,.3);animation:pulse 1.6s infinite}.job-tabs{display:flex;gap:2px;margin-top:6px;border-bottom:1px solid transparent;margin-bottom:-1px;overflow-x:auto}.job-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;color:var(--fg-3);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);white-space:nowrap}.job-tab.on,.job-tab:hover{color:var(--fg)}.job-tab.on{border-bottom-color:var(--indigo)}.job-tab .ct{font-family:var(--font-geist-mono),monospace;font-size:10.5px;padding:1px 5px;border-radius:3px;background:var(--surface-2);color:var(--fg-3);border:1px solid var(--line)}.job-tab.on .ct{background:var(--indigo-soft);color:var(--indigo-fg);border-color:rgba(91,91,214,.2)}.job-tab.alert .ct{background:var(--red-soft);color:var(--red-fg);border-color:rgba(239,68,68,.2);animation:pulse 1.8s infinite}.tab-empty{margin:32px 24px;padding:40px 24px;text-align:center;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-md);color:var(--fg-3)}.tab-empty .ic-wrap{width:48px;height:48px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--surface-2);color:var(--fg-3)}.tab-empty h3{font-size:14px;font-weight:600;color:var(--fg);margin-bottom:4px}.tab-empty p{font-size:12.5px;line-height:1.55;max-width:460px;margin:0 auto}.rec-pip{display:inline-flex;align-items:center;padding:1px 5px;border-radius:3px;font-weight:600;letter-spacing:0}.rec-pip.changed{background:var(--amber-soft);color:var(--amber-fg);border:1px solid rgba(245,158,11,.2)}.rec-pip.removed{background:var(--red-soft);color:var(--red-fg);border:1px solid rgba(239,68,68,.2)}.rec-pip.added{background:var(--green-soft);color:var(--green-fg);border:1px solid rgba(16,185,129,.2)}.rec-progress{width:90px;height:4px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:3px;overflow:hidden;margin-bottom:3px}.rec-progress-fill{height:100%;transition:width var(--t-slow) var(--ease)}.rec-timer{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:-.005em;color:var(--fg-2);background:var(--surface-2);border:1px solid var(--line-soft)}.rec-timer.warn{color:var(--amber-fg);background:var(--amber-soft);border-color:rgba(245,158,11,.25)}.rec-timer.urgent{border-color:rgba(239,68,68,.25);animation:pulse 1.6s infinite}.rec-timer.expired,.rec-timer.urgent{color:var(--red-fg);background:var(--red-soft)}.rec-timer.expired{border-color:rgba(239,68,68,.4)}.rec-timer.ok{color:var(--green-fg);background:var(--green-soft);border-color:rgba(16,185,129,.25)}.suppliers-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;padding:16px 24px 24px}.supplier-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;overflow:hidden}.sc-head{padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:10px}.sc-pill{margin-left:auto;font-size:10px;font-family:var(--font-geist-mono),monospace;padding:2px 7px;border-radius:4px;letter-spacing:.04em;font-weight:600;border:1px solid}.sc-body{display:grid;grid-template-columns:130px 1fr;grid-gap:16px;gap:16px;padding:16px}.sc-arc{display:flex;align-items:center;justify-content:center}.sc-arc .ml-arc{width:130px;height:130px}.sc-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-content:center}.sc-stat{display:flex;flex-direction:column;gap:2px}.sc-stat .l{font-size:10.5px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.sc-stat .v{font-family:var(--font-geist-mono),monospace;font-size:14px;font-weight:500;color:var(--fg)}.sc-stat .v .thr{color:var(--fg-3);font-weight:400}.sc-foot{border-top:1px solid var(--line-soft);padding:12px 16px;background:var(--surface-2);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.sc-meta{display:flex;flex-direction:column;gap:2px}.sc-meta-l{font-size:10.5px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.sc-meta-v{font-size:12.5px;color:var(--fg);font-weight:500}.sc-cta{margin-left:auto}.login-shell{--bg:#fafaf9;--surface:#fff;--surface-2:#f7f7f5;--line:#eaeae6;--line-2:#deded9;--line-soft:#f1f1ed;--fg:#0a0a0b;--fg-2:#4b4b53;--fg-3:#6e6e76;--fg-4:#9b9ba3;--fg-5:#b6b6bd;--amber:#f59e0b;--amber-soft:#fef3d8;--amber-fg:#b45309;--green:#10b981;--green-soft:#e7f7ef;--green-fg:#047857;--indigo:#5b5bd6;--indigo-soft:#efeffb;--shadow-xs:0 1px 0 rgba(15,15,20,.04),0 1px 2px rgba(15,15,20,.04);--shadow-md:0 2px 4px rgba(15,15,20,.04),0 4px 12px rgba(15,15,20,.06),0 0 0 0.5px rgba(15,15,20,.04);--shadow-lg:0 4px 8px rgba(15,15,20,.06),0 12px 32px rgba(15,15,20,.1),0 0 0 0.5px rgba(15,15,20,.04);min-height:100vh;display:grid;grid-template-columns:minmax(520px,720px) 1fr;background:#fff;color:var(--fg);position:relative;isolation:isolate}.login-shell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(900px 600px at 78% 30%,rgba(245,158,11,.07),transparent 60%),radial-gradient(700px 500px at 95% 80%,rgba(16,185,129,.05),transparent 65%),linear-gradient(180deg,#fff,#fafaf8)}.login-panel{align-items:center;justify-content:center;padding:40px 32px;background:hsla(0,0%,100%,.88);border-right:1px solid var(--line);position:relative}.login-panel,.login-panel-inner{display:flex;flex-direction:column}.login-panel-inner{width:100%;max-width:420px;gap:40px;min-height:min(720px,calc(100vh - 80px))}.login-brand{display:flex;align-items:center;gap:12px}.login-brand-text{display:flex;flex-direction:column}.login-logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#dc2626,#f59e0b);color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3),0 6px 14px rgba(220,38,38,.18),0 1px 0 rgba(15,15,20,.04)}.login-kicker{color:var(--fg-3);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.login-brand h1{font-size:15px;line-height:1.2;font-weight:650;letter-spacing:-.01em;color:var(--fg)}.login-form{width:100%;display:flex;flex-direction:column;gap:14px;margin:auto 0;flex:1 0 auto;justify-content:center}.login-card{padding:28px;border:1px solid hsla(60,7%,86%,.78);border-radius:14px;background:hsla(0,0%,100%,.78);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.95),0 22px 60px rgba(15,15,20,.06),0 0 0 .5px rgba(15,15,20,.04);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-copy{margin-bottom:22px}.login-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;margin-bottom:16px;border:1px solid rgba(245,158,11,.32);border-radius:999px;background:hsla(43,95%,92%,.6);color:var(--amber-fg);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.login-pill-dot{width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,.16)}.login-copy h2{font-size:30px;line-height:1.08;font-weight:650;letter-spacing:-.02em;color:var(--fg)}.login-copy p{margin-top:12px;max-width:360px;color:var(--fg-2);font-size:13.5px;line-height:1.55}.login-field{display:flex;flex-direction:column;gap:7px;color:var(--fg-2);font-size:12.5px;font-weight:600;letter-spacing:.005em}.login-input{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);color:var(--fg);box-shadow:var(--shadow-xs);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.login-input:hover{border-color:#c8c8c2}.login-input:focus-within{border-color:rgba(245,158,11,.62);background:var(--surface);box-shadow:0 0 0 4px rgba(245,158,11,.14)}.login-input svg{color:var(--fg-4);flex:0 0 auto}.login-input:focus-within svg{color:var(--amber-fg)}.login-input input{width:100%;color:var(--fg);font-size:14px;letter-spacing:.005em}.login-input input::placeholder{color:var(--fg-4)}.login-error{border:1px solid rgba(239,68,68,.35);border-radius:8px;background:rgba(239,68,68,.08);color:#b91c1c}.login-error,.login-notice{padding:10px 12px;font-size:12.5px;font-weight:500}.login-notice{border:1px solid rgba(217,119,6,.35);border-radius:8px;background:rgba(245,158,11,.12);color:#92400e}.btn.btn-primary.login-submit{width:100%;height:48px;margin-top:8px;justify-content:center;gap:8px;font-size:14px;font-weight:600;letter-spacing:.005em;border-radius:9px;background:linear-gradient(180deg,#18181b,#0a0a0b);border-color:#0a0a0b;color:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 1px 2px rgba(15,15,20,.1),0 6px 16px rgba(15,15,20,.18);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.btn.btn-primary.login-submit:hover{background:linear-gradient(180deg,#232327,#111113);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 2px 4px rgba(15,15,20,.1),0 10px 24px rgba(15,15,20,.2)}.btn.btn-primary.login-submit:active{transform:translateY(1px)}.btn.btn-primary.login-submit:disabled{background:linear-gradient(180deg,#b6b6bd,#9b9ba3);border-color:#9b9ba3;color:hsla(0,0%,100%,.92);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);opacity:1}.login-trust{display:flex;align-items:center;margin-top:20px;padding-top:18px;border-top:1px dashed var(--line);color:var(--fg-3);font-size:11.5px;font-weight:500}.login-trust-item{display:inline-flex;align-items:center;gap:6px}.login-trust-item svg{color:var(--green)}.login-foot{justify-content:space-between;color:var(--fg-4);font-size:11px;font-weight:500;letter-spacing:.01em}.login-foot,.login-ops{display:flex;align-items:center}.login-ops{min-width:0;flex-direction:column;justify-content:center;gap:30px;padding:56px;position:relative;overflow:hidden;background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(60,11%,96%,.55))}.login-ops:before{background-image:radial-gradient(circle at 1px 1px,rgba(15,15,20,.06) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 55% 50%,#000 35%,transparent 80%);mask-image:radial-gradient(ellipse 70% 70% at 55% 50%,#000 35%,transparent 80%)}.login-ops:after,.login-ops:before{content:"";position:absolute;inset:0;pointer-events:none}.login-ops:after{background:radial-gradient(60% 50% at 65% 40%,rgba(245,158,11,.1),transparent 70%),radial-gradient(40% 40% at 30% 78%,rgba(16,185,129,.07),transparent 70%)}.logistics-visual{width:min(100%,920px);aspect-ratio:920/620;position:relative;z-index:1}.logistics-visual svg{width:100%;height:100%;overflow:visible}.scene-glow{fill:url(#sceneGlow)}.route-net .map-line{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:6 12;animation:routeDrift 14s linear infinite}.route-net .line-a{stroke:rgba(245,158,11,.42)}.route-net .line-b{stroke:rgba(91,91,214,.3);animation-duration:18s}.route-net .line-c{stroke:rgba(16,185,129,.36);animation-duration:22s}.route-net .net-node{fill:var(--surface);stroke-width:2;animation:nodePulse 3.4s var(--ease) infinite}.route-net .n-1,.route-net .n-3{stroke:var(--amber)}.route-net .n-2,.route-net .n-4{stroke:var(--indigo);animation-delay:.7s}.route-net .n-5,.route-net .n-6{stroke:var(--green);animation-delay:1.3s}.invoice-cloud{transform-origin:427px 310px;animation:floatDocument 7s var(--ease) infinite}.page{fill:url(#pageGradient);stroke:var(--line);stroke-width:1}.page-back{opacity:.42}.page-mid{opacity:.72}.page-front{fill:#fff}.page-fold{fill:#f4f4f1;stroke:var(--line);stroke-width:1}.doc-head-bar{fill:rgba(15,15,20,.85)}.doc-head-amber{fill:var(--amber);opacity:.92;rx:3}.doc-head-sub{fill:var(--fg-5);opacity:.5}.doc-head-tag{fill:hsla(43,95%,92%,.55);stroke:rgba(245,158,11,.35);stroke-width:1}.doc-head-tag-line{fill:none;stroke:var(--amber-fg);stroke-width:2;stroke-linecap:round;opacity:.7}.doc-line{fill:none;stroke:var(--fg-5);stroke-width:4;stroke-linecap:round;opacity:.55}.doc-line.lg{stroke:var(--fg-3);opacity:.78;stroke-width:5}.doc-line.md{opacity:.5}.doc-line.sm{opacity:.36}.doc-table-head{fill:rgba(15,15,20,.04)}.doc-table-grid,.doc-table-head{stroke:var(--line);stroke-width:1}.doc-table-grid{fill:none}.doc-table-row{fill:none;stroke:var(--fg-4);stroke-width:3.5;stroke-linecap:round;opacity:.55}.doc-table-row.dim{opacity:.3}.doc-total{fill:var(--amber);opacity:.92}.doc-sig{fill:none;stroke:var(--fg-4);stroke-width:1.5;stroke-linecap:round;opacity:.65}.doc-stamp{fill:rgba(231,247,239,.7);stroke:rgba(16,185,129,.55);stroke-width:1.5}.doc-stamp-tick{fill:none;stroke:var(--green-fg);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.scan-corner{fill:none;stroke:var(--amber);stroke-width:2.5;stroke-linecap:round;opacity:.78;animation:scanCornerPulse 3s var(--ease) infinite}.scan-beam{fill:url(#scanGradient);opacity:.85;animation:scanVertical 3.6s cubic-bezier(.45,.05,.55,.95) infinite}.field-card rect:first-of-type{fill:hsla(0,0%,100%,.96);stroke:hsla(60,7%,86%,.9);stroke-width:1}.field-icon{fill:var(--green-soft);stroke:rgba(16,185,129,.32);stroke-width:1}.field-icon.alt{fill:var(--indigo-soft);stroke:rgba(91,91,214,.3)}.field-icon.amber{fill:var(--amber-soft);stroke:rgba(245,158,11,.36)}.field-icon-tick{fill:none;stroke:var(--green-fg);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.field-icon-tick.alt{stroke:var(--indigo-fg)}.field-icon-dollar{fill:none;stroke:var(--amber-fg);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.field-label{fill:var(--fg-5);opacity:.85}.field-value{fill:var(--fg-3);opacity:.95}.field-meta{fill:var(--fg-5);opacity:.55}.card-one{animation:floatCard 6.4s var(--ease) infinite}.card-two{animation:floatCard 7.2s var(--ease) infinite reverse}.card-three{animation:floatCard 6.8s var(--ease) infinite .4s}.connector{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:4 6;animation:routeDrift 6s linear infinite}.connector.amber{stroke:rgba(245,158,11,.55)}.connector.green{stroke:rgba(16,185,129,.5);animation-duration:7s}.connector.dashed{stroke:rgba(245,158,11,.4);animation-duration:8s}.connector-dot{fill:var(--amber);opacity:.85;animation:connectorPulse 2.6s var(--ease) infinite}.connector-dot:nth-of-type(2){animation-delay:.6s}.connector-dot:nth-of-type(3){animation-delay:1.2s}.freight{transform-origin:717px 519px;animation:freightIdle 6s var(--ease) infinite}.freight-body{fill:#18181b;stroke:hsla(0,0%,100%,.06);stroke-width:1}.freight-flutes{fill:none;stroke:hsla(0,0%,100%,.1);stroke-width:1}.freight-door-line{fill:hsla(0,0%,100%,.08)}.freight-roof{fill:var(--amber);opacity:.95}.freight-handle{fill:hsla(0,0%,100%,.25)}.freight-port{fill:var(--amber);opacity:.75}.freight-cable{fill:none;stroke:rgba(16,185,129,.55);stroke-width:1.5;stroke-dasharray:4 6;stroke-linecap:round;animation:routeDrift 5s linear infinite}.freight-cable-dot{fill:var(--green);opacity:.9;animation:connectorPulse 2.4s var(--ease) infinite .8s}.gm-ring{fill:none;stroke:rgba(91,91,214,.3);stroke-width:1.2;stroke-dasharray:3 4;animation:gmSpin 18s linear infinite}.gm-core{fill:var(--indigo);opacity:.85;animation:connectorPulse 3s var(--ease) infinite}.login-ops-tag{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.85);box-shadow:var(--shadow-xs);color:var(--fg-2);font-size:11.5px;font-weight:500;letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ops-tag-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(16,185,129,.16);animation:connectorPulse 1.8s var(--ease) infinite}@keyframes routeDrift{to{stroke-dashoffset:-120}}@keyframes floatDocument{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(-.4deg)}}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes freightIdle{0%,to{transform:translateX(0)}50%{transform:translateX(6px)}}@keyframes nodePulse{0%,to{r:5;opacity:.85}50%{r:7;opacity:1}}@keyframes scanVertical{0%{transform:translateY(0);opacity:0}10%{opacity:.95}90%{opacity:.95}to{transform:translateY(330px);opacity:0}}@keyframes scanCornerPulse{0%,to{opacity:.45}50%{opacity:.85}}@keyframes connectorPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}@keyframes gmSpin{to{transform:rotate(1turn);transform-origin:170px 510px}}@media (prefers-reduced-motion:reduce){.card-one,.card-three,.card-two,.connector,.connector-dot,.freight,.freight-cable,.freight-cable-dot,.gm-core,.gm-ring,.invoice-cloud,.ops-tag-dot,.route-net .map-line,.route-net .net-node,.scan-beam,.scan-corner{animation:none!important}}@media (max-width:1024px){body,html{overflow-x:hidden}body{overflow-y:auto}.login-shell{grid-template-columns:1fr;min-height:100vh}.login-panel{min-height:100vh;padding:34px 24px;border-right:none}.login-panel-inner{max-width:420px;min-height:auto;gap:28px}.login-ops{display:none}.app{grid-template-columns:1fr;height:auto;min-height:100vh}.content,.main{overflow-x:hidden;overflow-y:visible}.sidebar{position:fixed;top:0;bottom:0;left:0;width:280px;z-index:50;transform:translateX(-100%);transition:transform var(--t-base) var(--ease)}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow-xl)}.sidebar-toggle{display:inline-flex}.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(n+3){border-top:1px solid var(--line-soft)}.kpi .sparkline{display:none}.dash-grid{grid-template-columns:repeat(2,1fr)}.dash-grid>.span-2,.dash-grid>.span-3,.dash-grid>.span-4{grid-column:span 2}.detail-grid,.review{grid-template-columns:1fr}.review{min-height:0}.thumbs{display:none}.canvas-area{padding:16px}.doc{width:100%;max-width:720px;padding:24px;min-height:auto}.fields{border-left:none;border-top:1px solid var(--line);max-height:60vh}.wiz-body{grid-template-columns:1fr}.wiz-side{border-left:none;border-top:1px solid var(--line)}.wiz-stepper{grid-template-columns:1fr;gap:8px}.wiz-step:not(:last-child):after{display:none}.recon-banner{flex-wrap:wrap}.recon-banner .timer{font-size:22px}.recon-summary{grid-template-columns:repeat(2,1fr)}.tbl-wrap{overflow-x:auto;max-width:100%}.tbl{min-width:880px}.topbar .ftp{display:none}.page-head{padding:16px 20px 12px}.page-title{flex-wrap:wrap;gap:8px}.page-title .actions{margin-left:0;flex-wrap:wrap}.page-sub{flex-wrap:wrap;gap:10px}.filter-bar{padding:10px 20px;flex-wrap:wrap}.recon-summary{padding:12px 20px}.diff-list{padding:0 20px 16px}.recon-foot{margin:0 20px 16px;flex-wrap:wrap}.sc-body{grid-template-columns:1fr}.sc-arc{justify-content:flex-start}}@media (max-width:640px){.login-panel{padding:28px 18px}.login-panel-inner{gap:22px}.login-card{padding:22px}.login-copy h2{font-size:24px}.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(n+3){border-top:1px solid var(--line-soft)}.kpi{padding:10px 12px}.kpi .lab{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .v{font-size:20px;margin-top:2px}.kpi .delta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-grid{grid-template-columns:1fr;padding:12px 16px}.dash-grid>.span-2,.dash-grid>.span-3,.dash-grid>.span-4{grid-column:span 1}.dash-grid>.span-4{flex-direction:column;gap:8px}.recon-summary{grid-template-columns:repeat(2,1fr)}.donut-wrap{flex-direction:column;align-items:stretch}.review-sub{flex-wrap:wrap;gap:6px;padding:10px 16px;font-size:12px}.page-head{padding:12px 16px 10px}.page-title{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 8px}.page-title h1{flex:1 1;min-width:0;font-size:20px;white-space:nowrap}.page-title .count{flex-shrink:0}.page-title .actions{flex:0 0 100%;display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-left:0}.page-sub{padding:2px 0;gap:10px;font-size:12px}.filter-bar{padding:10px 16px;gap:6px}.search-input{flex:1 1;min-width:0;width:auto}.topbar{padding:0 12px;gap:8px}.crumb,.topbar{overflow:hidden}.crumb{font-size:12px;min-width:0}.crumb .cur{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-dropdown{right:-6px;width:min(94vw,420px)}.mark-read-btn{opacity:1}.bulk{margin:0 16px;flex-wrap:wrap}.suppliers-grid{padding:12px 16px 20px}.sc-body{grid-template-columns:1fr}.sc-arc{justify-content:flex-start}.sc-foot{gap:10px}.sc-cta{margin-left:0;width:100%;justify-content:center}.page-sub .meta:nth-child(2){display:none}.tbl-section{padding:12px 16px 16px}.ml-card{grid-column:span 1}.diff-row{padding:10px 16px}.diff-list{padding:0 16px 16px}.recon-banner{margin:12px 16px 0;padding:12px 14px}.recon-summary{padding:10px 16px}.recon-foot{margin:0 16px 12px;padding:10px 14px}.fchip{padding:5px 10px;font-size:12px}.filter-bar .search-input{flex:0 0 100%!important;width:100%!important;margin-right:0!important;margin-bottom:4px;box-sizing:border-box}.tbl-pagi{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}.tbl-pagi>div{flex-wrap:wrap;gap:6px!important}.tbl-wrap{position:relative}.tbl-section:after{content:"";position:absolute;top:0;right:16px;bottom:0;width:32px;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none;border-radius:0 var(--r-md) var(--r-md) 0}.tbl-section{position:relative}}@media (max-width:900px) and (min-width:641px){.suppliers-grid{grid-template-columns:1fr}}