:root{color-scheme:light;--canvas: #fbfcff;--canvas-2: #f4f6fc;--surface: #fff;--surface-2: #f8faff;--ink: #0b1020;--ink-soft: #3a4256;--muted: #7a8499;--muted-2: #9aa3b5;--line: #e9edf6;--line-2: #dfe5f1;--primary: #b8800a;--primary-2: #e0a80c;--primary-ink: #8a5e09;--accent: #d3893f;--grad: linear-gradient(120deg, #f7cf3e 0%, #e4ba11 46%, #d3893f 100%);--grad-soft: linear-gradient(135deg, rgba(224, 168, 12, .16), rgba(211, 137, 63, .14));--glow: radial-gradient(60% 60% at 50% 0%, rgba(224, 168, 12, .18), transparent 70%);--draft: #64748b;--draft-bg: #eef1f7;--active: #0ea672;--active-bg: #dcf6ec;--completed: #5b6bd6;--completed-bg: #e7ebfc;--cancelled: #be123c;--cancelled-bg: #fce7eb;--trial: #5b6bd6;--trial-bg: #e7ebfc;--suspended: #d4566f;--suspended-bg: #fbe6ec;--warn: #d97706;--warn-bg: #fdf0dd;--danger: #e11d48;--danger-bg: #fce4ee;--radius: 16px;--radius-lg: 22px;--radius-sm: 10px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(11, 16, 32, .05);--shadow-sm: 0 1px 2px rgba(11, 16, 32, .04), 0 2px 6px rgba(45, 55, 90, .06);--shadow: 0 6px 24px -10px rgba(45, 55, 90, .22);--shadow-lg: 0 24px 60px -20px rgba(45, 55, 90, .32);--sans: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "General Sans", "Satoshi", system-ui, sans-serif;--topbar-bg: rgba(251, 252, 255, .85);--aside-ink: #0b1020}:root[data-theme=dark]{color-scheme:dark;--canvas: #0a0d18;--canvas-2: #11162a;--surface: #141a2c;--surface-2: #1b2238;--ink: #eef2fb;--ink-soft: #c5cde0;--muted: #8a93ad;--muted-2: #626b88;--line: #242c46;--line-2: #313a5c;--primary: #f3c14a;--primary-2: #e0a80c;--primary-ink: #f6cf6a;--accent: #e0a559;--grad-soft: linear-gradient(135deg, rgba(224, 168, 12, .24), rgba(211, 137, 63, .2));--glow: radial-gradient(60% 60% at 50% 0%, rgba(224, 168, 12, .28), transparent 70%);--draft: #9aa6bd;--draft-bg: #222a40;--active: #3ddc97;--active-bg: #11301f;--completed: #9aa6ff;--completed-bg: #1f2748;--cancelled: #fb7185;--cancelled-bg: #3a1620;--trial: #9aa6ff;--trial-bg: #1f2748;--suspended: #fb7185;--suspended-bg: #3a1620;--warn: #f0b357;--warn-bg: #382a12;--danger: #fb7185;--danger-bg: #381726;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .35);--shadow: 0 8px 28px -10px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .7);--topbar-bg: rgba(10, 13, 24, .82)}@font-face{font-family:General Sans;src:url(/fonts/generalsans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/generalsans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/generalsans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/generalsans-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit}input,select{font-family:inherit}h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.15}::selection{background:#e0a80c38}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.between{justify-content:space-between}.center{align-items:center;justify-content:center}.wrap{flex-wrap:wrap}.grow{flex:1}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-24{gap:24px}.muted{color:var(--muted)}.soft{color:var(--ink-soft)}.tiny{font-size:12px}.mono{font-variant-numeric:tabular-nums}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}@media (max-width: 560px){.hide-sm{display:none!important}}.app{display:grid;grid-template-columns:260px 1fr;height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:6px}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;flex:none}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-name{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em;line-height:1}.brand-sub{font-size:11px;color:var(--muted)}.sidebar-footer{margin-top:12px;text-align:center;font-size:11px;color:var(--muted)}.brand-logo{display:inline-flex;align-items:center}.brand-logo img{display:block;height:22px;width:auto}.nav-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--ink-soft);font-weight:500;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--grad-soft);color:var(--primary-ink);font-weight:600}.nav-item.active svg{color:var(--primary)}.nav-item svg{color:var(--muted);flex:none}.main{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}.topbar{height:64px;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;gap:16px;padding:0 28px;flex:none}.search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:9px 16px;width:320px;color:var(--muted)}.search input{border:none;outline:none;background:none;width:100%;font-size:13px;color:var(--ink)}.content{padding:30px 36px 60px;overflow-y:auto;flex:1}.content-narrow{max-width:1180px;margin:0 auto}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--canvas-2) 25%,var(--surface-2) 50%,var(--canvas-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title{font-size:27px;font-weight:600}.page-sub{color:var(--muted);margin-top:4px;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:11px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;font-size:13.5px;transition:transform .12s,box-shadow .15s,background .15s;white-space:nowrap}.btn:hover{box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--grad);color:#2a1d05;border:none;box-shadow:0 10px 22px -10px #d3990b8c}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-soft{background:var(--grad-soft);border-color:transparent;color:var(--primary-ink)}.btn-danger{background:var(--suspended-bg);color:var(--suspended);border-color:transparent}.btn-sm{height:32px;padding:0 12px;font-size:12.5px;border-radius:9px}.btn-icon{width:40px;padding:0}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.card-title{font-family:var(--display);font-weight:600;font-size:16px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stat{position:relative;overflow:hidden;padding:20px}.stat .stat-label{font-size:12.5px;color:var(--muted);font-weight:500}.stat .stat-value{font-family:var(--display);font-size:30px;font-weight:600;letter-spacing:-.03em;margin-top:8px}.stat .stat-ic{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--grad-soft);color:var(--primary)}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;text-transform:capitalize}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-active{background:var(--active-bg);color:var(--active)}.badge-trial{background:var(--trial-bg);color:var(--trial)}.badge-suspended{background:var(--suspended-bg);color:var(--suspended)}.badge-soft{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}.badge-plan{background:var(--grad-soft);color:var(--primary-ink)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}.table td{padding:13px 18px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-2)}.table-card{overflow:auto}.mono-badge{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;flex:none}.who{display:flex;align-items:center;gap:12px}.who .nm{font-weight:600}.who .em{font-size:12px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px}.label{font-size:12.5px;font-weight:600;color:var(--ink-soft)}.req{color:#e11d48}.input,.select{height:42px;border:1px solid var(--line-2);border-radius:11px;padding:0 13px;font-size:14px;color:var(--ink);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e0a80c33}.input-group{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:11px;overflow:hidden;background:var(--surface)}.input-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #e0a80c33}.input-group input{border:none;outline:none;background:none;height:42px;padding:0 13px;flex:1;font-size:14px;color:var(--ink);text-align:right}.input-group .suffix{padding:0 13px;color:var(--muted);font-size:13px;border-left:1px solid var(--line);height:42px;display:flex;align-items:center;background:var(--surface-2)}.pill-group{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px;gap:2px}.pill{padding:6px 14px;border-radius:var(--radius-pill);font-weight:600;font-size:13px;color:var(--muted)}.pill.active{background:var(--grad);color:#2a1d05}.divider{height:1px;background:var(--line);margin:4px 0}.kpi .v{font-family:var(--display);font-size:22px;font-weight:600}.kpi .l{font-size:12px;color:var(--muted)}.section-title{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.client-card{display:flex;flex-direction:column;cursor:pointer;transition:transform .16s,box-shadow .16s}.client-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.stepper{display:flex;align-items:center;gap:8px;margin-bottom:28px}.step{display:flex;align-items:center;gap:10px}.step .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);flex:none}.step.active .dot{background:var(--grad);color:#2a1d05;border:none}.step.done .dot{background:var(--active-bg);color:var(--active);border:none}.step .step-label{font-size:13px;font-weight:600;color:var(--muted)}.step.active .step-label,.step.done .step-label{color:var(--ink)}.step-line{flex:1;height:2px;background:var(--line);min-width:16px}.plan-card{border:1.5px solid var(--line);border-radius:var(--radius);padding:20px;cursor:pointer;transition:border-color .14s,box-shadow .14s;position:relative;background:var(--surface)}.plan-card:hover{border-color:var(--line-2)}.plan-card.sel{border-color:var(--primary);box-shadow:0 0 0 3px #e0a80c33;background:#e0a80c0f}.plan-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center}.plan-name{font-family:var(--display);font-weight:600;font-size:17px}.plan-price{font-family:var(--display);font-size:26px;font-weight:600;margin:8px 0 2px}.plan-feat{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:8px;padding:5px 0}.plan-feat svg{color:var(--accent);flex:none}.url-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface-2)}.url-card .u{font-size:13px;font-weight:600;word-break:break-all}.empty{text-align:center;padding:46px 20px;color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f142880;display:grid;place-items:center;z-index:50;padding:24px}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:88vh;overflow:auto}@media (min-width: 900px){.overlay{padding-left:284px}}.auth{position:relative;min-height:100%;display:grid;place-items:center;padding:48px 24px}.auth-main{width:100%;display:grid;place-items:center}.auth-card{width:100%;max-width:400px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:30px}.auth-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);text-align:center}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.app{grid-template-columns:1fr}}@media (max-width: 760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.content{padding:22px 16px 56px}.page-head{flex-direction:column;align-items:flex-start}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex:none}.att-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}.meter{height:9px;border-radius:999px;background:var(--canvas-2);overflow:hidden}.meter>span{display:block;height:100%;background:var(--grad);border-radius:999px}.switch{position:relative;display:inline-flex;flex:none;cursor:pointer}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:38px;height:22px;border-radius:999px;background:var(--line-2);transition:background .15s;position:relative}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xs);transition:transform .15s}.switch input:checked+.track{background:var(--grad)}.switch input:disabled+.track{opacity:.55;cursor:progress}.switch:has(input:disabled){cursor:progress}.switch input:checked+.track:after{transform:translate(16px)}.detail-grid{grid-template-columns:1.5fr 1fr}.detail-grid>.col{min-width:0}@media (max-width: 1040px){.detail-grid{grid-template-columns:1fr}}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.menu-btn,.scrim{display:none}@media (max-width: 900px){.menu-btn{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:268px;z-index:60;transform:translate(-100%);transition:transform .24s cubic-bezier(.2,.8,.3,1);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.scrim.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f14286b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:55;animation:fade .16s ease}}@keyframes fade{0%{opacity:0}}
