:root,:root[data-theme=dark]{--nx-bg: #0a0a0c;--nx-bg-elevated: #121216;--nx-panel: #16161c;--nx-panel-2: #1c1c24;--nx-border: #26262f;--nx-border-strong: #34343f;--nx-text: #f4f4f6;--nx-text-muted: #9a9aa6;--nx-text-faint: #6a6a76;--nx-accent: #ff7a1a;--nx-accent-strong: #ff9445;--nx-accent-dim: #b34d00;--nx-accent-contrast: #0a0a0c;--nx-glow: 0 0 0 1px rgba(255, 122, 26, .35), 0 0 22px -6px rgba(255, 122, 26, .55);--nx-ok: #35c07a;--nx-warn: #f2b21a;--nx-danger: #ff5a5f;--nx-info: #4aa8ff;--nx-ok-bg: rgba(53, 192, 122, .12);--nx-warn-bg: rgba(242, 178, 26, .12);--nx-danger-bg: rgba(255, 90, 95, .12);--nx-info-bg: rgba(74, 168, 255, .12);--nx-radius: 12px;--nx-radius-sm: 8px;--nx-radius-pill: 999px;--nx-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -12px rgba(0, 0, 0, .7);--nx-shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .8);--nx-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nx-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--nx-space-1: 4px;--nx-space-2: 8px;--nx-space-3: 12px;--nx-space-4: 16px;--nx-space-5: 24px;--nx-space-6: 32px;--nx-space-7: 48px}:root[data-theme=light]{--nx-bg: #f2f3f5;--nx-bg-elevated: #ffffff;--nx-panel: #ffffff;--nx-panel-2: #eceef1;--nx-border: #e3e6ea;--nx-border-strong: #d2d6dc;--nx-text: #1b1e23;--nx-text-muted: #5c636e;--nx-text-faint: #939aa4;--nx-accent: #e8620a;--nx-accent-strong: #ff7a1a;--nx-accent-dim: #ffd9bd;--nx-accent-contrast: #ffffff;--nx-glow: 0 0 0 1px rgba(232, 98, 10, .22), 0 0 16px -8px rgba(232, 98, 10, .4);--nx-shadow: 0 1px 2px rgba(20, 24, 31, .05), 0 6px 20px -14px rgba(20, 24, 31, .18);--nx-shadow-lg: 0 24px 60px -24px rgba(20, 24, 31, .22)}.nx-card{background:var(--nx-panel);border:1px solid var(--nx-border);border-radius:var(--nx-radius);box-shadow:var(--nx-shadow)}.nx-metric-label{font-family:var(--nx-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nx-text-muted)}.nx-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--nx-radius-pill);font-family:var(--nx-font-mono);font-size:11px;letter-spacing:.04em;border:1px solid var(--nx-border-strong);color:var(--nx-text-muted)}.nx-accent-glow{box-shadow:var(--nx-glow)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--nx-bg);color:var(--nx-text);font-family:var(--nx-font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--nx-accent-strong);text-decoration:none}button{font-family:inherit;cursor:pointer;font-size:13px;border:1px solid var(--nx-border-strong);background:var(--nx-panel-2);color:var(--nx-text);border-radius:var(--nx-radius-sm);padding:7px 12px}button:hover{border-color:var(--nx-accent-dim)}button.primary{background:var(--nx-accent);color:var(--nx-accent-contrast);border-color:var(--nx-accent);font-weight:600}button.primary:hover{background:var(--nx-accent-strong)}button.ghost{background:transparent;border-color:transparent}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:13px;width:100%;background:var(--nx-bg-elevated);color:var(--nx-text);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);padding:8px 10px}input:focus,select:focus{outline:none;border-color:var(--nx-accent)}label{display:block;font-size:12px;color:var(--nx-text-muted);margin:0 0 4px}.app{display:grid;grid-template-columns:250px 1fr;height:100vh}.sidebar{background:var(--nx-bg-elevated);border-right:1px solid var(--nx-border);padding:16px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.brand{display:flex;align-items:center;gap:10px}.brand .dot{width:30px;height:30px;border-radius:8px;background:var(--nx-accent);box-shadow:var(--nx-glow);display:grid;place-items:center;color:var(--nx-accent-contrast);font-weight:800}.brand h1{font-size:14px;margin:0;letter-spacing:.01em}.brand small{color:var(--nx-text-faint);font-family:var(--nx-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.main{overflow-y:auto;padding:22px 26px}.switcher{width:100%}.nav button{width:100%;text-align:left;margin-bottom:4px;background:transparent;border-color:transparent;display:flex;align-items:center;gap:9px}.nav button.active{background:var(--nx-panel);border-color:var(--nx-border)}.nav .glyph{width:18px;text-align:center;opacity:.85}.nav .section{font-family:var(--nx-font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--nx-text-faint);margin:10px 0 4px}.pageheader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}.pageheader h2{margin:0;font-size:20px}.sub{color:var(--nx-text-muted);font-size:13px;margin:2px 0 18px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--nx-radius-pill);font-family:var(--nx-font-mono);font-size:10.5px;letter-spacing:.04em;border:1px solid var(--nx-border-strong);color:var(--nx-text-muted)}.badge.accent{color:var(--nx-accent-strong);border-color:var(--nx-accent-dim)}.badge.ok{color:var(--nx-ok);border-color:var(--nx-ok);background:var(--nx-ok-bg)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:4px 0 20px}.kpi{background:var(--nx-panel);border:1px solid var(--nx-border);border-radius:var(--nx-radius);padding:14px}.kpi .label{font-family:var(--nx-font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--nx-text-muted)}.kpi .num{font-size:22px;font-weight:700;font-family:var(--nx-font-mono);margin-top:6px;color:var(--nx-text-faint)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.card{background:var(--nx-panel);border:1px solid var(--nx-border);border-radius:var(--nx-radius);padding:16px;box-shadow:var(--nx-shadow)}.card h3{margin:0 0 4px;font-size:14px}.card .hint{color:var(--nx-text-faint);font-size:12px}.card .empty{margin-top:12px;color:var(--nx-text-faint);font-size:12px;border-top:1px dashed var(--nx-border);padding-top:10px}.flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid var(--nx-border);font-family:var(--nx-font-mono);font-size:11px;letter-spacing:.06em;color:var(--nx-text-muted)}.flow .arrow{color:var(--nx-accent)}.tower{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.tower .card{cursor:pointer;transition:border-color .12s}.tower .card:hover{border-color:var(--nx-accent-dim)}.tower .role{color:var(--nx-text-muted);font-size:12.5px;margin-top:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--nx-border)}.row:last-child{border-bottom:none}.muted{color:var(--nx-text-muted)}.toggle{width:40px;height:22px;border-radius:999px;border:1px solid var(--nx-border-strong);background:var(--nx-panel-2);position:relative;padding:0}.toggle .knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--nx-text-faint);transition:all .14s}.toggle.on{background:var(--nx-accent);border-color:var(--nx-accent)}.toggle.on .knob{left:20px;background:var(--nx-accent-contrast)}table.grid-t{width:100%;border-collapse:collapse;font-size:12.5px}table.grid-t th,table.grid-t td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--nx-border)}table.grid-t th{color:var(--nx-text-muted);font-family:var(--nx-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.perm-cell{text-align:center}.login{display:grid;place-items:center;height:100vh}.login .box{width:min(400px,92vw)}.demo-flag{position:fixed;bottom:12px;right:14px;z-index:20}.save-banner{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;font-size:13px;background:#7f1d1d;color:#fff;box-shadow:0 2px 10px #00000040}.save-banner .ghost{color:#fff;border-color:#ffffff80}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.stack{display:flex;flex-direction:column;gap:8px}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.tabs button{background:transparent;border-color:transparent}.tabs button.active{background:var(--nx-panel);border-color:var(--nx-border);color:var(--nx-text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:24px;z-index:50}.modal{background:var(--nx-panel);border:1px solid var(--nx-border-strong);border-radius:var(--nx-radius);padding:20px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--nx-shadow-lg)}.modal h3{margin:0 0 14px}.form-row{margin-bottom:10px}.form-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px}.kanban-col{background:var(--nx-bg-elevated);border:1px solid var(--nx-border);border-radius:var(--nx-radius);padding:10px;min-height:120px}.kanban-col h4{margin:0 0 2px;font-size:12px;display:flex;justify-content:space-between}.kanban-col .coltot{font-family:var(--nx-font-mono);font-size:10px;color:var(--nx-text-muted);margin-bottom:8px}.lead-card{background:var(--nx-panel);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);padding:9px 10px;margin-bottom:8px}.lead-card .nm{font-size:13px;font-weight:600}.lead-card .co{font-size:11.5px;color:var(--nx-text-muted)}.lead-card .val{font-family:var(--nx-font-mono);font-size:11px;color:var(--nx-accent-strong);margin-top:4px}.lead-card select{margin-top:6px;font-size:11px;padding:4px 6px}.fnl{display:grid;grid-template-columns:120px 1fr 60px;align-items:center;gap:10px;margin:6px 0;font-size:12.5px}.fnl .bar{height:14px;background:var(--nx-accent);border-radius:4px;min-width:2px}.fnl .cnt{font-family:var(--nx-font-mono);text-align:right;color:var(--nx-text-muted)}.linkbtn{background:none;border:none;color:var(--nx-accent-strong);padding:0;cursor:pointer;font-size:12.5px}.assist-fab{position:fixed;right:22px;bottom:22px;z-index:40;width:52px;height:52px;border-radius:999px;font-size:20px;box-shadow:var(--nx-glow)}.assist-panel{position:fixed;right:22px;bottom:84px;z-index:40;width:min(380px,calc(100vw - 44px));height:min(540px,70vh);display:flex;flex-direction:column;padding:0;overflow:hidden}.assist-head{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--nx-border)}.assist-body{flex:1;overflow-y:auto;padding:14px 16px}.assist-input{padding:12px 14px;border-top:1px solid var(--nx-border);gap:8px}.assist-msg{margin:8px 0;padding:10px 12px;border-radius:var(--nx-radius-sm);font-size:13px}.assist-msg.user{background:var(--nx-accent);color:var(--nx-accent-contrast);margin-left:40px}.assist-msg.bot{background:var(--nx-bg-elevated);border:1px solid var(--nx-border)}.chip{text-align:left;background:var(--nx-bg-elevated);border:1px solid var(--nx-border);border-radius:var(--nx-radius-sm);padding:8px 10px;font-size:12.5px;width:100%}.chip:hover{border-color:var(--nx-accent)}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{display:none}}.map-wrap{position:relative;border-radius:var(--nx-radius, 12px);overflow:hidden;border:1px solid var(--nx-border-strong, #2a2a44);background:radial-gradient(130% 120% at 50% 42%,#1b1836,#100e22 55%,#08070f)}.map-wrap svg{display:block;width:100%;height:auto}.map-legend{position:absolute;top:12px;left:14px;color:#cfd0e8;font-family:var(--nx-font-mono, ui-monospace, monospace);font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.map-hint{position:absolute;bottom:12px;right:14px;color:#9a9ac0;font-size:11px}.star{fill:#fff;animation:twinkle 3.2s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.15}50%{opacity:.85}}.map-node{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .15s ease}.map-node:hover{transform:scale(1.18)}.map-node .halo{animation:haloPulse 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes haloPulse{0%,to{opacity:.18;transform:scale(1)}50%{opacity:.5;transform:scale(1.25)}}.map-node .core{transition:filter .15s}.map-node:hover .core{filter:drop-shadow(0 0 7px currentColor)}.map-node .lbl{fill:#e8e8fb;font-size:12px;font-weight:600;paint-order:stroke}.map-node .sub-lbl{fill:#b9b9d8;font-size:9px;opacity:0;transition:opacity .15s;font-family:var(--nx-font-mono, ui-monospace, monospace)}.map-node:hover .sub-lbl{opacity:1}.map-link{stroke:#6a6a9a;stroke-opacity:.35;fill:none;stroke-dasharray:600;stroke-dashoffset:600;animation:drawLink 1.1s ease forwards}@keyframes drawLink{to{stroke-dashoffset:0}}.map-dot{fill:var(--nx-accent, #ff7a1a);opacity:.55}
