:root{--bg:#05070f;--bg-soft:rgba(15,23,42,0.65);--panel:rgba(12,17,33,0.75);--panel-muted:rgba(19,27,48,0.75);--border:rgba(148,163,184,0.22);--border-strong:rgba(148,163,184,0.42);--text:#f8fafc;--text-muted:rgba(226,232,240,0.72);--text-faint:rgba(148,163,184,0.72);--accent:#4f8dff;--accent-strong:#2f6df3;--danger:#f87171;--success:#34d399;--warning:#facc15;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--shadow:0 22px 44px rgba(2,6,23,0.4);--shadow-soft:0 0 0 1px rgba(148,163,184,0.12)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(79,141,255,.22),transparent 45%),radial-gradient(circle at top right,rgba(129,140,248,.18),transparent 42%),var(--bg);color:var(--text)}a{color:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(480px,100%);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:28px}.auth-card h1{margin:8px 0 10px;font-size:1.7rem;line-height:1.15}.auth-subtitle{margin:0 0 20px;color:var(--text-muted);font-size:.94rem}.kicker{margin:0;color:var(--text-faint);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.form-grid{display:grid;grid-gap:14px;gap:14px}.label{display:block;font-size:.86rem;color:var(--text-muted);margin-bottom:6px}.input,.select,.textarea{width:100%;border:1px solid var(--border);background:rgba(15,23,42,.55);color:var(--text);border-radius:999px;padding:11px 14px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.textarea{border-radius:var(--radius-sm);resize:vertical;min-height:84px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,141,255,.22)}.btn{border-radius:999px;border:1px solid transparent;padding:10px 16px;font-size:.88rem;font-weight:600;cursor:pointer;transition:filter .14s ease,transform .1s ease,opacity .14s ease,background-color .14s ease}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.52;cursor:not-allowed}.btn-primary{background:linear-gradient(120deg,var(--accent),#7c6df2);color:#fff}.btn-primary:hover:not([disabled]){filter:brightness(1.08)}.btn-secondary{background:rgba(255,255,255,.06);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not([disabled]){background:rgba(255,255,255,.1)}.btn-danger{background:rgba(248,113,113,.15);border-color:rgba(248,113,113,.38);color:#fecaca}.btn-inline{padding:7px 12px;font-size:.79rem}.helper{margin:0;font-size:.8rem;color:var(--text-faint)}.tooltip{position:relative;vertical-align:middle}.tooltip,.tooltip-icon{display:inline-flex;align-items:center}.tooltip-icon{justify-content:center;width:16px;height:16px;margin-left:6px;border:1px solid rgba(148,163,184,.55);border-radius:999px;color:var(--text-faint);font-size:.68rem;font-weight:700;line-height:1;cursor:help;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tooltip-bubble{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:min(320px,calc(100vw - 32px));padding:8px 10px;border-radius:10px;border:1px solid rgba(79,141,255,.3);background:rgba(5,9,19,.96);box-shadow:0 18px 36px rgba(2,6,23,.45);color:var(--text);font-size:.76rem;line-height:1.45;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:90;transition:opacity .14s ease,transform .14s ease,visibility .14s ease}.tooltip-bubble:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(5,9,19,.96)}.tooltip:focus .tooltip-bubble,.tooltip:focus-within .tooltip-bubble,.tooltip:hover .tooltip-bubble{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.tooltip:focus-visible{outline:none}.tooltip:focus-visible .tooltip-icon{color:#fff;border-color:rgba(79,141,255,.8);box-shadow:0 0 0 3px rgba(79,141,255,.22)}.alert{border-radius:var(--radius-sm);border:1px solid var(--border);padding:10px 12px;font-size:.85rem}.alert-error{color:#fecaca;border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.14)}.alert-success{color:#bbf7d0;border-color:rgba(52,211,153,.32);background:rgba(52,211,153,.14)}.alert-warning{color:#fde68a;border-color:rgba(250,204,21,.3);background:rgba(250,204,21,.1)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{border-right:1px solid rgba(148,163,184,.14);background:rgba(5,9,19,.76);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 14px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto}.brand-block{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-md);padding:14px;margin-bottom:18px}.brand-title{margin:2px 0 0;font-size:1.15rem}.nav-group{margin-bottom:20px}.nav-group-title{margin:0 0 8px;padding:0 8px;color:var(--text-faint);font-size:.69rem;letter-spacing:.18em;text-transform:uppercase}.nav-link{display:block;text-decoration:none;border-radius:12px;border:1px solid transparent;color:var(--text-muted);padding:10px 11px;font-size:.9rem;margin-bottom:4px}.nav-link-label{display:block;font-weight:600}.nav-link-meta{display:block;margin-top:4px;font-size:.76rem;line-height:1.35;color:var(--text-faint)}.nav-link:hover{border-color:var(--border);background:rgba(255,255,255,.04);color:var(--text)}.nav-link.active{background:rgba(79,141,255,.2);border-color:rgba(79,141,255,.35);color:#fff}.nav-link.active .nav-link-meta{color:rgba(255,255,255,.78)}.sidebar-footer{margin-top:18px;display:grid;grid-gap:10px;gap:10px}.sidebar-user{font-size:.8rem;color:var(--text-faint);border-top:1px solid rgba(148,163,184,.15);padding-top:12px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:25;background:rgba(5,7,15,.72);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);border-bottom:1px solid rgba(148,163,184,.14)}.topbar-inner{max-width:1360px;margin:0 auto;padding:18px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.topbar h1{margin:6px 0 0;font-size:1.8rem;line-height:1.2}.topbar p{margin:8px 0 0;max-width:680px;color:var(--text-muted)}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.content{width:min(1360px,100%);margin:0 auto;padding:24px;display:grid;grid-gap:16px;gap:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-muted{background:var(--panel-muted);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.panel-pad-sm{padding:12px}.panel-pad-md{padding:18px}.panel-pad-lg{padding:24px}.section-title{margin:0 0 8px;font-size:1rem}.section-meta{margin:0;color:var(--text-faint);font-size:.82rem}.workflow-step{display:grid;grid-gap:14px;gap:14px}.workflow-step-head{justify-content:space-between;flex-wrap:wrap}.workflow-step-head,.workflow-step-title-wrap{display:flex;align-items:flex-start;gap:12px}.workflow-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:999px;background:rgba(79,141,255,.22);border:1px solid rgba(79,141,255,.38);color:#fff;font-size:.82rem;font-weight:700}.workflow-step-title{margin:0 0 4px;font-size:1rem}.workflow-step-aside{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scenario-card-grid,.workflow-grid,.workflow-step-body{display:grid;grid-gap:12px;gap:12px}.scenario-card-grid,.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-card{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.04)}.scenario-card-active{border-color:rgba(79,141,255,.42);background:rgba(79,141,255,.14)}.scenario-card-footer{align-items:flex-start}.scenario-card-footer,.toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.pill-group,.toolbar{align-items:center}.pill-group{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid var(--border);border-radius:999px;padding:6px 11px;font-size:.79rem;color:var(--text-muted);background:rgba(255,255,255,.05)}.pill-on{background:rgba(79,141,255,.22);border-color:rgba(79,141,255,.44);color:#fff}.pill-success{background:rgba(52,211,153,.18);border-color:rgba(52,211,153,.36);color:#d1fae5}.pill-danger{background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.34);color:#fecaca}.grid-2{grid-gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:12px}.grid-3{grid-gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:grid;grid-gap:12px;gap:12px}.info-view-switch{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.info-canvas-shell{display:grid;grid-gap:12px;gap:12px}.info-canvas-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at top left,rgba(79,141,255,.16),transparent 34%),radial-gradient(circle at bottom right,rgba(52,211,153,.12),transparent 30%),rgba(5,9,19,.94);min-height:640px;max-height:78vh;padding:24px}.info-canvas-stage{position:relative}.info-canvas-board{position:relative;transform-origin:top left}.info-canvas-svg{position:absolute;inset:0;overflow:visible;pointer-events:none}.info-canvas-group{position:absolute;border:1px dashed var(--border-strong);border-radius:24px;box-shadow:inset 0 0 0 1px rgba(148,163,184,.12)}.info-canvas-group-label{position:absolute;top:12px;left:14px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--text-muted);font-size:.69rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.info-canvas-node{position:absolute;display:grid;align-content:start;grid-gap:8px;gap:8px;padding:14px;border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 34px rgba(2,6,23,.3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.info-canvas-node-type{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid rgba(148,163,184,.24);border-radius:999px;padding:4px 7px;background:rgba(5,9,19,.34);color:var(--text-faint);font-size:.67rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.info-canvas-node-text{color:var(--text);font-size:.83rem;line-height:1.5;white-space:pre-line}.info-canvas-edge-label{position:absolute;transform:translate(-50%,-50%);border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--text-muted);font-size:.68rem;font-weight:600;white-space:nowrap;box-shadow:0 12px 24px rgba(2,6,23,.28)}.inline{gap:8px}.inline,.spaced{display:flex;align-items:center;flex-wrap:wrap}.spaced{justify-content:space-between;gap:10px}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table td,.data-table th{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.14);font-size:.85rem;vertical-align:top}.data-table th{color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.data-table th,.data-table tr:hover td{background:rgba(255,255,255,.04)}.import-job-row-active td{background:rgba(79,141,255,.08)}.import-job-row-active:hover td{background:rgba(79,141,255,.12)}.job-progress-cell{min-width:220px}.job-progress{width:min(280px,100%);height:8px;accent-color:var(--accent)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem}.mobile-nav-toggle,.mobile-sidebar{display:none}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-nav-toggle{display:inline-flex}.mobile-sidebar{display:block;position:fixed;inset:0;z-index:80}.mobile-sidebar .overlay{position:absolute;inset:0;background:rgba(2,6,23,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-sidebar .drawer{position:relative;width:min(320px,85vw);height:100%;background:rgba(5,9,19,.95);border-right:1px solid var(--border);padding:16px;overflow:auto}}@media (max-width:820px){.grid-2,.grid-3,.scenario-card-grid,.workflow-grid{grid-template-columns:1fr}.info-canvas-scroll{min-height:520px;padding:16px}.content,.topbar-inner{padding-left:14px;padding-right:14px}}