:root{--bg: #f4f7fb;--surface: #ffffff;--surface-2: #f8fbff;--surface-3: #eef2f7;--fg: #172033;--fg-2: #2c3a52;--muted: #69758a;--meta: #9aa7ba;--border: #dce5f1;--border-soft: #edf2f8;--border-2: #d3deec;--nav: #10233f;--nav-soft: #17365f;--accent: #1769e0;--accent-2: #17a09a;--accent-soft: #eaf2ff;--accent-hover: #0f56c3;--accent-border: color-mix(in srgb, var(--accent) 42%, var(--border));--accent-wash: color-mix(in srgb, var(--accent) 14%, transparent);--danger: #d64545;--warn: #d97706;--success: #168a57;--focus-ring: 0 0 0 3px rgba(23, 105, 224, .18);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 999px;--font-display: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--chart-1: #1769e0;--chart-2: #17a09a;--chart-3: #d97706;--chart-4: #8a4b82;--chart-5: #2e8b62;--chart-6: #43639f;--chart-7: #a37a2b;--chart-8: #a03636}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:13px/1.5 var(--font)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:248px 1fr}.side{background:linear-gradient(180deg,var(--nav),#0b1b31);color:#fff;padding:18px 12px;position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;flex:0 0 auto;gap:10px;align-items:center;padding:2px 10px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.mark{width:34px;height:34px;border-radius:10px;display:block;flex:none;box-shadow:0 8px 18px #10233f2e}.brand strong{display:block;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:0}.brand small{display:block;margin-top:2px;color:#ffffff80;font-size:11px}.nav{display:grid;flex:1;min-height:0;align-content:start;gap:2px;margin-top:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent}.nav-label{padding:16px 12px 6px;color:#ffffff61;font-size:11px;letter-spacing:.08em}.nav a{position:relative;min-height:39px;padding:9px 12px;border-radius:10px;color:#ffffffad;display:flex;gap:10px;align-items:center;transition:color .16s,background .16s,padding-left .16s}.nav a:before{content:"";position:absolute;left:4px;top:50%;translate:0 -50%;width:3px;height:0;border-radius:2px;background:#6ea8ff;transition:height .18s}.nav a:hover{color:#fff;background:#ffffff0f;padding-left:18px}.nav a:hover:before{height:16px}.nav a.active:hover{padding-left:12px}.nav a.active:hover:before{height:0}.nav a.active{color:#fff;background:#1769e0f5;box-shadow:0 10px 24px #1769e038}.nav i{width:15px;height:15px;border:1.5px solid currentColor;border-radius:3px;opacity:.85}.nav button.nav-parent{min-height:39px;padding:9px 12px;border-radius:10px;color:#ffffffad;display:flex;gap:10px;align-items:center;background:none;border:0;width:100%;font:inherit;text-align:left;cursor:pointer}.nav button.nav-parent:hover{color:#fff;background:#ffffff0f}.nav button.nav-parent .chev{margin-left:auto;width:9px;height:9px;flex:none;border-right:2.5px solid rgba(255,255,255,.75);border-bottom:2.5px solid rgba(255,255,255,.75);transform:rotate(-45deg);transition:transform .18s ease;margin-right:3px}.nav button.nav-parent:hover .chev{border-color:#fff}.nav button.nav-parent.open .chev{transform:rotate(45deg)}.nav .nav-disabled{min-height:39px;padding:9px 12px;border-radius:10px;color:#ffffff52;display:flex;gap:10px;align-items:center;cursor:not-allowed}.user-menu{position:relative}.user-menu .avatar-btn{border:0;background:none;padding:4px 6px;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:10px;font:inherit}.user-menu .avatar-btn:hover{background:var(--surface-2)}.user-menu .avatar-name{font-size:13px;color:var(--fg)}.user-menu .caret{width:7px;height:7px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.user-menu .avatar-btn.open .caret{transform:rotate(-135deg) translateY(-2px)}.user-menu .menu-panel{position:absolute;right:0;top:calc(100% + 10px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 44px #172b4d29;min-width:250px;padding:8px;z-index:60}.user-menu .menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.user-menu .menu-head strong{display:block;font-size:14px}.user-menu .menu-head small{color:var(--muted)}.user-menu .menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;font-size:13px;color:var(--fg)}.user-menu .menu-row .inline-select{max-width:150px}.user-menu .menu-item{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--fg)}.user-menu .menu-item:hover{background:var(--surface-2)}.user-menu .menu-divider{border-top:1px solid var(--border);margin:6px 0}.nav-sub{display:grid;gap:1px;margin:2px 0 4px 22px;padding-left:10px;border-left:1px solid rgba(255,255,255,.12)}.nav-sub a{padding:6px 10px;border-radius:8px;color:#ffffff8c;font-size:12px;min-height:30px;display:flex;align-items:center}.nav-sub a:hover{color:#fff;background:#ffffff0f}.nav-sub a.active{color:#fff;background:#1769e0e0}.nav-sub .nav-disabled{padding:6px 10px;border-radius:8px;font-size:12px;min-height:30px;color:#ffffff4d}.side-foot{flex:0 0 auto;margin-top:auto;padding:14px 10px 2px;border-top:1px solid rgba(255,255,255,.1);color:#ffffff7a;font-size:11px}.main{min-width:0}.topbar{height:60px;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.crumb{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:8px}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#49a2ff,var(--accent));color:#fff;display:grid;place-items:center;font-size:12px}.content{padding:16px 22px 36px}.project-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:20px;box-shadow:0 10px 30px #172b4d0f}.project-meta{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:12px}.project-meta strong{color:var(--fg);font-size:14px}.page-head:not(:where(.test-studio-remote,.test-studio-remote *)){display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.eyebrow:not(:where(.test-studio-remote,.test-studio-remote *)){color:var(--accent);font:600 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}h1:not(:where(.test-studio-remote,.test-studio-remote *)),h2:not(:where(.test-studio-remote,.test-studio-remote *)),h3:not(:where(.test-studio-remote,.test-studio-remote *)){margin:0;letter-spacing:-.015em}h1:not(:where(.test-studio-remote,.test-studio-remote *)){font-family:var(--font-display);font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.01em}h2:not(:where(.test-studio-remote,.test-studio-remote *)){font-size:16px;font-weight:600}h3:not(:where(.test-studio-remote,.test-studio-remote *)){font-size:14px;font-weight:600}.lead:not(:where(.test-studio-remote,.test-studio-remote *)){color:var(--muted);margin:7px 0 0;max-width:70ch}.btn:not(:where(.test-studio-remote,.test-studio-remote *)){border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;padding:6px 12px;min-height:30px;font-weight:500;box-shadow:0 1px 2px #172b4d0a;transition:all .18s cubic-bezier(.2,.7,.3,1)}.btn:hover{border-color:#9fc2f4;background:#f4f9ff;color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #1769e026}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;box-shadow:0 6px 16px #1769e059}.filters .btn.active,.sap-filter-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px #1769e033}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.8fr);gap:14px}.card:not(:where(.test-studio-remote,.test-studio-remote *)){background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;padding:14px;box-shadow:0 10px 30px #172b4d14}.card.flush:not(:where(.test-studio-remote,.test-studio-remote *)){padding:0;overflow:hidden}.card-link{transition:border-color .16s,transform .16s}.card-link:hover{border-color:#9fc2f4;transform:translateY(-1px);box-shadow:0 16px 34px #172b4d1f}.stat .label{color:var(--muted);font-size:12px}.stat .value{font:600 28px/1.2 var(--mono);margin:10px 0 5px}.stat .delta{font-size:12px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0 11px}.section-head p{margin:0;color:var(--muted);font-size:12px}.org-map-card{padding:0;overflow:hidden;background:linear-gradient(180deg,#fff,#f7fbff)}.org-map-hint{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-bottom:1px solid var(--border-soft);color:var(--muted);font-size:12px}.org-map-hint:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.org-map-svg{width:100%;height:auto;display:block;padding:16px 18px 18px}.org-map-node{cursor:pointer;outline:0}.org-map-node rect{transition:fill .16s ease,stroke .16s ease,filter .16s ease,transform .16s ease;transform-box:fill-box;transform-origin:center}.org-map-node:hover rect,.org-map-node:focus rect,.org-map-node-active rect{fill:#eaf2ff;stroke:var(--accent);filter:drop-shadow(0 8px 14px rgba(23,105,224,.14));transform:translateY(-1px)}.org-map-node:focus-visible rect{stroke-width:2.4px}.progress{height:6px;border-radius:var(--radius-pill);background:var(--border-soft);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);border-radius:inherit}.pill.high{background:#fff0ef;color:var(--danger)}.pill.mid{background:#fff6e8;color:var(--warn)}.pill.ok{background:#ecfdf3;color:var(--success)}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--border);margin:0 0 16px}.tabs a,.tabs button{border:0;background:none;color:var(--muted);padding:10px 13px;border-bottom:2px solid transparent}.tabs a.active,.tabs button.active{color:var(--fg);border-bottom-color:var(--fg);font-weight:600}.filters:not(:where(.test-studio-remote,.test-studio-remote *)){display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filters input:not(:where(.test-studio-remote,.test-studio-remote *)),.filters select:not(:where(.test-studio-remote,.test-studio-remote *)){background:var(--surface);border:1px solid transparent;border-radius:var(--radius-pill);padding:6px 12px;color:var(--fg);min-height:30px}.filters input:not(:where(.test-studio-remote,.test-studio-remote *)){min-width:250px}.project-roadmap{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:18px;box-shadow:0 10px 30px #172b4d14}.roadmap-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.roadmap-heading strong{display:block;margin-top:3px;font-size:18px;line-height:1.25;font-weight:600;letter-spacing:-.015em}.roadmap-heading>span{color:var(--muted);font-size:12px}.roadmap-kicker{display:block;color:var(--accent);font:600 10px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase}.project-roadmap ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.project-roadmap li{position:relative;min-width:0}.project-roadmap li:not(:last-child):after{content:"›";position:absolute;z-index:2;top:50%;right:-10px;width:20px;height:20px;margin-top:-10px;border:1px solid #dce5f1;border-radius:50%;background:#fff;color:#8290a3;display:grid;place-items:center;font:600 15px/1 var(--font);pointer-events:none}.roadmap-step{width:100%;min-height:84px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:13px 14px;border:1px solid var(--border);border-radius:9px;background:#ffffffeb;color:var(--fg);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.roadmap-step:hover{transform:translateY(-2px);border-color:#9fc2f4;background:#fff;box-shadow:0 12px 24px #172b4d14}.roadmap-step:focus-visible{outline:0;box-shadow:var(--focus-ring)}.roadmap-step b{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font:600 11px/1 var(--mono)}.step-copy{min-width:0}.step-copy span,.step-copy small{display:block}.step-copy span{font-size:15px;line-height:1.25;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.step-copy small{margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap}.step-action{color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.02em}.roadmap-step.primary{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),#4597ff);color:#fff;box-shadow:0 14px 28px #1769e03d}.roadmap-step.primary b{background:#ffffff29;color:#fff}.roadmap-step.primary:hover{background:linear-gradient(135deg,var(--accent-hover),var(--accent));border-color:var(--accent-hover);box-shadow:0 16px 32px #1769e047}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--border-soft);padding:7px 12px;vertical-align:middle}th{color:var(--muted);font-size:11px;letter-spacing:.03em;background:var(--surface-2);font-weight:600}td.mono,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}tr[data-click]{cursor:pointer}tr[data-click]:hover td{background:#f6faff}.report-list{display:grid;gap:0}.report-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.report-row:last-child{border:0}.report-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font:600 12px/1 var(--mono)}.report-row p{margin:2px 0 0;color:var(--muted);font-size:12px}.bar-row{display:grid;grid-template-columns:115px 1fr 42px;gap:10px;align-items:center;margin:12px 0}.bar{height:7px;background:var(--border-soft);border-radius:var(--radius-pill);overflow:hidden}.bar span{height:100%;display:block;background:var(--accent);border-radius:inherit}.difference{display:grid;grid-template-columns:1fr 34px 1fr;gap:12px;align-items:stretch}.difference>div{border:1px solid var(--border);border-radius:10px;padding:15px;background:var(--surface)}.difference .arrow{border:0;padding:0;display:grid;place-items:center;color:var(--accent);font-size:20px}.difference ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:12px}.drawer-panel{width:min(500px,100%);height:100%;background:var(--surface);padding:26px;box-shadow:-18px 0 44px #10233f2e;border-left:1px solid var(--border);overflow-y:auto;transition:width .22s ease}.purchase-relation{margin-top:22px}.relation-node-desc{margin-top:16px;min-height:94px;border:1px solid #cfe0f6;border-radius:10px;background:#f7fbff;padding:14px 16px}.relation-node-desc small{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.relation-node-desc strong{display:block;margin-top:4px;color:var(--fg);font-size:16px;letter-spacing:-.01em}.relation-node-desc p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.55}.purchase-tree{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#fff,#f7fbff);overflow-x:auto;display:grid;grid-template-columns:max-content 42px max-content;align-items:center;min-height:260px}.drawer.maximized .purchase-tree{min-height:360px;grid-template-columns:max-content 58px max-content}.tree-root{display:grid;align-items:center}.tree-branches{display:grid;gap:28px;position:relative}.tree-branches:before{content:"";position:absolute;left:-22px;top:34px;bottom:34px;border-left:1.5px solid var(--border)}.tree-row{display:grid;grid-template-columns:116px 34px 116px 34px 116px;align-items:center;min-width:458px}.drawer.maximized .tree-row{grid-template-columns:150px 48px 150px 48px 150px;min-width:596px}.tree-flow{height:1.5px;background:var(--border);position:relative}.tree-flow:after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid var(--border);border-top:5px solid transparent;border-bottom:5px solid transparent}.tree-node{min-height:70px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:12px 14px;display:grid;align-content:center;box-shadow:0 8px 18px #172b4d0f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;cursor:default}.tree-node:hover,.tree-node:focus,.tree-node.active{outline:0;transform:translateY(-2px);border-color:var(--accent);background:#f7fbff;box-shadow:0 12px 24px #1769e024}.tree-node small{color:var(--muted);font-size:11px;letter-spacing:.06em}.tree-node strong{margin-top:4px;font:600 18px/1.2 var(--mono);color:var(--fg)}.tree-node.system{border-color:var(--accent);background:#eef5ff}.tree-node.company{border-color:var(--border)}.tree-node.purchase{border-color:var(--accent)}.tree-node.plant{border-color:var(--border)}.plant-stack{display:grid;gap:10px}.toast{position:fixed;right:22px;bottom:22px;background:var(--nav);color:#fff;padding:11px 15px;border-radius:10px;display:none;z-index:80;box-shadow:0 12px 28px #10233f38}.toast.show{display:block}@media (max-width: 1050px){.app{grid-template-columns:72px 1fr}.side{padding:14px 9px}.brand strong,.brand small,.nav span,.nav-label,.side-foot{display:none}.brand{justify-content:center;padding:2px 0 15px}.nav a,.nav .nav-disabled{justify-content:center}.grid-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media (max-width: 720px){.app{display:block}.side{position:fixed;z-index:20;inset:auto 0 0;height:62px;flex-direction:row;padding:7px}.brand,.side-foot,.nav-label,.nav a:nth-of-type(n+5){display:none}.nav{margin:0;grid-template-columns:repeat(4,1fr);width:100%}.nav a{padding:8px}.topbar{padding:0 14px}.content{padding:18px 14px 82px}.page-head:not(:where(.test-studio-remote,.test-studio-remote *)),.project-bar{align-items:start;flex-direction:column}.filter-actions{width:100%;justify-content:flex-end}.project-roadmap{padding:16px}.roadmap-heading{align-items:start;flex-direction:column;gap:5px}.project-roadmap ol{grid-template-columns:1fr;gap:10px}.project-roadmap li:not(:last-child):after{top:auto;right:20px;bottom:-15px;transform:rotate(90deg)}.relation-flow{grid-template-columns:1fr}.relation-step:not(:last-child):after{right:24px;top:auto;bottom:-9px;transform:rotate(135deg)}.project-meta{flex-wrap:wrap;gap:8px 14px}.grid-4,.grid-3,.grid-2,.difference{grid-template-columns:1fr}.difference .arrow{transform:rotate(90deg);min-height:24px}}.action-row:not(:where(.test-studio-remote,.test-studio-remote *)),.table-actions,.view-switch,.flow-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.subtle{color:var(--muted);font-size:11px}.project-note{display:block;margin-top:4px;line-height:1.35}.section-head>div p{margin-top:3px}.view-switch{gap:2px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.view-switch button{border:0;background:transparent;color:var(--muted);border-radius:5px;padding:5px 10px}.view-switch button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.scene-table{min-width:1380px}.scene-table th:nth-child(4),.scene-table td:nth-child(4){min-width:200px;white-space:nowrap}.scene-table th:last-child,.scene-table td:last-child{position:sticky;right:0;width:320px;min-width:320px;background:var(--surface);box-shadow:-1px 0 0 var(--border);z-index:1}.scene-table th:last-child{background:var(--surface-2);z-index:2}.table-actions{gap:10px}.table-actions button,.table-actions a,.operation-menu button{border:0;background:none;color:var(--accent);padding:0;font-size:12px}.table-actions .table-action-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;box-shadow:0 1px 2px #172b4d0a;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.table-actions .table-action-button:hover{border-color:#9fc2f4;background:#f4f9ff;color:var(--accent-hover);box-shadow:0 8px 16px #1769e01f;transform:translateY(-1px)}.table-actions .table-action-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.table-actions button:disabled{color:#aab3bf;cursor:not-allowed}.table-actions .emphasis{font-weight:600}.scene-table .table-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 10px}.scene-table .table-actions button,.scene-table .table-actions a{white-space:nowrap}.scene-table .operation-menu{margin-top:4px;text-align:right;width:100%}.scene-table .operation-menu summary{display:inline-block;cursor:pointer}.scene-table .operation-menu[open]{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.scene-table .operation-menu[open] summary{display:none}.operation-menu{position:relative;color:var(--muted);font-size:11px}.operation-menu summary{cursor:pointer;width:max-content}.scene-drawer .drawer-panel{width:min(560px,100%)}.scene-option{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--border);border-radius:7px;padding:14px;margin-top:10px;cursor:pointer}.scene-option:hover,.scene-option.selected{border-color:var(--fg);background:var(--surface)}.scene-option p{margin:4px 0 0;color:var(--muted);font-size:12px}.log-list{margin-top:20px;border-left:1px solid var(--border);padding-left:18px;display:grid;gap:18px}.log-item{position:relative}.log-item:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);left:-22px;top:7px}.log-item p{color:var(--muted);margin:3px 0 0;font-size:12px}.menu-tree-scope{display:grid;gap:10px}.menu-tree-toolbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px}.menu-tree-toolbar>div,.menu-tree-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.menu-tree-summary,.menu-tree-drag-hint{color:var(--muted);font-size:12px}.menu-tree-toolbar-actions button{border:0;background:none;color:var(--accent);padding:4px;font-size:12px}.menu-tree-toolbar-actions button:hover{color:var(--accent-hover);text-decoration:underline}.menu-tree-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--accent-soft)}.menu-tree-notice>div{display:grid;gap:3px}.menu-tree-notice strong{font-size:13px}.menu-tree-notice span{color:var(--muted);font-size:12px}.menu-tree-card{overflow:visible}.menu-tree-columns,.menu-tree-row{display:grid;grid-template-columns:minmax(300px,1.35fr) minmax(220px,.9fr) 92px minmax(285px,.95fr);align-items:center}.menu-tree-columns{min-height:38px;padding:0 14px;border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.02em}.menu-tree-row{--menu-depth:0;position:relative;min-height:58px;padding:5px 14px;border-bottom:1px solid var(--border-soft);background:var(--surface);transition:background .14s,box-shadow .14s,opacity .14s}.menu-tree-branch:last-of-type>.menu-tree-row{border-bottom-color:var(--border-soft)}.menu-tree-row:hover{background:var(--surface-2)}.menu-tree-row.disabled{opacity:.56}.menu-tree-row.dragging{opacity:.28;z-index:3}.menu-tree-row.drop-forbidden:not(.dragging){opacity:.48}.menu-tree-row.drop-inside{z-index:2;background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);opacity:1}.menu-tree-main{min-width:0;display:flex;align-items:center;gap:8px;padding-left:calc(var(--menu-depth) * 27px)}.menu-tree-main:before{content:"";position:absolute;left:calc(27px + var(--menu-depth) * 27px);top:0;bottom:0;border-left:1px solid var(--border-soft);opacity:min(1,var(--menu-depth));pointer-events:none}.menu-tree-handle{position:relative;z-index:1;width:24px;height:30px;display:grid;place-items:center;flex:none;border:0;border-radius:6px;background:transparent;color:var(--muted);font:700 15px/1 var(--mono);letter-spacing:-4px;cursor:grab;touch-action:none}.menu-tree-handle:hover{background:var(--accent-soft);color:var(--accent)}.menu-tree-handle:active{cursor:grabbing}.menu-tree-handle:focus-visible{outline:0;box-shadow:var(--focus-ring)}.menu-tree-handle:disabled{color:var(--border);cursor:not-allowed;background:transparent}.menu-tree-toggle,.menu-tree-toggle-placeholder{width:20px;height:24px;display:grid;place-items:center;flex:none}.menu-tree-toggle{border:0;border-radius:5px;background:none;color:var(--muted)}.menu-tree-toggle:hover{background:var(--surface);color:var(--fg)}.menu-tree-toggle span{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .14s}.menu-tree-toggle.collapsed span{transform:rotate(-45deg)}.menu-tree-kind{width:25px;height:25px;display:grid;place-items:center;flex:none;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--muted);font:700 10px/1 var(--mono)}.menu-tree-kind.group{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.menu-tree-name{min-width:0;display:grid;gap:2px}.menu-tree-name strong{overflow:hidden;color:var(--fg);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.menu-tree-name small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.menu-tree-access{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-right:12px;color:var(--muted);font-size:11px}.menu-tree-access>.mono{max-width:100%;overflow:hidden;color:var(--fg);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.menu-tree-access>small{width:100%;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.menu-tree-access .pill{padding:2px 7px}.menu-tree-status{display:flex;align-items:center}.menu-tree-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px 10px;flex-wrap:wrap}.menu-tree-actions button{border:0;background:none;color:var(--accent);padding:2px 0;font-size:11px;white-space:nowrap}.menu-tree-actions button:hover{color:var(--accent-hover);text-decoration:underline}.menu-tree-actions button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.menu-tree-actions button:disabled{color:var(--border);cursor:not-allowed;text-decoration:none}.menu-tree-drop-line{--menu-depth:0;position:relative;height:4px;padding-left:calc(26px + var(--menu-depth) * 27px);background:var(--surface);transition:height .12s}.menu-tree-drop-line.available{height:10px}.menu-tree-drop-line span{position:absolute;left:calc(26px + var(--menu-depth) * 27px);right:16px;top:50%;height:2px;border-radius:var(--radius-pill);background:transparent;transform:translateY(-50%)}.menu-tree-drop-line.available span{background:var(--border)}.menu-tree-drop-line.over span{height:3px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.menu-tree-drop-line.over span:before{content:"";position:absolute;left:-3px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--accent);transform:translateY(-50%)}.menu-tree-drop-line.end.available{height:18px}.menu-tree-empty{min-height:120px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.menu-tree-overlay{min-width:250px;display:grid;grid-template-columns:24px 1fr;gap:2px 8px;align-items:center;padding:10px 13px;border:1px solid var(--accent);border-radius:9px;background:var(--surface);box-shadow:0 16px 36px #172b4d33}.menu-tree-overlay>span{grid-row:1 / 3;color:var(--accent);font:700 15px/1 var(--mono);letter-spacing:-4px}.menu-tree-overlay strong{font-size:13px}.menu-tree-overlay small{color:var(--muted);font:10px/1.2 var(--mono)}.menu-editor-structure-hint{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:12px}.menu-editor-structure-hint .mono{color:var(--fg)}.menu-role-options{display:flex;flex-wrap:wrap;gap:8px 14px}.menu-role-options label{display:inline-flex;gap:5px;align-items:center;font-size:12.5px}.menu-modal-actions{justify-content:flex-end;margin-top:14px}.menu-modal-empty{padding:20px 2px;color:var(--muted)}@media (max-width: 1100px){.menu-tree-columns{display:none}.menu-tree-row{grid-template-columns:minmax(260px,1.25fr) minmax(200px,.8fr) auto}.menu-tree-status{display:none}.menu-tree-actions{justify-content:flex-start}}@media (max-width: 760px){.menu-tree-toolbar,.menu-tree-notice{align-items:flex-start;flex-direction:column}.menu-tree-row{grid-template-columns:1fr;gap:5px;padding:9px 12px}.menu-tree-access,.menu-tree-actions{padding-left:calc(77px + var(--menu-depth) * 27px)}.menu-tree-actions{justify-content:flex-start}.menu-tree-drop-line span{right:10px}}.management-filters{align-items:center}.management-table:not(:where(.test-studio-remote,.test-studio-remote *)){min-width:1220px}.customer-table{min-width:1120px}.management-table:not(.customer-table) th:nth-child(4):not(:where(.test-studio-remote,.test-studio-remote *)),.management-table:not(.customer-table) td:nth-child(4):not(:where(.test-studio-remote,.test-studio-remote *)){min-width:118px;white-space:nowrap}.management-table:not(.customer-table) th:nth-child(5):not(:where(.test-studio-remote,.test-studio-remote *)),.management-table:not(.customer-table) td:nth-child(5):not(:where(.test-studio-remote,.test-studio-remote *)){min-width:160px;white-space:nowrap}.management-table th:last-child:not(:where(.test-studio-remote,.test-studio-remote *)),.management-table td:last-child:not(:where(.test-studio-remote,.test-studio-remote *)){position:sticky;right:0;width:196px;min-width:196px;background:var(--surface);box-shadow:-1px 0 0 var(--border);z-index:1}.management-table th:last-child{background:var(--surface-2);z-index:2}.customer-table th:last-child,.customer-table td:last-child{width:clamp(210px,22vw,280px);min-width:210px}.management-table.scenes-table th:last-child,.management-table.scenes-table td:last-child{width:430px;min-width:430px}.management-table.scenes-table .table-actions{flex-wrap:nowrap;gap:0 14px}.management-table .table-actions:not(:where(.test-studio-remote,.test-studio-remote *)){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 12px}.customer-table .table-actions{gap:4px 10px}.management-table .table-actions button:not(:where(.test-studio-remote,.test-studio-remote *)),.management-table .table-actions a:not(:where(.test-studio-remote,.test-studio-remote *)){white-space:nowrap;line-height:1.35}.management-table.company-members-table{width:100%;min-width:900px;table-layout:fixed}.management-table.company-members-table th,.management-table.company-members-table td{min-width:0;overflow-wrap:anywhere}.management-table.company-members-table th:not(:last-child){position:relative}.management-table.company-members-table th:nth-child(4),.management-table.company-members-table td:nth-child(4),.management-table.company-members-table th:nth-child(5),.management-table.company-members-table td:nth-child(5){min-width:0;white-space:normal}.management-table.company-members-table th:last-child,.management-table.company-members-table td:last-child{width:auto;min-width:0}.company-members-column-resizer{position:absolute;z-index:3;top:0;right:-5px;width:10px;height:100%;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.company-members-column-resizer:after{content:"";position:absolute;top:20%;bottom:20%;left:50%;width:1px;background:var(--border);transform:translate(-50%);transition:background .14s,top .14s,bottom .14s}.company-members-column-resizer:hover:after,.company-members-column-resizer:focus-visible:after,.company-members-column-resizer:active:after{top:10%;bottom:10%;background:var(--accent)}.company-members-column-resizer:focus-visible{outline:0;box-shadow:var(--focus-ring)}.management-table.company-member-import-preview-table{width:100%;min-width:720px;table-layout:fixed}.management-table.company-member-import-preview-table th,.management-table.company-member-import-preview-table td{min-width:0;overflow-wrap:anywhere;white-space:normal}.management-table.company-member-import-preview-table th:last-child,.management-table.company-member-import-preview-table td:last-child{position:static;width:auto;min-width:0;background:inherit;box-shadow:none}.management-table.company-member-import-preview-table th:last-child{background:var(--surface-2)}.table-pager:not(:where(.test-studio-remote,.test-studio-remote *)){position:sticky;left:0;min-width:100%;display:flex;align-items:center;justify-content:flex-end;padding:14px 16px;border-top:1px solid var(--border);background:var(--surface)}.pager-summary:not(:where(.test-studio-remote,.test-studio-remote *)){color:var(--muted);font-size:13px;white-space:nowrap}.pager-controls:not(:where(.test-studio-remote,.test-studio-remote *)){display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px}.pager-controls label:not(:where(.test-studio-remote,.test-studio-remote *)){display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;white-space:nowrap}.pager-controls select:not(:where(.test-studio-remote,.test-studio-remote *)),.pager-jump input:not(:where(.test-studio-remote,.test-studio-remote *)){height:34px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--fg);box-shadow:none}.pager-controls select:not(:where(.test-studio-remote,.test-studio-remote *)){min-width:76px;padding:5px 28px 5px 10px}.pager-jump input:not(:where(.test-studio-remote,.test-studio-remote *)){width:48px;padding:5px 8px;text-align:center;font:13px/1.2 var(--mono)}.pager-controls button:not(:where(.test-studio-remote,.test-studio-remote *)),.pager-pages button:not(:where(.test-studio-remote,.test-studio-remote *)){height:34px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--muted);padding:5px 11px;font-size:13px;white-space:nowrap}.pager-controls button:hover,.pager-pages button:hover{border-color:var(--fg);color:var(--fg);background:var(--surface)}.pager-pages:not(:where(.test-studio-remote,.test-studio-remote *)){display:flex;align-items:center;gap:6px}.pager-pages button:not(:where(.test-studio-remote,.test-studio-remote *)){min-width:34px;padding:5px 10px;color:var(--muted);border-color:var(--border)}.pager-pages button.active{border-color:var(--fg);background:var(--fg);color:#fff}.project-section-head{margin-top:28px}.inline-select:not(:where(.test-studio-remote,.test-studio-remote *)){border:1px solid var(--border);background:var(--surface);border-radius:6px;min-height:30px;padding:6px 10px;color:var(--fg)}.relation-card{margin-top:24px}.relation-card h2{margin-bottom:8px}.relation-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.relation-step{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;min-height:92px;border:1px solid var(--border);border-radius:0;background:var(--bg);padding:14px}.relation-step:not(:last-child):after{content:"";position:absolute;right:-9px;top:50%;width:16px;height:16px;border-top:1px solid var(--border);border-right:1px solid var(--border);background:#fff;transform:translateY(-50%) rotate(45deg);z-index:2}.relation-step .step-no{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--fg);color:#fff;font:700 11px/1 var(--mono)}.relation-step strong{color:var(--fg);font-size:16px;letter-spacing:-.01em}.relation-step button,.relation-step a{grid-column:1/-1;justify-self:start;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);color:var(--fg);padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none}.relation-step button:hover,.relation-step a:hover{border-color:var(--fg);background:var(--surface)}.management-panels{margin-top:14px}.mini-log{display:grid;gap:12px;margin-top:12px}.mini-log p{margin:0;display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid var(--border)}.mini-log p:last-child{border-bottom:0;padding-bottom:0}.mini-log span{color:var(--muted);font-size:12px}.panel-actions{margin-top:16px}.editor-content{max-width:1800px}.save-state{color:var(--muted);font-size:11px}.scenario-meta{display:grid;grid-template-columns:1.3fr 1.3fr .8fr .8fr;gap:18px;align-items:end;margin-bottom:14px}.scenario-meta>div{min-width:0}.scenario-meta label,.inspector>label{display:block;color:var(--muted);font-size:11px;margin-bottom:5px;letter-spacing:.02em}.scenario-meta input,.scenario-meta select,.inspector input,.inspector select,.inspector textarea,.library-search{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;padding:8px 10px;min-height:36px;font:inherit}.scenario-meta>div:nth-child(3){display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.scenario-meta>div:nth-child(3) label{grid-column:1/-1}.switch{width:38px;height:22px;padding:2px;border:0;border-radius:99px;background:#c4ccd7}.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .16s}.switch.on{background:var(--accent)}.switch.on span{transform:translate(16px)}.orchestration-layout{display:grid;grid-template-columns:240px minmax(540px,1fr) 260px;gap:14px;align-items:start}.library,.flow-workspace,.inspector{padding:14px}.library,.inspector{position:sticky;top:74px}.library-head,.flow-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.library-head p,.flow-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.count{min-width:25px;height:25px;border-radius:99px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font:600 11px/1 var(--mono)}.library-group{margin-top:17px}.library-group h3{color:var(--muted);font-size:11px;letter-spacing:.06em;margin-bottom:7px}.library-group button{width:100%;text-align:left;border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:9px;margin-bottom:6px;color:var(--fg)}.library-group button:hover{border-color:var(--fg);background:var(--surface)}.library-group button span,.library-group button small{display:block}.library-group button small{color:var(--muted);margin-top:3px;font-size:10px}.flow-legend{color:var(--muted);font-size:10px}.flow-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:4px}.flow-legend i.csa{background:var(--success)}.flow-legend i.rule{background:var(--warn)}.flow-stage{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.stage-label span,.stage-label strong,.stage-label small{display:block}.stage-label span{color:var(--accent);font:600 10px/1.2 var(--mono);letter-spacing:.08em}.stage-label strong{margin-top:7px;font-size:13px}.stage-label small{color:var(--muted);margin-top:4px;font-size:10px}.step-list{display:grid;gap:7px}.flow-step{display:grid;grid-template-columns:18px 28px 1fr auto 24px;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px}.flow-step:hover{border-color:var(--fg)}.flow-step .drag{color:#aab3bf;cursor:grab}.step-index{color:var(--muted);font:11px/1 var(--mono)}.flow-step strong,.flow-step small{display:block}.flow-step strong{font-size:12px}.flow-step small{color:var(--muted);font-size:10px;margin-top:2px}.flow-step>button{border:0;background:none;color:var(--muted);font-size:16px}.flow-connector{width:1px;height:20px;background:var(--border);margin-left:74px}.inspector{display:grid;gap:10px}.inspector>label{margin:3px 0 -5px}.inspector textarea{min-height:96px;resize:vertical}.check-stack{display:grid;gap:8px;font-size:12px}.check-stack label{display:flex;gap:7px;align-items:center}.check-stack input{width:auto;min-height:auto}.impact-note{background:#fff8eb;color:#714b00;border:1px solid #f2ddac;border-radius:6px;padding:10px;margin-top:6px}.impact-note p{margin:4px 0 0;font-size:11px;line-height:1.5}@media (max-width: 1320px){.orchestration-layout{grid-template-columns:220px 1fr}.inspector{position:static;grid-column:1/-1;grid-template-columns:repeat(2,1fr)}.inspector .library-head,.inspector .impact-note{grid-column:1/-1}}@media (max-width: 900px){.table-pager:not(:where(.test-studio-remote,.test-studio-remote *)){justify-content:flex-end}.pager-controls:not(:where(.test-studio-remote,.test-studio-remote *)){justify-content:flex-end;gap:10px}.scenario-meta,.orchestration-layout{grid-template-columns:1fr}.library,.inspector{position:static}.inspector{grid-column:auto;grid-template-columns:1fr}.inspector .library-head,.inspector .impact-note{grid-column:auto}.flow-stage{grid-template-columns:1fr}.flow-connector{margin-left:20px}}.sub-nav{display:flex;flex-wrap:wrap;gap:4px;padding:6px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:0;box-shadow:none}.sub-nav a{padding:7px 14px;border-radius:var(--radius-pill);font-size:13px;color:var(--muted);font-weight:500;transition:background .15s,color .15s}.sub-nav a:hover{color:var(--fg);background:var(--bg)}.sub-nav a.active{color:#fff;background:var(--accent)}.sub-nav-label{display:flex;align-items:center;padding:0 10px 0 4px;margin-right:6px;color:var(--muted);font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-right:1px solid var(--border)}.col-truncate{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-truncate-wide{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-truncate-mid{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-table{min-width:auto!important}.compact-table th:last-child,.compact-table td:last-child{width:140px!important;min-width:140px!important}.global-reactbits-aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.16}.brand-copy{min-width:0;white-space:nowrap;opacity:1;transform:translate(0);transition:opacity .16s ease,transform .24s cubic-bezier(.4,0,.2,1),visibility 0s linear}.sidebar-toggle{position:absolute;top:5px;right:8px;width:30px;height:30px;padding:0;flex:none;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);transition:top .24s cubic-bezier(.4,0,.2,1),right .24s cubic-bezier(.4,0,.2,1),color .18s ease,background .18s ease,border-color .18s ease}.sidebar-toggle:hover{border-color:var(--border);background:var(--accent-soft);color:var(--fg)}.sidebar-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar-toggle>span{position:relative;width:17px;height:14px;border:1.5px solid currentColor;border-radius:4px}.sidebar-toggle>span:after{content:"";position:absolute;top:-1.5px;bottom:-1.5px;left:5px;border-left:1.5px solid currentColor}.crumb{display:flex;align-items:center;gap:8px;font-weight:500}.crumb-link{color:var(--muted);font:inherit;transition:color .18s ease}.crumb-link:hover,.crumb-link:focus-visible{color:var(--fg)}.crumb-link:focus-visible{outline:none;text-decoration:underline;text-underline-offset:4px}.crumb-separator{color:var(--meta)}.crumb-segment{display:contents}.crumb-current{color:var(--fg-2);font-weight:650}@media (min-width:901px){.app.sidebar-collapsed{grid-template-columns:60px minmax(0,1fr)}.sidebar-collapsed .side{padding:0 10px 20px}.sidebar-collapsed .brand{min-width:40px;min-height:58px;padding:2px 0 18px}.sidebar-collapsed .mark{width:0;visibility:hidden;opacity:0;transform:scale(.72);pointer-events:none;transition:width .24s cubic-bezier(.4,0,.2,1),opacity .1s ease,transform .24s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}.sidebar-collapsed .brand-copy{visibility:hidden;opacity:0;transform:translate(-8px);pointer-events:none;transition:opacity .12s ease,transform .24s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}.sidebar-collapsed .sidebar-toggle{top:14px;right:5px}.sidebar-collapsed .nav,.sidebar-collapsed .side-foot{visibility:hidden;opacity:0;transform:translate(-10px);pointer-events:none;transition:opacity .12s ease,transform .24s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}}@media (max-width:900px){.sidebar-toggle{display:none}}tbody tr{transition:background-color .16s ease}.management-table tbody tr:hover td,.card.flush tbody tr:hover td{background:var(--accent-soft)}.management-table tbody tr:hover td:first-child,.card.flush tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table-actions button,.table-actions a{opacity:.78;transition:opacity .15s}tbody tr:hover .table-actions button,tbody tr:hover .table-actions a{opacity:1}.hover-card{transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s,border-color .18s}.hover-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #172b4d21;border-color:#c8dcf5}.filters input:focus-visible,.filters select:focus-visible,.inline-select:focus-visible{outline:0;border-color:var(--accent);box-shadow:var(--focus-ring)}@media (prefers-reduced-motion: reduce){tbody tr,.btn,.nav a,.nav a:before,.hover-card,.table-actions button,.table-actions a{animation:none!important;transition:none!important}.btn:hover,.hover-card:hover{transform:none}}.standalone-remote-route{min-height:100dvh;background:var(--bg)}.standalone-remote-route>.ui-empty{min-height:100dvh;display:grid;place-items:center}.company-member-product-access{display:grid;gap:18px}.company-member-product-extension{min-width:0;padding-top:18px;border-top:1px solid var(--border)}.company-member-product-extension:first-of-type{padding-top:0;border-top:0}.company-module-options{display:grid;gap:6px}.company-module-option{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);cursor:pointer}.company-module-option input{margin-top:3px;accent-color:var(--accent)}.company-module-option span{display:grid;gap:1px}.company-member-product-extension.product-unassigned{filter:grayscale(.6)}.runtime-skill-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}.runtime-skill-toolbar .ff-input{width:min(420px,100%);min-width:0}.runtime-skill-toolbar strong{color:var(--fg);margin-left:4px}.runtime-skill-categories{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.runtime-skill-categories .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;border-radius:var(--radius-pill);box-shadow:none}.runtime-skill-categories .btn.active{background:var(--fg);border-color:var(--fg);color:var(--surface)}.runtime-skill-classification{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.runtime-skill-classification>:first-child{width:min(220px,100%)}.runtime-skill-classification p{flex:1 1 260px;margin:0}.runtime-skill-profile-options{display:grid;gap:10px;max-height:300px;overflow:auto}.runtime-skill-profile-option{display:flex;align-items:flex-start;gap:8px;overflow-wrap:anywhere}.runtime-skill-profile-option>input{flex-shrink:0;margin-top:4px}.runtime-skill-profile-option>span{min-width:0}.runtime-skill-profile-option .muted,.runtime-skill-profile-option .err{display:block}.runtime-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:12px}.runtime-skill-card{min-width:0;min-height:280px;display:flex;flex-direction:column;gap:10px;padding:16px;border-color:var(--border);border-radius:var(--radius-md);box-shadow:none;transition:transform .18s ease}.runtime-skill-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.runtime-skill-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.runtime-skill-card-head>div{min-width:0}.runtime-skill-card-head h3{overflow-wrap:anywhere}.runtime-skill-card-head .pill{flex-shrink:0}.runtime-skill-code{margin-top:2px;color:var(--meta);font-size:11px;overflow-wrap:anywhere}.runtime-skill-category{color:var(--meta);font-size:11px;overflow-wrap:anywhere}.runtime-skill-description{display:-webkit-box;margin:0;overflow:hidden;color:var(--fg-2);overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:4}.runtime-skill-facts{display:grid;gap:8px;margin:0 0 4px;font-size:11px}.runtime-skill-facts dt{margin-bottom:2px;color:var(--meta)}.runtime-skill-facts dd{display:-webkit-box;margin:0;overflow:hidden;overflow-wrap:anywhere;color:var(--fg-2);-webkit-box-orient:vertical;-webkit-line-clamp:2}.runtime-skill-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.runtime-skill-empty{display:grid;justify-items:center;align-content:center;gap:8px;min-height:180px}@media (prefers-reduced-motion: reduce){.runtime-skill-card{transition:none}.runtime-skill-card:hover{transform:none}}.menu-company-lead{margin:0 0 12px}.menu-company-search{min-width:260px}.menu-table-empty{padding:28px;color:var(--muted);text-align:center}.menu-table-empty .btn{margin-left:10px}.menu-inline-pill{margin-left:6px;vertical-align:middle}.menu-pill-row{display:inline-flex;flex-wrap:wrap;gap:4px}.menu-company-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface)}.menu-company-brief{min-width:0;display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.menu-company-brief .eyebrow{margin-bottom:0}.menu-company-brief strong{font-size:14px}.menu-unassigned-card{margin-top:12px}.menu-unassigned-head{display:grid;gap:3px;padding:12px 14px;border-bottom:1px solid var(--border-soft)}.menu-role-groups{display:grid;gap:10px}.menu-role-group{display:grid;gap:6px}.menu-role-group-title{color:var(--muted);font-size:11px;font-weight:600}.menu-role-options-stacked{flex-direction:column;align-items:flex-start}.menu-role-options label.locked{color:var(--muted)}.menu-modal-lead{margin:0 0 12px;color:var(--muted);font-size:12.5px}.menu-modal-warning{margin:8px 0 0;color:var(--warn);font-size:12px}.menu-sync-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.menu-sync-toolbar label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.menu-sync-list{max-height:min(52vh,420px);margin:0;padding:0;overflow:auto;list-style:none;border:1px solid var(--border-soft);border-radius:8px}.menu-sync-list li{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.menu-sync-list li:last-child{border-bottom:0}.menu-sync-list label{min-width:0;display:flex;align-items:center;gap:8px}.menu-sync-name{min-width:0;display:grid;gap:2px}.menu-sync-name small{color:var(--muted);font-size:10px}.menu-sync-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:1fr;background:var(--bg)}.auth-brand{position:relative;overflow:hidden;color:#fff;background:var(--nav);background-image:radial-gradient(120% 90% at 12% 0%,rgba(23,105,224,.38),transparent 56%),radial-gradient(90% 80% at 100% 100%,rgba(23,105,224,.16),transparent 60%);padding:clamp(32px,5vw,64px);display:flex;flex-direction:column}.auth-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(125% 100% at 28% 18%,#000 38%,transparent 82%);mask-image:radial-gradient(125% 100% at 28% 18%,#000 38%,transparent 82%)}.auth-brand>*{position:relative;z-index:1}.auth-brand .brand{border:0;padding:0;gap:12px}.auth-brand .brand .mark{width:40px;height:40px;border-radius:12px}.auth-brand .brand strong{font-size:20px}.auth-brand .brand small{color:#fff9}.auth-pitch{margin-top:auto;max-width:32ch}.auth-pitch h2{font-size:clamp(23px,2.6vw,33px);line-height:1.22;font-weight:600;letter-spacing:-.02em}.auth-pitch p{margin:14px 0 28px;color:#ffffffb8;line-height:1.6}.auth-points{display:grid;gap:13px;list-style:none;margin:0;padding:0}.auth-points li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;color:#ffffffd9;font-size:13.5px;line-height:1.5}.auth-points li b{width:22px;height:22px;border-radius:6px;background:#ffffff24;display:grid;place-items:center;font:600 12px/1 var(--mono)}.auth-brand-foot{margin-top:40px;color:#ffffff73;font-size:12px}.auth-main{display:grid;place-items:center;padding:32px 24px}.auth-form{width:100%;max-width:384px}.auth-form h1{font-size:26px;margin-bottom:6px}.auth-form>.lead{margin:0 0 24px}.field{display:grid;gap:5px;margin-bottom:12px}.field>label{font-size:12px;color:var(--fg);font-weight:500}.field input{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;padding:7px 10px;min-height:34px;font:inherit;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#98a2b1}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1769e029}.field .err{font-size:12px;color:var(--danger);display:none}.field.invalid input{border-color:var(--danger)}.field.invalid input:focus{box-shadow:0 0 0 3px #d92d2029}.field.invalid .err{display:block}.input-wrap{position:relative;display:flex}.input-wrap input{padding-right:56px}.input-wrap .toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);font-size:12px;padding:8px;border-radius:5px}.input-wrap .toggle:hover{color:var(--accent)}.auth-row{display:flex;align-items:center;justify-content:space-between;margin:2px 0 22px;font-size:13px}.auth-row .check{display:flex;align-items:center;gap:8px;color:var(--muted)}.auth-row .check input{width:16px;height:16px;accent-color:var(--accent)}.auth-row a{color:var(--accent);font-weight:500}.btn-block{width:100%;justify-content:center;min-height:44px;font-size:15px}.btn:active{transform:translateY(1px)}.form-alert{display:none;align-items:center;gap:8px;background:#fff0ef;color:var(--danger);border:1px solid #f6cfcb;border-radius:7px;padding:10px 12px;font-size:13px;margin-bottom:16px}.form-alert.show{display:flex}.auth-alt{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;text-align:center}.auth-alt a{color:var(--accent)}.auth-status{margin:0 0 18px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--muted)}.auth.center{grid-template-columns:1fr;place-items:center;padding:24px}.auth-card{width:100%;max-width:444px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:clamp(28px,4vw,40px);box-shadow:0 18px 50px #17203314}.auth-card .mark{width:40px;height:40px;border-radius:12px;box-shadow:0 8px 18px #10233f2e}.auth-card h1{font-size:23px;margin:18px 0 6px}.auth-card>.lead{margin:0 0 22px}.otp{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:6px}.otp input{aspect-ratio:1 / 1.15;width:100%;text-align:center;font:600 22px/1 var(--mono);border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);transition:border-color .15s,box-shadow .15s}.otp input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1769e029}.otp.invalid input{border-color:var(--danger)}@media (max-width: 420px){.otp{gap:7px}.otp input{font-size:18px}}.otp-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 22px;font-size:13px;color:var(--muted)}.otp-meta a{color:var(--accent);font-weight:500}.totp{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:start;margin:12px 0 4px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.qr-box{width:132px;height:132px;border:1px dashed #c2ccd9;border-radius:8px;background:#fff;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:11px;line-height:1.5;padding:10px}.totp .key{font:12px/1.6 var(--mono);word-break:break-all;color:var(--fg)}.totp .key b{color:var(--muted);font-weight:400;display:block;margin-bottom:3px}.backup-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 0;padding:0;list-style:none;font:13px/1 var(--mono)}.backup-codes li{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:9px 10px;text-align:center;letter-spacing:.04em}.drawer-note{background:#fff8eb;color:#714b00;border:1px solid #f2ddac;border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.5;margin-top:12px}.twofa-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-main{min-height:100dvh}}@media (prefers-reduced-motion: reduce){.field input,.otp input,.btn{transition:none!important}.btn:active{transform:none}}[data-ui-style-scope]{font-size:var(--ui-font-size, 13px);line-height:var(--ui-line-height, 1.5)}.page-head{display:flex;justify-content:space-between;gap:var(--ui-page-head-gap, 16px);align-items:end;margin-bottom:var(--ui-page-head-margin, 14px)}.eyebrow{color:var(--accent);font:600 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.lead{color:var(--muted);margin:7px 0 0;max-width:70ch}h1,h2,h3{margin:0;letter-spacing:-.015em}h1{font-family:var(--font-display);font-size:var(--ui-h1-size, 22px);line-height:var(--ui-heading-line-height, 1.3);font-weight:700;letter-spacing:-.01em}h2{font-size:var(--ui-h2-size, 16px);font-weight:600}h3{font-size:var(--ui-h3-size, 14px);font-weight:600}.btn{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;padding:var(--ui-button-padding, 6px 12px);min-height:var(--ui-button-height, 30px);font-weight:500;box-shadow:0 1px 2px #172b4d0a;transition:border-color .18s cubic-bezier(.2,.7,.3,1),background .18s cubic-bezier(.2,.7,.3,1),color .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s cubic-bezier(.2,.7,.3,1),transform .18s cubic-bezier(.2,.7,.3,1)}.btn:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 22%,transparent)}.btn:active{transform:translateY(0) scale(.97);box-shadow:none}.btn:focus-visible{outline:0;box-shadow:var(--focus-ring)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent)}.action-row{display:flex;align-items:center;gap:var(--ui-action-gap, 8px);flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;padding:var(--ui-card-padding, 14px);box-shadow:0 10px 30px #172b4d14}.card.flush{padding:0;overflow:hidden}.card-link{transition:border-color .16s,transform .16s,box-shadow .16s}.card-link:hover{border-color:var(--accent-border);transform:translateY(-1px);box-shadow:0 16px 34px #172b4d1f}.filters{display:flex;flex-wrap:wrap;gap:var(--ui-filter-gap, 8px);margin-bottom:var(--ui-filter-margin, 12px)}.filters input,.filters select{background:var(--surface);border:1px solid transparent;border-radius:var(--radius-pill);padding:var(--ui-filter-padding, 6px 12px);color:var(--fg);min-height:var(--ui-control-height, 30px)}.filters input{min-width:250px}.filters .btn.active,.btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent)}.filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.inline-select{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-height:var(--ui-control-height, 30px);padding:var(--ui-inline-padding, 6px 10px);color:var(--fg)}.inline-select:focus-visible{outline:0;border-color:var(--accent);box-shadow:var(--focus-ring)}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;background:var(--surface);color:var(--muted);white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.high{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}.pill.mid{background:color-mix(in srgb,var(--warn) 12%,var(--surface));color:var(--warn)}.pill.ok{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.pill.danger{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}.status-text.danger,.danger-link{color:var(--danger)!important}.mono,td.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.table-wrap{overflow:auto}.data-table,.management-table{border-collapse:collapse;width:100%;min-width:var(--ui-table-min-width, 760px);font-size:var(--ui-table-font-size, inherit)}.data-table th,.data-table td,.management-table th,.management-table td{text-align:left;border-bottom:1px solid var(--border-soft);padding:var(--ui-table-cell-padding, 7px 12px);vertical-align:middle}.data-table th,.management-table th{color:var(--muted);font-size:var(--ui-table-header-size, 11px);letter-spacing:.03em;padding:var(--ui-table-header-padding, var(--ui-table-cell-padding, 7px 12px));background:var(--surface-2);font-weight:600;position:relative}.data-table td code,.management-table td code,.data-table td.wrap-anywhere,.management-table td.wrap-anywhere{overflow-wrap:anywhere}@keyframes ui-row-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.animate-rows tbody tr:nth-child(-n+8){animation:ui-row-enter .25s cubic-bezier(.2,.7,.3,1) both}.animate-rows tbody tr:nth-child(2){animation-delay:.03s}.animate-rows tbody tr:nth-child(3){animation-delay:.06s}.animate-rows tbody tr:nth-child(4){animation-delay:.09s}.animate-rows tbody tr:nth-child(5){animation-delay:.12s}.animate-rows tbody tr:nth-child(6){animation-delay:.15s}.animate-rows tbody tr:nth-child(7){animation-delay:.18s}.animate-rows tbody tr:nth-child(8){animation-delay:.21s}@media (prefers-reduced-motion: reduce){.animate-rows tbody tr{animation:none}}.col-resize{position:absolute;top:0;right:-5px;bottom:0;width:10px;cursor:col-resize;touch-action:none;z-index:1}.col-resize:after{content:"";position:absolute;left:4px;top:20%;bottom:20%;width:2px;background:transparent}.col-resize:hover:after,.col-resize:focus-visible:after{background:var(--accent)}.col-resize:focus-visible{outline:none}.management-table .table-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:4px 12px}.management-table .table-actions button,.management-table .table-actions a{white-space:nowrap;line-height:1.35;font:inherit}.table-pager{position:sticky;left:0;min-width:100%;display:flex;align-items:center;justify-content:flex-end;padding:var(--ui-pager-padding, 14px 16px);border-top:1px solid var(--border);background:var(--surface)}.pager-summary{color:var(--muted);font-size:var(--ui-pager-font-size, 13px);white-space:nowrap}.pager-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--ui-pager-gap, 14px);flex-wrap:wrap;color:var(--muted);font-size:var(--ui-pager-font-size, 13px)}.pager-controls button{height:var(--ui-pager-button-height, 34px);border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--muted);padding:var(--ui-pager-button-padding, 5px 11px);font-size:var(--ui-pager-font-size, 13px);white-space:nowrap}.pager-controls button:hover{border-color:var(--fg);color:var(--fg);background:var(--surface)}.pager-controls button:disabled{color:#b5bdc9;cursor:not-allowed;background:transparent}.table-wrap.is-sticky-head{max-height:var(--table-view-height, 60vh)}.table-wrap.is-sticky-head .data-table,.table-wrap.is-sticky-head .management-table{border-collapse:separate;border-spacing:0}.table-wrap.is-sticky-head thead th{position:sticky;top:0;z-index:3;background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--border)}.table-wrap.is-sticky-head .management-table thead th:last-child{z-index:4}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f233f57;z-index:50;display:none;justify-content:end}.drawer.open{display:flex}.drawer-panel{width:min(500px,100%);height:100%;background:var(--surface);padding:var(--ui-drawer-padding, 26px);box-shadow:-18px 0 44px #10233f2e;border-left:1px solid var(--border);overflow-y:auto;transition:width .22s ease}.drawer.wide .drawer-panel{width:min(760px,100%)}.drawer.maximized .drawer-panel{width:min(1180px,calc(100% - 36px))}.drawer-panel:focus{outline:none}.drawer-panel{position:relative}.drawer-resize{position:absolute;left:0;top:0;bottom:0;width:10px;cursor:ew-resize;touch-action:none;z-index:1}.drawer-resize:after{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:transparent}.drawer-resize:hover:after,.drawer-resize:focus-visible:after{background:var(--accent)}.drawer-resize:focus-visible{outline:none}.drawer-panel[style*=width]{transition:none}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.drawer-title-block{min-width:0}.drawer-kicker{display:block;color:var(--accent);font:600 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.drawer-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.drawer-icon-button{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-size:18px;line-height:1;cursor:pointer}.drawer-icon-button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.drawer-close{font-size:20px}.drawer-maximize{font-size:16px}.detail-list{display:grid;gap:10px;margin-top:22px}.detail-list div{padding:11px 0;border-bottom:1px solid var(--border)}.detail-list small{display:block;color:var(--muted);margin-bottom:3px}.ui-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a142359;transition:opacity .16s ease}.ui-backdrop[data-starting-style],.ui-backdrop[data-ending-style]{opacity:0}.ui-dialog{position:fixed;top:50%;left:50%;z-index:61;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:var(--ui-dialog-padding, 22px);box-shadow:0 18px 50px #1720332e;transition:opacity .16s ease,transform .16s ease}.ui-dialog[data-starting-style],.ui-dialog[data-ending-style]{opacity:0;transform:translate(-50%,-46%)}.ui-dialog-title{margin:0;font-size:var(--ui-dialog-title-size, 17px);font-weight:600;letter-spacing:-.01em}.ui-dialog-desc{margin:8px 0 0;color:var(--muted);font-size:var(--ui-dialog-font-size, 13.5px);line-height:var(--ui-dialog-line-height, 1.55)}.ui-dialog-details{margin-top:10px;max-height:min(45vh,320px);overflow:auto;color:var(--fg);font-size:13px;line-height:1.55}.ui-dialog-details ul{margin:4px 0 0;padding-left:18px}.ui-dialog-details li+li{margin-top:2px}.ui-dialog-details h4{margin:10px 0 0;font-size:12px;color:var(--muted);font-weight:600}.ui-dialog-details h4:first-child{margin-top:0}.ui-modal{position:fixed;top:50%;left:50%;z-index:61;transform:translate(-50%,-50%);width:min(calc(100vw - 32px),max(520px,50vw));max-height:min(86vh,780px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 60px #17203338;transition:opacity .16s ease,transform .16s ease}.ui-modal[data-starting-style],.ui-modal[data-ending-style]{opacity:0;transform:translate(-50%,-46%)}.ui-modal.is-maximized{width:calc(100vw - 32px);max-height:calc(100vh - 32px)}.ui-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:var(--ui-modal-head-padding, 15px 20px 11px);border-bottom:1px solid var(--border);flex-shrink:0}.ui-modal-title{margin:0;font-size:var(--ui-modal-title-size, 15.5px);font-weight:600;letter-spacing:-.01em}.ui-modal-body{padding:var(--ui-modal-body-padding, 13px 20px 18px);overflow:auto;flex:1 1 auto;min-height:0}.ui-modal-close{flex:none;width:28px;height:28px;margin:-2px -4px 0 0;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);font-size:17px;line-height:1;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease}.ui-modal-close:hover{background:var(--surface-2);color:var(--fg)}.ui-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){.ui-modal,.btn,.drawer-panel{transition:none}.btn:hover{transform:none}}.ff-card{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;padding:var(--ui-field-padding, 9px 12px);margin-bottom:var(--ui-field-gap, 8px)}.ff-card.invalid{border-color:#d6454566;background:#d645450a}.ff-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ff-name{font-weight:600;font-size:var(--ui-field-label-size, 12px);color:var(--fg)}.ff-desc{color:var(--muted);font-size:var(--ui-field-hint-size, 10.5px);margin:2px 0 7px;line-height:1.45}.ff-card>.ff-head+.ff-input,.ff-card>.ff-head+.ff-select,.ff-card>.ff-head+.ff-seg{margin-top:7px}.ff-badge{font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:2px 7px;border-radius:var(--radius-pill);white-space:nowrap}.ff-badge.valid{background:var(--accent-soft);color:var(--accent)}.ff-badge.error{background:#d645451f;color:var(--danger)}.ff-input,.ff-select{width:100%;box-sizing:border-box;font:inherit;font-size:var(--ui-control-font-size, 12.5px);border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:7px;padding:var(--ui-control-padding, 7px 10px);min-height:var(--ui-control-height, 32px)}.ff-input:focus,.ff-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ff-input:disabled,.ff-select:disabled{background:var(--border-soft);color:var(--muted);cursor:not-allowed}.ff-card .err{display:block;margin-top:6px;color:var(--danger);font-size:11px}.ff-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:7px}.ff-seg button{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:7px;padding:var(--ui-control-padding, 7px 10px);font:inherit;font-size:var(--ui-control-font-size, 12.5px);font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease}.ff-seg button:hover:not(.active){border-color:var(--accent)}.ff-seg button.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 14px #1769e033}.ff-radio-group{display:grid;gap:6px}.ff-radio-group.inline{grid-auto-flow:column;grid-auto-columns:1fr}.ff-card>.ff-head+.ff-radio-group{margin-top:7px}.ff-radio-option{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:7px;padding:var(--ui-control-padding, 7px 10px);font-size:var(--ui-control-font-size, 12.5px);cursor:pointer;transition:border-color .12s ease,background .12s ease}.ff-radio-option:hover:not(.disabled):not(.checked){border-color:var(--accent)}.ff-radio-option.checked{border-color:var(--accent);background:var(--accent-soft)}.ff-radio-option.disabled{cursor:not-allowed;color:var(--muted);background:var(--border-soft)}.ff-radio-option input{margin:2px 0 0;accent-color:var(--accent);flex:none}.ff-radio-option input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ff-radio-text{display:grid;gap:1px;min-width:0}.ff-radio-label{font-weight:600}.ff-radio-desc{color:var(--muted);font-size:11px;line-height:1.45}.ff-card.invalid .ff-radio-option:not(.checked){border-color:#d6454566}.ff-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px}.ff-stat{background:var(--accent-soft);border:1px solid var(--border-soft);border-radius:10px;padding:7px 10px}.ff-stat .k{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.ff-stat .v{font-size:13px;font-weight:600;color:var(--fg);margin-top:2px}.combo-input{width:100%;border:1px solid var(--border);background-color:var(--surface);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:var(--fg);border-radius:6px;padding:var(--ui-combo-padding, 6px 34px 6px 10px);min-height:var(--ui-control-height, 30px);font:inherit}.combo-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1769e029}.ui-positioner{z-index:61}.ui-popup{z-index:61;min-width:220px;max-height:260px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 30px #17203324;padding:var(--ui-popup-padding, 4px)}.ui-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--ui-option-padding, 8px 10px);border-radius:6px;font-size:var(--ui-option-font-size, 13.5px);cursor:default}.ui-item[data-highlighted]{background:var(--accent-soft);color:var(--accent)}.ui-item[data-selected]{font-weight:600}.ui-empty{padding:10px;color:var(--muted);font-size:13px;text-align:center}@media (prefers-reduced-motion: reduce){.ui-backdrop,.ui-dialog,.ff-radio-option{transition:none}}@scope ([data-ui-style-scope]){.page-head{gap:var(--ui-page-head-gap, 16px);margin-bottom:var(--ui-page-head-margin, 14px)}h1{font-size:var(--ui-h1-size, 22px);line-height:var(--ui-heading-line-height, 1.3)}h2{font-size:var(--ui-h2-size, 16px)}h3{font-size:var(--ui-h3-size, 14px)}.btn{padding:var(--ui-button-padding, 6px 12px);min-height:var(--ui-button-height, 30px)}.action-row{gap:var(--ui-action-gap, 8px)}.card{padding:var(--ui-card-padding, 14px)}.filters{gap:var(--ui-filter-gap, 8px);margin-bottom:var(--ui-filter-margin, 12px)}.filters input,.filters select{padding:var(--ui-filter-padding, 6px 12px);min-height:var(--ui-control-height, 30px)}.inline-select{min-height:var(--ui-control-height, 30px);padding:var(--ui-inline-padding, 6px 10px)}.data-table,.management-table{min-width:var(--ui-table-min-width, 760px);font-size:var(--ui-table-font-size, inherit)}.data-table th,.data-table td,.management-table th,.management-table td{padding:var(--ui-table-cell-padding, 7px 12px)}.data-table th,.management-table th{font-size:var(--ui-table-header-size, 11px);padding:var(--ui-table-header-padding, var(--ui-table-cell-padding, 7px 12px))}.table-pager{padding:var(--ui-pager-padding, 14px 16px)}.pager-summary{font-size:var(--ui-pager-font-size, 13px)}.pager-controls{gap:var(--ui-pager-gap, 14px);font-size:var(--ui-pager-font-size, 13px)}.pager-controls button{height:var(--ui-pager-button-height, 34px);padding:var(--ui-pager-button-padding, 5px 11px);font-size:var(--ui-pager-font-size, 13px)}.drawer-panel{padding:var(--ui-drawer-padding, 26px)}.ui-dialog{padding:var(--ui-dialog-padding, 22px)}.ui-dialog-title{font-size:var(--ui-dialog-title-size, 17px)}.ui-dialog-desc{font-size:var(--ui-dialog-font-size, 13.5px);line-height:var(--ui-dialog-line-height, 1.55)}.ui-modal-head{padding:var(--ui-modal-head-padding, 15px 20px 11px)}.ui-modal-title{font-size:var(--ui-modal-title-size, 15.5px)}.ui-modal-body{padding:var(--ui-modal-body-padding, 13px 20px 18px)}.ff-card{padding:var(--ui-field-padding, 9px 12px);margin-bottom:var(--ui-field-gap, 8px)}.ff-name{font-size:var(--ui-field-label-size, 12px)}.ff-desc{font-size:var(--ui-field-hint-size, 10.5px)}.ff-input,.ff-select{font-size:var(--ui-control-font-size, 12.5px);padding:var(--ui-control-padding, 7px 10px);min-height:var(--ui-control-height, 32px)}.ff-seg button,.ff-radio-option{padding:var(--ui-control-padding, 7px 10px);font-size:var(--ui-control-font-size, 12.5px)}.combo-input{padding:var(--ui-combo-padding, 6px 34px 6px 10px);min-height:var(--ui-control-height, 30px)}.ui-popup{padding:var(--ui-popup-padding, 4px)}.ui-item{padding:var(--ui-option-padding, 8px 10px);font-size:var(--ui-option-font-size, 13.5px)}}.ui-flat[data-ui-style-scope]{--font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-display: var(--font);--mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;font:13px/1.5 var(--font);-webkit-font-smoothing:antialiased}.ui-flat[data-ui-style-scope] h1{font:700 22px/1.3 var(--font);letter-spacing:-.01em}.ui-flat[data-ui-style-scope] h2{font:650 15px/1.5 var(--font);letter-spacing:-.01em}.ui-flat[data-ui-style-scope] h3{font:650 13.5px/1.5 var(--font)}.ui-flat[data-ui-style-scope] .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:500 13px/1.5 var(--font);min-height:30px;padding:6px 12px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;box-shadow:none;transform:none;transition:background .16s,border-color .16s,transform .1s}.ui-flat[data-ui-style-scope] .btn:hover{border-color:var(--border-2);background:var(--surface-2);color:var(--fg);box-shadow:none;transform:none}.ui-flat[data-ui-style-scope] .btn.primary,.ui-flat[data-ui-style-scope] .btn.active{background:var(--accent);color:var(--surface);border-color:var(--accent);box-shadow:none}.ui-flat[data-ui-style-scope] .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ui-flat[data-ui-style-scope] .btn:active{transform:translateY(1px)}.ui-flat[data-ui-style-scope] .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ui-flat[data-ui-style-scope] .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-flat[data-ui-style-scope] .card{box-shadow:none;border-radius:10px;border-color:var(--border-soft)}.ui-flat[data-ui-style-scope] .filters{align-items:center;gap:8px}.ui-flat[data-ui-style-scope] .filters input,.ui-flat[data-ui-style-scope] .filters select{font:400 12px/1.5 var(--font);min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.ui-flat[data-ui-style-scope] .filters input{min-width:230px}.ui-flat[data-ui-style-scope] .filters input::placeholder{color:var(--meta)}.ui-flat[data-ui-style-scope] .management-table{font-size:13px}.ui-flat[data-ui-style-scope] .management-table th,.ui-flat[data-ui-style-scope] .management-table td{padding:7px 12px}.ui-flat[data-ui-style-scope] .management-table th{font-size:11px;font-weight:600}.ui-flat[data-ui-style-scope] .management-table td{border-bottom-color:var(--border-soft)}.ui-flat[data-ui-style-scope] .pill{line-height:1.35;font-weight:400}.ui-flat[data-ui-style-scope] .link-button{font-weight:500}.ui-flat[data-ui-style-scope] .ui-menu-positioner{z-index:80}.ui-flat[data-ui-style-scope] .ui-menu-popup{min-width:154px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 60px color-mix(in srgb,var(--fg) 22%,transparent)}.ui-flat[data-ui-style-scope] .ui-menu-item{display:block;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;font:400 12.5px/1.5 var(--font);color:var(--fg);cursor:pointer}.ui-flat[data-ui-style-scope] .ui-menu-item[data-highlighted]{background:var(--surface-2);outline:none}.card-spotlight{position:relative;overflow:hidden;--mouse-x: 50%;--mouse-y: 50%;--spotlight-color: color-mix(in srgb, var(--accent) 10%, transparent)}.card-spotlight:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 80%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:.7}.card-spotlight>*{position:relative;z-index:1}.animated-gradient-text{display:inline-flex;max-width:fit-content;overflow:hidden}.animated-gradient-text .text-content{display:inline-block;background-clip:text;-webkit-background-clip:text;color:transparent}.scroll-list-container{position:relative;width:100%}.scroll-list{max-height:230px;overflow-y:auto;padding:8px;outline:none;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.rb-list-item{padding:9px 11px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin-bottom:7px;background:var(--surface);color:var(--muted);cursor:pointer}.rb-list-item.selected{border-color:var(--accent-border);color:var(--accent)}.top-gradient,.bottom-gradient{position:absolute;left:0;right:0;height:28px;pointer-events:none}.top-gradient{top:0;background:linear-gradient(to bottom,var(--surface),transparent)}.bottom-gradient{bottom:0;background:linear-gradient(to top,var(--surface),transparent)}.aurora-container{width:100%;height:100%}.click-spark{position:relative;width:100%;min-height:100%}.click-spark-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:5}:root[data-theme=warm]{--bg: #f2f4f7;--surface: rgba(255, 255, 255, .78);--surface-2: #f6f8fa;--surface-3: #eceff3;--fg: #16181d;--fg-2: #333947;--muted: #69707f;--meta: #9aa1af;--border: rgba(20, 25, 38, .08);--border-soft: rgba(20, 25, 38, .055);--border-2: rgba(20, 25, 38, .11);--nav: rgba(253, 251, 247, .72);--nav-soft: rgba(246, 246, 250, .58);--accent: #16181d;--accent-2: #17a09a;--accent-soft: rgba(22, 28, 45, .045);--accent-border: rgba(22, 24, 29, .3);--accent-hover: #000000;--accent-wash: rgba(22, 28, 45, .12);--danger: #d64545;--warn: #d97706;--success: #12996a;--focus-ring: 0 0 0 3px rgba(22, 28, 45, .15);--chart-1: #ad4c17;--chart-2: #c08b2a;--chart-3: #2e8b62;--chart-4: #8a4b82;--chart-5: #17a09a;--chart-6: #43639f;--chart-7: #a37a2b;--chart-8: #a03636;--shadow-soft: 0 1px 2px rgba(22, 28, 45, .04), 0 10px 28px -14px rgba(22, 28, 45, .09);--shadow-accent: 0 2px 6px rgba(22, 28, 45, .05), 0 26px 52px -22px rgba(22, 28, 45, .16);--shadow-glow: 0 12px 32px -12px rgba(22, 28, 45, .4);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 18px;--page-gradient: linear-gradient(165deg, #f7f1ea, #eef0f6 46%, #e9f0ee 78%, #f0eef4);--button-gradient: linear-gradient(180deg, #2b3240, #161a22);--metal-gradient: linear-gradient(100deg, #4b5568, #16181d 60%);--aurora-peach: #ffd9bf;--aurora-teal: #bfeee8;--aurora-green: #bfe9d5;--aurora-gold: #ffe7ad;--glass-side: linear-gradient(180deg, rgba(253, 251, 247, .72), rgba(246, 246, 250, .58));--glass-top: rgba(252, 251, 248, .5);--glass-card: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .46));--glass-kpi: linear-gradient(180deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .44));--glass-field: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .88);--glass-border: rgba(255, 255, 255, .62);--glass-border-hover: rgba(255, 255, 255, .85);--hairline: rgba(20, 25, 38, .07);--hairline-strong: rgba(20, 25, 38, .1);--grid-line: rgba(23, 32, 54, .022);--nav-text: rgba(22, 24, 29, .8);--backdrop: rgba(22, 24, 29, .28);--spotlight-color: rgba(23, 160, 154, .16)}:root[data-theme=warm] body{background:var(--page-gradient);background-attachment:fixed}:root[data-theme=warm] .side{background:linear-gradient(180deg,#fdfbf7eb,#f6f6fadb);color:var(--nav-text);border-right:1px solid var(--hairline)}:root[data-theme=warm] .topbar{background:#fcfbf8eb;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=warm] .side .nav a,:root[data-theme=warm] .side .nav-parent,:root[data-theme=warm] .side .nav-label,:root[data-theme=warm] .side .brand strong,:root[data-theme=warm] .side .brand small,:root[data-theme=warm] .side .side-foot{color:var(--nav-text)}:root[data-theme=warm] .side .nav a.active{background:var(--accent-wash);color:var(--fg)}
