:root{--brand:#10a47b;--brand-600:#0b8b68;--brand-700:#097053;--brand-800:#0a5b45;--brand-050:#eaf7f1;--brand-100:#d2efe3;--brand-200:#a9e0cc;--ink:#15201c;--ink-2:#36423c;--muted:#687670;--faint:#98a39c;--line:#e5e9e3;--line-2:#eef1eb;--bg:#f3f5f1;--surface:#fff;--surface-2:#fafbf8;--ok:#10a47b;--ok-bg:#e8f6f0;--warn:#b5800f;--warn-bg:#fbf1d8;--warn-line:#f0dca6;--danger:#c7422c;--danger-bg:#fbeae6;--danger-line:#f1c9c0;--info:#2c6cac;--info-bg:#e9f1f9;--violet:#6b53c7;--violet-bg:#efebfb;--wa-bg:#e4ddd4;--wa-bubble:#e7ffdb;--wa-bubble-line:#cdebbe;--r-xs:7px;--r-sm:10px;--r:13px;--r-lg:18px;--r-xl:24px;--sh-1:0 1px 2px rgba(20,40,32,.05),0 1px 1px rgba(20,40,32,.04);--sh-2:0 2px 6px rgba(20,40,32,.06),0 1px 2px rgba(20,40,32,.05);--sh-3:0 8px 28px rgba(20,40,32,.1),0 2px 8px rgba(20,40,32,.06);--sh-4:0 20px 60px rgba(15,40,30,.18),0 6px 18px rgba(15,40,30,.1);--font:"Hanken Grotesque",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--solid:#15201c;--solid-fg:#fff;--sidebar-w:254px;--topbar-h:62px;color-scheme:light}:root.dark{--brand:#14b58a;--brand-600:#2bc79c;--brand-700:#6fe0bc;--brand-800:#9cebd2;--brand-050:#14302a;--brand-100:#1a3e35;--brand-200:#2a5a4c;--ink:#e9eeeb;--ink-2:#c3cdc7;--muted:#8e988f;--faint:#69736c;--line:#2a352f;--line-2:#222c27;--bg:#0e1714;--surface:#15201b;--surface-2:#1a2520;--ok:#14b58a;--ok-bg:#14302a;--warn:#e6b452;--warn-bg:#2d2614;--warn-line:#463a1c;--danger:#f28b79;--danger-bg:#2e1a16;--danger-line:#4a2820;--info:#82b2e2;--info-bg:#16242e;--violet:#b7a7f1;--violet-bg:#221e34;--wa-bg:#0b1712;--wa-bubble:#14502f;--wa-bubble-line:#1c6347;--solid:#243029;--solid-fg:#fff;color-scheme:dark}:root.dark .badge-muted{background:#25302a;color:var(--muted)}:root.dark .seg{background:#111a16}:root.dark .seg button.active{background:#2a352f;color:var(--ink)}:root.dark .toggle{background:#3a453f}:root.dark ::-webkit-scrollbar-thumb{background:#2e3a34;border-color:var(--bg)}:root.dark ::-webkit-scrollbar-thumb:hover{background:#3c4942}:root.dark .btn-ghost:hover{background:var(--surface-2);border-color:#36423b}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14.5px;line-height:1.5}#root{min-height:100vh}button{cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--brand-100);color:var(--brand-800)}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;color:var(--ink)}p{margin:0}.mono{font-family:var(--mono);font-feature-settings:"ss01"}.halftone{background-image:radial-gradient(currentColor 1.4px,transparent 1.5px);background-size:13px 13px;color:var(--brand);opacity:.14}.no-halftone .halftone{display:none}.halftone-fade{-webkit-mask-image:radial-gradient(120% 100% at 100% 0,#000 0,transparent 62%);mask-image:radial-gradient(120% 100% at 100% 0,#000 0,transparent 62%)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#d4dad2;border-radius:20px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#bcc4bb}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-sm);border:1px solid transparent;font-size:14px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;transition:all .14s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn svg{width:17px;height:17px}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--sh-1)}.btn-primary:hover{background:var(--brand-600)}.btn-primary:active{background:var(--brand-700)}.btn-ghost{background:transparent;color:var(--ink-2);border-color:var(--line)}.btn-ghost:hover{background:var(--surface-2);border-color:#d9ddd5}.btn-soft{background:var(--brand-050);color:var(--brand-700)}.btn-soft:hover{background:var(--brand-100)}.btn-white{background:#fff;color:#15201c;border-color:#e2e6df;box-shadow:var(--sh-1)}.btn-white:hover{background:#f1f4ef}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{background:#f6ddd6}.btn-dark{background:var(--solid);color:var(--solid-fg)}.btn-dark:hover{filter:brightness(1.18)}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:var(--r-xs)}.btn-sm svg{width:15px;height:15px}.btn-lg{height:46px;padding:0 22px;font-size:15.5px;border-radius:var(--r)}.btn-icon{width:34px;height:34px;padding:0}.btn-icon.btn-sm{width:30px;height:30px}.btn[disabled]{opacity:.5;pointer-events:none}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.card-pad{padding:22px}.badge{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 9px;border-radius:30px;font-size:12px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-ok{background:var(--ok-bg);color:var(--brand-700)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-violet{background:var(--violet-bg);color:var(--violet)}.badge-muted{background:#eef1ec;color:var(--muted)}.badge-dark{background:var(--solid);color:var(--solid-fg)}.badge-live .dot{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.chip-plan{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:7px;font-size:12px;font-weight:700;letter-spacing:-.01em}.chip-premium{background:var(--brand-050);color:var(--brand-700)}.chip-business{background:#2a2622;color:#f4d9a6}.chip-trial{background:var(--violet-bg);color:var(--violet)}.field{display:flex;flex-direction:column;gap:7px}.label{font-size:13px;font-weight:600;color:var(--ink-2)}.hint{font-size:12.5px;color:var(--muted)}.input,.select,.textarea{width:100%;height:40px;padding:0 13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;color:var(--ink);transition:border-color .14s,box-shadow .14s}.textarea{height:auto;padding:11px 13px;resize:vertical;line-height:1.55}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3.5px var(--brand-050)}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input-mono{font-family:var(--mono);letter-spacing:-.02em}.toggle{width:40px;height:23px;border-radius:20px;background:#cfd5cd;position:relative;transition:background .16s;border:none;padding:0;flex:none}.toggle:after{content:"";position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--sh-1);transition:transform .16s}.toggle.on{background:var(--brand)}.toggle.on:after{transform:translateX(17px)}.seg{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px}.seg button{height:30px;padding:0 13px;border:none;background:transparent;border-radius:7px;font-size:13px;font-weight:600;color:var(--muted);transition:all .13s}.seg button.active{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:0 14px 11px;border-bottom:1px solid var(--line)}.tbl td{padding:13px 14px;border-bottom:1px solid var(--line-2);font-size:13.5px;vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .12s}.tbl-hover tbody tr:hover{background:var(--surface-2);cursor:pointer}.avatar{justify-content:center;border-radius:50%;background:var(--brand-050);color:var(--brand-700);font-weight:700;font-size:13px;flex:none}.avatar,.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-2{gap:2px}.gap-3{gap:3px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-11{gap:11px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-18{gap:18px}.gap-20{gap:20px}.gap-22{gap:22px}.gap-24{gap:24px}.gap-26{gap:26px}.gap-28{gap:28px}.gap-32{gap:32px}.grow{flex:1 1}.none{flex:none}.center{align-items:center}.between{justify-content:space-between}.end{justify-content:flex-end}.wrap{flex-wrap:wrap}.start{align-items:flex-start}.muted{color:var(--muted)}.faint{color:var(--faint)}.brand{color:var(--brand-700)}.danger{color:var(--danger)}.warn{color:var(--warn)}.t-xs{font-size:12px}.t-sm{font-size:13px}.t-lg{font-size:16px}.t-xl{font-size:19px}.t-2xl{font-size:24px}.t-3xl{font-size:31px}.w600{font-weight:600}.w700{font-weight:700}.w800{font-weight:800}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.divider{height:1px;background:var(--line);width:100%}.pill-num{font-family:var(--mono);font-size:13px;letter-spacing:-.02em}.note{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r);font-size:13px;line-height:1.5}.note svg{width:17px;height:17px;flex:none;margin-top:1px}.note-warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line)}.note-info{background:var(--info-bg);color:var(--info);border:1px solid color-mix(in srgb,var(--info) 30%,transparent)}.note-ok{background:var(--ok-bg);color:var(--brand-800);border:1px solid var(--brand-200)}.note-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line)}.overlay{position:fixed;inset:0;background:rgba(18,30,25,.46);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .16s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-4);width:100%;max-height:90vh;overflow:auto;animation:pop .18s cubic-bezier(.2,.8,.3,1)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.bar{height:8px;background:var(--line);overflow:hidden}.bar,.bar>i{border-radius:20px}.bar>i{display:block;height:100%;background:var(--brand);transition:width .5s ease}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fin{animation:fin .3s ease}@keyframes fin{0%{transform:translateY(7px)}to{transform:none}}@media (prefers-reduced-motion:reduce){.fin{animation:none}}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.stat-num{font-size:27px;font-weight:800;letter-spacing:-.03em;line-height:1}