:root{--brand:#2563EB;--brand-600:#1D4ED8;--brand-400:#3B82F6;--brand-soft:rgba(37,99,235,.1);--accent:#10B981;--accent-soft:rgba(16,185,129,.12);--pos:#10B981;--pos-soft:rgba(16,185,129,.13);--warn:#F59E0B;--warn-soft:rgba(245,158,11,.14);--danger:#EF4444;--danger-soft:rgba(239,68,68,.13);--violet:#8B5CF6;--violet-soft:rgba(139,92,246,.13);--bg:#F1F5F9;--panel:#FFFFFF;--panel-2:#F8FAFC;--raise:#FFFFFF;--line:#E2E8F0;--line-2:#EEF2F6;--ink:#0F172A;--ink-2:#334155;--muted:#64748B;--faint:#94A3B8;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -12px rgba(15,23,42,.18);--shadow-lg:0 24px 60px -20px rgba(15,23,42,.3);--radius:11px;--radius-sm:8px;--font:"Inter",system-ui,-apple-system,sans-serif}[data-theme=dark]{--brand:#3B82F6;--brand-600:#2563EB;--brand-400:#60A5FA;--brand-soft:rgba(59,130,246,.16);--accent:#34D399;--accent-soft:rgba(52,211,153,.14);--pos:#34D399;--pos-soft:rgba(52,211,153,.15);--warn:#FBBF24;--warn-soft:rgba(251,191,36,.15);--danger:#F87171;--danger-soft:rgba(248,113,113,.15);--violet:#A78BFA;--violet-soft:rgba(167,139,250,.16);--bg:#080C16;--panel:#0F1626;--panel-2:#0C1220;--raise:#131C2E;--line:#1E293B;--line-2:#182234;--ink:#E7EDF5;--ink-2:#C1CDDD;--muted:#8A9BB4;--faint:#5B6B84;--shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px -14px rgba(0,0,0,.6);--shadow-lg:0 28px 70px -24px rgba(0,0,0,.75)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:13.5px;-webkit-font-smoothing:antialiased;font-feature-settings:"cv02","cv03","cv04"}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}h1,h2,h3,h4{margin:0;letter-spacing:-.02em;font-weight:700}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--faint)}::selection{background:var(--brand-soft)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:1px solid var(--line);background:var(--panel);color:var(--ink);transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--panel-2);border-color:var(--faint)}.btn svg{width:16px;height:16px}.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff}.btn.pri:hover{background:var(--brand-600)}.btn.ai{background:linear-gradient(135deg,var(--brand),var(--violet));border:none;color:#fff}.btn.ai:hover{filter:brightness(1.07)}.btn.sm{height:30px;padding:0 10px;font-size:12px}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;line-height:1.4;white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:50%}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.hr{height:1px;background:var(--line);border:0;margin:0}.input{display:flex;align-items:center;height:40px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);padding:0 12px;gap:8px}.input:focus-within{border-color:var(--brand)}.input input{border:none;background:none;outline:none;color:var(--ink);font:inherit;width:100%}.label{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:6px}.skel{background:linear-gradient(90deg,var(--line-2) 25%,var(--line) 50%,var(--line-2) 75%);background-size:200% 100%;animation:sh 1.3s infinite;border-radius:6px}@keyframes sh{to{background-position:-200% 0}}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;min-height:220px}.state .ill{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;margin-bottom:15px}.state .ill svg{width:28px;height:28px}.state h3{font-size:16px;margin:0 0 6px}.state p{color:var(--muted);font-size:13px;max-width:340px;margin:0 0 16px;line-height:1.55}.toaster{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column;gap:9px}.toast{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px;box-shadow:var(--shadow-lg);min-width:280px;animation:rise .2s cubic-bezier(.2,.8,.2,1)}.toast .ti{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.toast .tx{font-size:12.5px;font-weight:600}.toast .ts{font-size:11px;color:var(--muted)}.toast .undo{margin-left:auto;font-size:12px;font-weight:600;color:var(--brand);background:none;border:none}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.app{display:grid;grid-template-columns:auto 1fr;height:100%}.side{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;width:236px;transition:width .18s ease;overflow:hidden;flex-shrink:0}.side.collapsed{width:64px}.brand{display:flex;align-items:center;gap:10px;padding:16px;height:56px;flex-shrink:0}.logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--brand),var(--accent));display:grid;place-items:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px -4px var(--brand)}.logo svg{width:17px;height:17px}.brand b{font-size:15.5px;white-space:nowrap}.brand b i{color:var(--brand);font-style:normal}.nav{padding:6px 10px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1}.nav-h{font-size:10.5px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:14px 10px 5px;white-space:nowrap}.side.collapsed .nav-h{opacity:0}.nav-i{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--ink-2);border:none;background:none;width:100%;text-align:left;font-size:13px;font-weight:500;white-space:nowrap;position:relative}.nav-i svg{width:17px;height:17px;flex-shrink:0}.nav-i:hover{background:var(--panel-2);color:var(--ink)}.nav-i.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.nav-i.on:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.nav-badge{margin-left:auto;font-size:10.5px;font-weight:600;background:var(--danger);color:#fff;border-radius:20px;padding:1px 6px;min-width:18px;text-align:center}.side.collapsed .brand b,.side.collapsed .nav-i span,.side.collapsed .nav-badge{opacity:0;pointer-events:none}.side-foot{padding:10px;border-top:1px solid var(--line);flex-shrink:0}.side.collapsed .side-foot{display:none}.meter{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:11px}.meter-row{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:7px}.meter-row b{color:var(--ink);font-weight:600}.bar{height:5px;background:var(--line);border-radius:20px;overflow:hidden;margin-bottom:9px}.bar i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--brand),var(--accent))}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.top{height:56px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:center;gap:12px;padding:0 16px;flex-shrink:0}.ic-btn{width:34px;height:34px;border-radius:9px;border:1px solid transparent;background:none;color:var(--muted);display:grid;place-items:center}.ic-btn:hover{background:var(--panel-2);color:var(--ink);border-color:var(--line)}.ic-btn svg{width:18px;height:18px}.cmdk{flex:1;max-width:460px;display:flex;align-items:center;gap:9px;height:36px;padding:0 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;color:var(--faint);font-size:13px}.cmdk:hover{border-color:var(--brand);color:var(--muted)}.cmdk svg{width:16px;height:16px}.cmdk kbd{margin-left:auto;font:inherit;font-size:11px;font-weight:600;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:2px 6px;color:var(--muted)}.spacer{flex:1}.avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--violet),var(--brand));color:#fff;display:grid;place-items:center;font-weight:600;font-size:12.5px}.content{flex:1;overflow:hidden;position:relative}.cmd-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061773;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding-top:14vh;animation:fade .12s}@keyframes fade{0%{opacity:0}}.cmd{width:min(580px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-lg);overflow:hidden}.cmd-in{display:flex;align-items:center;gap:11px;padding:15px 17px;border-bottom:1px solid var(--line)}.cmd-in svg{width:18px;height:18px;color:var(--muted)}.cmd-in input{flex:1;border:none;outline:none;background:none;font-size:15px;color:var(--ink);font:inherit}.cmd-list{max-height:340px;overflow-y:auto;padding:7px}.cmd-i{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;font-size:13.5px;color:var(--ink-2);cursor:pointer;border:none;background:none;width:100%;text-align:left}.cmd-i svg{width:16px;height:16px;color:var(--muted)}.cmd-i.on{background:var(--brand-soft);color:var(--brand)}.cmd-i.on svg{color:var(--brand)}.cmd-i .kind{margin-left:auto;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.page{height:100%;overflow-y:auto;padding:24px 28px}.page-h{font-size:21px;margin-bottom:4px}.page-sub{color:var(--muted);font-size:13.5px;margin-bottom:22px}.auth{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 70% -10%,var(--brand-soft),transparent),var(--bg)}.auth-card{width:min(400px,94vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:28px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.auth h1{font-size:19px}.auth .sub{color:var(--muted);font-size:13px;margin:4px 0 22px}.auth .field{margin-bottom:14px}.auth .err{background:var(--danger-soft);color:var(--danger);font-size:12.5px;font-weight:600;padding:9px 12px;border-radius:8px;margin-bottom:14px}.auth .foot{text-align:center;font-size:12.5px;color:var(--muted);margin-top:16px}.auth .foot a{color:var(--brand);font-weight:600;cursor:pointer}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat .l{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600;display:flex;align-items:center;gap:7px}.stat .l svg{width:14px;height:14px}.stat .v{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:6px}.stat .d{font-size:11.5px;color:var(--muted);margin-top:3px}.filterbar{height:52px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:center;gap:9px;padding:0 14px;overflow-x:auto;flex-shrink:0}.fsearch{display:flex;align-items:center;gap:8px;height:34px;padding:0 11px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;min-width:230px;color:var(--muted)}.fsearch svg{width:15px;height:15px}.fsearch input{border:none;background:none;outline:none;color:var(--ink);font:inherit;width:100%}.fchip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}.fchip:hover{border-color:var(--brand);color:var(--brand)}.fchip.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.fchip svg{width:14px;height:14px}.split{display:grid;grid-template-columns:1fr 1fr;height:100%;overflow:hidden}.split.panel-open{grid-template-columns:300px 1fr 1fr}.list-pane{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}.list-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.list-head .cnt{font-size:13px;font-weight:600}.list-head .cnt b{color:var(--brand)}.list-head .sub{font-size:11.5px;color:var(--muted)}.rows{flex:1;overflow-y:auto;position:relative}.prow{display:grid;grid-template-columns:52px 1fr auto;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;position:absolute;left:0;right:0;box-sizing:border-box}.prow:hover,.prow.hot,.prow.sel{background:var(--brand-soft)}.pcheck{position:absolute;left:14px;top:14px;width:16px;height:16px;accent-color:var(--brand);z-index:2;opacity:0}.prow:hover .pcheck,.prow.sel .pcheck{opacity:1}.pthumb{width:52px;height:52px;border-radius:8px;overflow:hidden;flex-shrink:0}.pthumb svg{width:100%;height:100%;display:block}.pmid{min-width:0}.paddr{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcity{font-size:11.5px;color:var(--muted);margin:1px 0 6px}.pchips{display:flex;gap:5px;flex-wrap:wrap}.pright{text-align:right;flex-shrink:0}.pval{font-size:14px;font-weight:700}.peq{font-size:11.5px;font-weight:600;margin-top:2px}.pmeta{font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap}.pacts{position:absolute;right:12px;bottom:9px;display:none;gap:4px}.prow:hover .pacts{display:flex}.qa{width:28px;height:28px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--muted);display:grid;place-items:center}.qa:hover{color:var(--brand);border-color:var(--brand)}.qa svg{width:14px;height:14px}.qa.on{color:var(--warn);border-color:var(--warn)}.map-pane{position:relative;overflow:hidden;background:var(--map-land,#EAF0F6)}.map-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-seg{position:absolute;top:12px;left:12px;display:flex;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);z-index:5}.map-seg button{padding:7px 12px;font-size:12px;font-weight:600;border:none;background:none;color:var(--muted)}.map-seg button.on{background:var(--brand);color:#fff}.map-ctrls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:5}.map-ctrls button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);display:grid;place-items:center;box-shadow:var(--shadow)}.map-ctrls button:hover{color:var(--brand)}.map-ctrls svg{width:16px;height:16px}.pin{position:absolute;transform:translate(-50%,-50%);cursor:pointer;transition:transform .12s}.pin:hover,.pin.hot{transform:translate(-50%,-50%) scale(1.4);z-index:20}.pin-pop{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-lg);width:210px;z-index:25;pointer-events:none}.pin-pop .a{font-size:12.5px;font-weight:700}.pin-pop .b{font-size:11px;color:var(--muted);margin:1px 0 6px}.legend{position:absolute;bottom:12px;left:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 11px;box-shadow:var(--shadow);z-index:5;display:flex;flex-direction:column;gap:5px}.legend .lr{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-2)}.legend .lr i{width:9px;height:9px;border-radius:50%}.bulk{position:absolute;bottom:18px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:12px;padding:9px 10px 9px 16px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-lg);z-index:30}[data-theme=dark] .bulk{background:var(--raise);border:1px solid var(--line)}.bulk .n{font-size:13px;font-weight:600}.bulk .n b{color:var(--brand-400)}.bulk button{height:32px;padding:0 12px;border-radius:8px;font-size:12.5px;font-weight:600;border:none;background:#ffffff1f;color:#fff;display:inline-flex;align-items:center;gap:6px}.bulk button:hover{background:#ffffff38}.bulk button.go{background:var(--brand)}.bulk button svg{width:14px;height:14px}.fpanel{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.fpanel-h{padding:12px 14px;border-bottom:1px solid var(--line);flex-shrink:0}.fpanel-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--muted)}.fpanel-search svg{width:15px;height:15px}.fpanel-search input{border:none;background:none;outline:none;color:var(--ink);font:inherit;width:100%}.fpanel-body{flex:1;overflow-y:auto;padding:8px 0}.fgroup{border-bottom:1px solid var(--line-2)}.fgroup-h{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;border:none;background:none;color:var(--ink);font-size:12.5px;font-weight:700;text-align:left}.fgroup-h svg{width:14px;height:14px;color:var(--muted)}.fgroup-h .chev{margin-left:auto;transition:transform .15s}.fgroup-h .chev.open{transform:rotate(90deg)}.fgroup-body{padding:2px 14px 12px}.frow{margin-bottom:11px}.frow .fl{font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:5px;display:block}.frange{display:flex;gap:8px}.frange input{width:100%;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);padding:0 9px;color:var(--ink);font:inherit;font-size:12.5px;outline:none}.frange input:focus{border-color:var(--brand)}.fopts{display:flex;flex-wrap:wrap;gap:6px}.fopt{font-size:11.5px;padding:5px 9px;border-radius:20px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-2)}.fopt.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.ftoggle{display:flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer}.ftoggle input{accent-color:var(--brand);width:15px;height:15px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061780;z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .15s}.over{position:fixed;top:0;right:0;bottom:0;width:min(720px,94vw);background:var(--bg);z-index:61;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slidein .22s cubic-bezier(.2,.8,.2,1)}@keyframes slidein{0%{transform:translate(40px);opacity:.5}}.o-head{padding:18px 22px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0}.o-hero{display:flex;gap:14px}.o-photo{width:120px;height:90px;border-radius:11px;overflow:hidden;flex-shrink:0}.o-photo svg{width:100%;height:100%;display:block}.o-title h2{font-size:18px}.o-title .c{color:var(--muted);font-size:13px;margin:2px 0 9px}.o-stats{display:flex;gap:22px;margin-top:12px}.o-stat .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}.o-stat .v{font-size:17px;font-weight:700;margin-top:2px}.o-acts{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.tabs{display:flex;gap:2px;padding:0 22px;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0}.tab{padding:11px 13px;font-size:12.5px;font-weight:600;color:var(--muted);border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--ink)}.tab.on{color:var(--brand);border-bottom-color:var(--brand)}.o-body{flex:1;overflow-y:auto;padding:20px 22px}.card-h{font-size:12.5px;font-weight:700;margin-bottom:13px;display:flex;align-items:center;gap:8px}.card-h svg{width:15px;height:15px;color:var(--muted)}.kv{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}.kv .k{font-size:11px;color:var(--muted);margin-bottom:2px}.kv .v{font-size:13.5px;font-weight:600}.gauge{height:8px;border-radius:20px;background:var(--line);overflow:hidden;margin:6px 0}.gauge i{display:block;height:100%;border-radius:20px}.pop{position:absolute;z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);width:260px;padding:10px}.pop h4{font-size:12px;font-weight:700;margin:2px 4px 8px;color:var(--muted)}.pop-list{max-height:200px;overflow-y:auto}.pop-i{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;font-size:13px;width:100%;border:none;background:none;color:var(--ink);text-align:left;cursor:pointer}.pop-i:hover{background:var(--panel-2)}.pop-i .c2{margin-left:auto;font-size:11px;color:var(--faint)}.pop-new{display:flex;gap:6px;padding:8px 4px 4px;border-top:1px solid var(--line-2);margin-top:6px}.pop-new input{flex:1;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);padding:0 9px;color:var(--ink);font:inherit;font-size:12.5px;outline:none}.two-col{display:grid;grid-template-columns:260px 1fr;height:100%;overflow:hidden}.lists-rail{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.lists-rail-h{padding:14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.lists-rail-h b{font-size:14px;font-weight:700}.lists-rail-body{flex:1;overflow-y:auto;padding:8px}.list-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink-2);width:100%;border:none;background:none;text-align:left}.list-item:hover{background:var(--panel-2)}.list-item.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.list-item .n{margin-left:auto;font-size:11px;color:var(--faint);background:var(--panel-2);border:1px solid var(--line);border-radius:20px;padding:1px 7px}.list-item.on .n{background:var(--panel)}.leads{height:100%;display:flex;flex-direction:column;overflow:hidden}.leads-h{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.leads-h h2{font-size:17px}.leads-table{flex:1;overflow-y:auto}.lead-row{display:grid;grid-template-columns:44px 1fr 130px 120px auto;gap:12px;align-items:center;padding:11px 20px;border-bottom:1px solid var(--line-2);cursor:pointer}.lead-row:hover{background:var(--panel-2)}.lead-addr{font-size:13px;font-weight:600}.lead-sub{font-size:11px;color:var(--muted)}.stage-pill{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid var(--line);background:var(--panel);color:var(--ink-2)}.tag{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,92vw);background:var(--panel);z-index:61;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;border-left:1px solid var(--line);animation:slidein .2s cubic-bezier(.2,.8,.2,1)}.drawer-h{padding:16px 18px;border-bottom:1px solid var(--line)}.drawer-b{flex:1;overflow-y:auto;padding:16px 18px}.wfield{margin-bottom:16px}.wlabel{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:7px}.stage-grid{display:flex;flex-wrap:wrap;gap:6px}.stage-opt{font-size:11.5px;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-2)}.stage-opt.on{color:#fff}.notes-in{width:100%;min-height:80px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);padding:10px;color:var(--ink);font:inherit;font-size:13px;resize:vertical;outline:none}.notes-in:focus{border-color:var(--brand)}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--line)}.tl-i{position:relative;margin-bottom:12px}.tl-i:before{content:"";position:absolute;left:-16px;top:3px;width:8px;height:8px;border-radius:50%;background:var(--brand);border:2px solid var(--panel)}.tl-i .t{font-size:12px;font-weight:600}.tl-i .d{font-size:10.5px;color:var(--muted)}.contact{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line-2)}.contact:first-child{border-top:none}.contact .ci{width:32px;height:32px;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}.contact .cv{font-size:13px;font-weight:600}.contact .cs{font-size:11px;color:var(--muted)}.conf{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px}.conf.High{background:var(--pos-soft);color:var(--pos)}.conf.Medium{background:var(--warn-soft);color:var(--warn)}.conf.Low{background:var(--panel-2);color:var(--muted)}.kanban{display:flex;gap:13px;height:100%;overflow-x:auto;padding:20px 24px}.kcol{width:264px;flex-shrink:0;background:var(--panel-2);border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;max-height:100%}.kcol.drop{border-color:var(--brand);background:var(--brand-soft)}.kcol-h{padding:12px 14px;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700}.kcol-h .dot{width:8px;height:8px;border-radius:50%}.kcol-h .n{margin-left:auto;font-size:11px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:1px 8px}.kcol-b{padding:0 10px 10px;display:flex;flex-direction:column;gap:9px;overflow-y:auto}.kcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;cursor:grab}.kcard:hover{border-color:var(--brand);box-shadow:var(--shadow)}.kcard.drag{opacity:.4}.kcard .a{font-size:12.5px;font-weight:600;margin-bottom:3px}.kcard .c{font-size:11px;color:var(--muted);margin-bottom:8px}.kcard .f{display:flex;justify-content:space-between;align-items:center}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061780;z-index:80;display:grid;place-items:center;padding:20px;animation:fade .12s}.modal{width:min(520px,94vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:22px;max-height:86vh;overflow-y:auto}.modal h3{font-size:16px;margin-bottom:4px}.drop-zone{border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;color:var(--muted);font-size:13px;cursor:pointer;background:var(--panel-2)}.drop-zone:hover{border-color:var(--brand);color:var(--brand)}.ai-brief{background:linear-gradient(160deg,var(--brand-soft),transparent);border:1px solid var(--brand);border-radius:14px;padding:2px;margin-bottom:14px}.ai-inner{background:var(--panel);border-radius:12px;padding:16px}.ai-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:3px 9px;border-radius:20px;margin-bottom:11px}.ai-badge svg{width:13px;height:13px}.ai-sum{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin-bottom:14px}.flag{display:flex;gap:9px;padding:9px 11px;border-radius:9px;margin-bottom:6px;font-size:12.5px;line-height:1.45}.flag.p{background:var(--pos-soft)}.flag.n{background:var(--danger-soft)}.flag svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}.flag.p svg{color:var(--pos)}.flag.n svg{color:var(--danger)}.flag b{font-weight:700}.ai-strat{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:14px 0}.ai-strat .s{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:11px;text-align:center}.ai-strat .s .l{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}.ai-strat .s .v{font-size:15px;font-weight:700;margin-top:3px}.ai-strat .s.hl{border-color:var(--brand);background:var(--brand-soft)}.next{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.next button{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:7px 11px;border-radius:8px;border:1px solid var(--brand);background:var(--panel);color:var(--brand)}.next button:hover{background:var(--brand-soft)}.next button svg{width:13px;height:13px}.disc{font-size:10.5px;color:var(--faint);margin-top:12px;line-height:1.5}.chat{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);margin-top:14px}.chat-log{padding:14px;display:flex;flex-direction:column;gap:11px;max-height:340px;overflow-y:auto}.msg{max-width:84%;font-size:12.5px;line-height:1.5;padding:9px 12px;border-radius:12px;white-space:pre-wrap}.msg.u{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}.msg.a{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line);border-bottom-left-radius:4px}.msg .tool{margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--brand-soft);border:1px solid var(--brand);font-size:11.5px;font-weight:600;color:var(--brand);display:flex;align-items:center;gap:7px}.msg .tool svg{width:13px;height:13px}.chat-sug{display:flex;gap:6px;flex-wrap:wrap;padding:0 11px 11px}.chat-sug button{font-size:11px;padding:5px 9px;border-radius:20px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-2)}.chat-sug button:hover{border-color:var(--brand);color:var(--brand)}.chat-in{display:flex;gap:8px;padding:11px;border-top:1px solid var(--line)}.chat-in input{flex:1;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);padding:0 12px;color:var(--ink);font:inherit;font-size:13px;outline:none}.chat-in input:focus{border-color:var(--brand)}.typing i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--muted);margin:0 1px;animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.comp-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--line-2)}.comp-row:first-child{border-top:none}.comp-row.ex{opacity:.5}.comp-row input{accent-color:var(--brand);width:16px;height:16px}.calc-wrap{display:grid;grid-template-columns:1fr 340px;gap:16px}.calc-tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.calc-tabs button{padding:8px 13px;border-radius:9px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;font-weight:600;color:var(--ink-2)}.calc-tabs button.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.calc-field{margin-bottom:13px}.calc-field label{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:5px}.calc-inp{display:flex;align-items:center;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);padding:0 11px;gap:6px}.calc-inp:focus-within{border-color:var(--brand)}.calc-inp span{color:var(--muted);font-size:13px}.calc-inp input{border:none;background:none;outline:none;color:var(--ink);font:inherit;font-size:14px;font-weight:600;width:100%;font-variant-numeric:tabular-nums}.calc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result{background:linear-gradient(160deg,var(--brand),var(--brand-600));border-radius:14px;padding:20px;color:#fff;position:sticky;top:0}.result .big{font-size:12px;opacity:.85;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.result .huge{font-size:32px;font-weight:800;letter-spacing:-.02em;margin:3px 0 2px;font-variant-numeric:tabular-nums}.result .rrow{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid rgba(255,255,255,.16);font-size:13px}.result .rrow b{font-weight:700;font-variant-numeric:tabular-nums}.ll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:13px}.ll{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px;text-align:left;transition:transform .12s,box-shadow .12s;position:relative}.ll:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--faint)}.ll-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:12px}.ll-ic svg{width:19px;height:19px}.ll b{font-size:14px;font-weight:650;display:block}.ll p{font-size:11.5px;color:var(--muted);margin:5px 0 12px;line-height:1.5;min-height:34px}.ll .cnt{font-size:12.5px;font-weight:700;color:var(--brand)}.ll .cnt span{color:var(--muted);font-weight:500}.mkt-tabs{display:flex;gap:6px;margin-bottom:20px}.mkt-tabs button{padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;font-weight:600;color:var(--ink-2)}.mkt-tabs button.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.camp-row{display:grid;grid-template-columns:1fr 90px 90px 90px 90px 80px;gap:10px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line-2);font-size:12.5px}.camp-row.h{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600;border-bottom:1px solid var(--line)}.camp-name{font-weight:600}.channel-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--brand-soft);color:var(--brand);width:fit-content}.tpl-card{border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--panel-2);cursor:pointer}.tpl-card.on{border-color:var(--brand);background:var(--brand-soft)}.tpl-card .k{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}.tpl-card .nm{font-size:13px;font-weight:700;margin:3px 0 6px}.tpl-card .bd{font-size:11px;color:var(--muted);line-height:1.45}.tpl-card .pr{font-size:11px;font-weight:600;color:var(--ink);margin-top:8px}.seg{display:flex;gap:6px}.seg button{flex:1;padding:9px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);font-size:12.5px;font-weight:600;color:var(--ink-2)}.seg button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.lp-card{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:11px;margin-bottom:10px}.lp-url{font-size:11.5px;color:var(--brand);background:var(--brand-soft);padding:3px 8px;border-radius:6px;font-family:ui-monospace,monospace}.auto-card{border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:12px;background:var(--panel)}.auto-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.auto-name{font-size:14px;font-weight:650}.flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow-node{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2)}.flow-node svg{width:13px;height:13px}.flow-node.trig{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.flow-node.cond{border-color:var(--warn);color:var(--warn)}.flow-node.act{border-color:var(--pos);color:var(--pos)}.flow-arrow{color:var(--faint);font-size:14px}.switch{width:38px;height:22px;border-radius:20px;background:var(--line);position:relative;cursor:pointer;transition:background .15s;flex-shrink:0}.switch.on{background:var(--brand)}.switch i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on i{transform:translate(16px)}.opp{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;margin-bottom:9px;background:var(--panel)}.opp .dot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex-shrink:0}.opp .reason{font-size:11px;color:var(--brand);font-weight:600;background:var(--brand-soft);padding:2px 8px;border-radius:5px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin-bottom:20px}.kpi{border:1px solid var(--line);border-radius:13px;padding:16px;background:var(--panel)}.kpi .l{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}.kpi .v{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.kpi .s{font-size:11.5px;color:var(--muted);margin-top:2px}.bars{display:flex;flex-direction:column;gap:9px}.bar-row{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:10px;font-size:12px}.bar-track{height:22px;border-radius:6px;background:var(--panel-2);overflow:hidden}.bar-fill{height:100%;border-radius:6px;background:var(--brand);min-width:2px}.heat{display:grid;gap:3px;margin-top:6px}.heat-cell{aspect-ratio:1;border-radius:4px;position:relative;transition:transform .1s;cursor:pointer}.heat-cell:hover{transform:scale(1.15);z-index:2;outline:2px solid var(--brand)}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.demo-grid .k{font-size:11px;color:var(--muted);margin-bottom:2px}.demo-grid .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.metric-seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;overflow:hidden}.metric-seg button{padding:7px 13px;font-size:12px;font-weight:600;border:none;background:none;color:var(--muted)}.metric-seg button.on{background:var(--brand);color:#fff}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.plan{border:1px solid var(--line);border-radius:15px;padding:20px;background:var(--panel);position:relative;display:flex;flex-direction:column}.plan.featured{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.plan.current{background:var(--brand-soft)}.plan-badge{position:absolute;top:-10px;left:20px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.plan h3{font-size:15px}.plan .price{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:8px 0 2px}.plan .price span{font-size:13px;font-weight:500;color:var(--muted)}.plan .blurb{font-size:12px;color:var(--muted);margin-bottom:14px}.plan ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px;flex:1}.plan li{font-size:12px;display:flex;gap:8px;align-items:flex-start;line-height:1.4}.plan li svg{width:14px;height:14px;color:var(--pos);flex-shrink:0;margin-top:1px}.usage-meter{margin-bottom:14px}.usage-meter .top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.usage-meter .track{height:8px;border-radius:20px;background:var(--panel-2);overflow:hidden}.usage-meter .fill{height:100%;border-radius:20px;background:var(--brand)}.team-row{display:grid;grid-template-columns:1fr 130px 110px 40px;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-2);font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.role-pill{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line)}.check-item{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line-2)}.check-box{width:22px;height:22px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;flex-shrink:0}.check-box.on{background:var(--pos);border-color:var(--pos);color:#fff}.check-item.done .lbl{color:var(--muted);text-decoration:line-through}.lesson{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;margin-bottom:9px}.lesson .num2{width:30px;height:30px;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:700;font-size:13px}.report{max-width:800px;margin:0 auto;background:#fff;color:#0f172a;padding:44px;font-size:13px}.report h1{font-size:24px;margin:0}.report .rmeta{color:#64748b;font-size:12px;margin-top:4px}.report .rband{display:flex;gap:24px;margin:22px 0;padding:18px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.report .rband .l{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:600}.report .rband .v{font-size:20px;font-weight:800;margin-top:2px}.report h2{font-size:14px;border-bottom:2px solid #e2e8f0;padding-bottom:6px;margin:26px 0 12px}.report .rkv{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}.report .rkv .k{color:#64748b;font-size:11px}.report .rkv .v{font-weight:600}.report table{width:100%;border-collapse:collapse;font-size:12px}.report th{text-align:left;color:#94a3b8;font-size:10px;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid #e2e8f0}.report td{padding:7px 8px;border-bottom:1px solid #f1f5f9}.report .rfoot{margin-top:26px;padding-top:14px;border-top:1px solid #e2e8f0;color:#94a3b8;font-size:10.5px;line-height:1.5}.report-bar{position:sticky;top:0;background:var(--panel);border-bottom:1px solid var(--line);padding:12px 20px;display:flex;gap:10px;align-items:center;z-index:5}@media print{.report-bar{display:none}.report{padding:0}body{background:#fff}}.admin-row{display:grid;grid-template-columns:1.6fr 90px 70px 70px 80px 130px;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-2);font-size:12.5px}.admin-row.h{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600;border-bottom:1px solid var(--line)}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600}.status-dot i{width:7px;height:7px;border-radius:50%}.plan-tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;text-transform:capitalize}.plan-tag.trial{background:var(--panel-2);color:var(--muted)}.plan-tag.starter{background:var(--brand-soft);color:var(--brand)}.plan-tag.pro{background:var(--violet-soft);color:var(--violet)}.plan-tag.elite{background:var(--pos-soft);color:var(--pos)}.integ-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}.integ-row .cat{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600;width:80px}.integ-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px}.integ-badge.live{background:var(--pos-soft);color:var(--pos)}.integ-badge.mock{background:var(--warn-soft);color:var(--warn)}.env-key{font-family:ui-monospace,monospace;font-size:10.5px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--muted)}.spin{animation:spin 1s linear infinite}.price-pin{transform:translate(-50%,-50%);color:#fff;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:10px;border:1.5px solid #fff;box-shadow:0 1px 4px #00000059;white-space:nowrap;cursor:pointer;line-height:1.2}.pin.hot .price-pin{z-index:5;transform:translate(-50%,-50%) scale(1.12)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.gl-price-pin{color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:11px;border:1.5px solid #fff;box-shadow:0 1px 5px #0006;white-space:nowrap;cursor:pointer;line-height:1.2;transform:translateZ(0);transition:transform .1s}.gl-price-pin.hot{transform:scale(1.18);z-index:10}.map-pane .mapboxgl-ctrl-group{box-shadow:0 1px 4px #0003}
