@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Wp2ywxg089UriCZaSExdy3sGt9zz86GPwyKK58VXh.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Wp2ywxg089UriCZaSExdy3sGt9zz86GPwyKy58Q.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,html[data-theme=light]{--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--panel: #ffffff;--panel-2: #f8fafc;--bg: #f1f5f9;--bg-elevated: #ffffff;--brand: #0ea5e9;--brand-deep: #0284c7;--wa: #22c55e;--wa-deep: #16a34a;--ok: #059669;--danger: #dc2626;--warning: #d97706;--shadow: 0 10px 40px rgba(15, 23, 42, .08);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);--radius: 1rem;--nav-h: 64px;--font-sans: "DM Sans", system-ui, sans-serif;--font-display: "Space Grotesk", system-ui, sans-serif;--chart-1: #0ea5e9;--chart-2: #22c55e;--chart-3: #a855f7;--chart-4: #f59e0b;--chart-5: #ef4444;--bs-body-bg: var(--bg);--bs-body-color: var(--ink);--bs-border-color: var(--line);--bs-secondary-color: var(--muted);--nav-surface: rgba(244, 247, 245, .86);--nav-border: rgba(13, 79, 138, .08);--hero-surface: linear-gradient(180deg, #eef6f1 0%, #f4f7f5 55%, #f4f7f5 100%);--track-bg: #e8eef2;--track-thumb: #ffffff;--pill-bg: #ecfdf5;--pill-ink: #047857;--plan-surface: var(--panel);--plan-shadow: 0 14px 36px rgba(15, 23, 32, .05);--plan-free-surface: linear-gradient(180deg, #f8fbff 0%, #ffffff 40%);--plan-free-border: rgba(11, 79, 138, .28);--feature-ink: #334155;--price-old-ink: #94a3b8;--auth-surface: #ffffff}html[data-theme=dark]{--ink: #e2e8f0;--muted: #94a3b8;--line: #1e293b;--panel: #0f172a;--panel-2: #1e293b;--bg: #020617;--bg-elevated: #0f172a;--brand: #38bdf8;--brand-deep: #0ea5e9;--wa: #4ade80;--wa-deep: #22c55e;--ok: #34d399;--danger: #f87171;--warning: #fbbf24;--shadow: 0 12px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);--chart-1: #38bdf8;--chart-2: #4ade80;--chart-3: #c084fc;--chart-4: #fbbf24;--chart-5: #f87171;--bs-body-bg: var(--bg);--bs-body-color: var(--ink);--bs-border-color: var(--line);--bs-secondary-color: var(--muted);--nav-surface: rgba(2, 6, 23, .86);--nav-border: rgba(148, 163, 184, .14);--hero-surface: linear-gradient(180deg, #0b1220 0%, #020617 55%, #020617 100%);--track-bg: #1e293b;--track-thumb: #0f172a;--pill-bg: rgba(34, 197, 94, .16);--pill-ink: #4ade80;--plan-surface: var(--panel);--plan-shadow: 0 14px 36px rgba(0, 0, 0, .45);--plan-free-surface: linear-gradient(180deg, #132033 0%, #0f172a 40%);--plan-free-border: rgba(56, 189, 248, .35);--feature-ink: #cbd5e1;--price-old-ink: #64748b;--auth-surface: #020617}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.display{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink)}a{color:var(--brand);text-decoration:none;font-weight:600}a:hover{color:var(--brand-deep);text-decoration:underline}.muted{color:var(--muted)!important}.portal-page{padding-bottom:2rem}.portal-page-title{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.portal-page-sub{color:var(--muted);margin:0 0 1.5rem;font-size:.95rem}.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm);height:100%;transition:transform .15s ease,box-shadow .15s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.kpi-card .kpi-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:.75rem}.kpi-card .kpi-label{font-size:.8rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0}.kpi-card .kpi-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin:.15rem 0 0;line-height:1.2}.kpi-icon.sky{background:#0ea5e926;color:var(--brand)}.kpi-icon.green{background:#22c55e26;color:var(--wa)}.kpi-icon.violet{background:#a855f726;color:#a855f7}.kpi-icon.amber{background:#f59e0b26;color:var(--warning)}.kpi-icon.rose{background:#ef444426;color:var(--danger)}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:1.25rem}.panel-card .panel-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.panel-card .panel-card-header h2,.panel-card .panel-card-header h3{font-size:1.1rem;font-weight:700;margin:0}.chart-box{position:relative;height:260px;width:100%}.table-modern{--bs-table-bg: transparent;--bs-table-color: var(--ink);--bs-table-border-color: var(--line);--bs-table-striped-bg: var(--panel-2);--bs-table-hover-bg: color-mix(in srgb, var(--brand) 8%, transparent);margin:0;font-size:.9rem}.table-modern th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;border-bottom-width:1px;white-space:nowrap}.table-modern td{vertical-align:middle}.badge-soft{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.badge-soft.ok{background:#0596691f;color:var(--ok);border-color:#05966940}.badge-soft.off{background:#dc26261f;color:var(--danger);border-color:#dc262640}.badge-soft.info{background:#0ea5e91f;color:var(--brand);border-color:#0ea5e940}.badge-soft.warn{background:#d977061f;color:var(--warning);border-color:#d9770640}.keybox{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;background:var(--panel-2);border:1px solid var(--line);border-radius:.75rem;padding:.75rem 1rem;word-break:break-all;margin-top:.5rem}.alert-banner{border-radius:var(--radius);padding:.9rem 1.1rem;margin-bottom:1.25rem;border:1px solid transparent;font-size:.92rem}.alert-banner.danger{background:#dc26261f;border-color:#dc26264d;color:var(--danger)}.alert-banner.warning{background:#d977061f;border-color:#d977064d;color:var(--warning)}.alert-banner a{color:inherit;text-decoration:underline}.btn-portal-primary{--bs-btn-bg: var(--wa);--bs-btn-border-color: var(--wa);--bs-btn-hover-bg: var(--wa-deep);--bs-btn-hover-border-color: var(--wa-deep);--bs-btn-color: #052e16;--bs-btn-hover-color: #052e16;font-weight:700;border-radius:.75rem}.btn-portal-navy{--bs-btn-bg: var(--brand);--bs-btn-border-color: var(--brand);--bs-btn-hover-bg: var(--brand-deep);--bs-btn-hover-border-color: var(--brand-deep);--bs-btn-color: #fff;--bs-btn-hover-color: #fff;font-weight:600;border-radius:.75rem}.btn-portal-ghost{--bs-btn-color: var(--ink);--bs-btn-border-color: var(--line);--bs-btn-bg: transparent;--bs-btn-hover-bg: var(--panel-2);--bs-btn-hover-border-color: var(--line);--bs-btn-hover-color: var(--ink);border-radius:.75rem}.form-control,.form-select{background-color:var(--panel-2);border-color:var(--line);color:var(--ink);border-radius:.75rem}.form-control:focus,.form-select:focus{background-color:var(--panel);border-color:var(--brand);color:var(--ink);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand) 25%,transparent)}.form-label{font-size:.82rem;color:var(--muted);font-weight:600}.modal-content{background:var(--panel);color:var(--ink);border-color:var(--line);border-radius:var(--radius)}.modal-header,.modal-footer{border-color:var(--line)}.btn-close{filter:none}html[data-theme=dark] .btn-close{filter:invert(1) grayscale(100%)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.2rem;font-weight:700;border:1px solid transparent;transition:.15s ease;cursor:pointer;font:inherit}.btn-primary{background:linear-gradient(135deg,var(--wa-deep),var(--wa));color:#04140f}.btn-navy{background:linear-gradient(135deg,var(--brand-deep),var(--brand));color:#fff}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;line-height:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.error-box{color:var(--danger);background:#dc26261a;border:1px solid rgba(220,38,38,.3);padding:.75rem .9rem;border-radius:12px;margin:0 0 1rem;font-size:.9rem}.ok-box{color:var(--ok);background:#0596691a;border:1px solid rgba(5,150,105,.3);padding:.75rem .9rem;border-radius:12px;margin:0 0 1rem;font-size:.9rem}.field{margin-bottom:.75rem}.field label{display:block;font-size:.82rem;color:var(--muted);margin:0 0 .3rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;background:var(--panel);color:var(--ink);outline:none}.wrap{width:min(1120px,calc(100% - 2rem));margin:0 auto}.hidden{display:none!important}
