:root{--navy:#071433;--blue:#2563EB;--blue2:#1D4ED8;--sky:#38BDF8;--cyan:#22DEFB;--amber:#FBBF24;--g900:#111827;--g700:#374151;--g200:#E5E7EB;--teal:var(--blue);--teal2:var(--sky);--tealbg:#eff6ff;--bg:#f5f7fb;--card:#fff;--txt:var(--g900);--mut:#6b7280;--bd:var(--g200);--red:#dc2626;--r:12px}
*{box-sizing:border-box}html,body{overflow-x:hidden}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:15px;line-height:1.5}
header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:0 2px 8px #0002}
header h1{font-size:18px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
main{max-width:1200px;margin:0 auto;padding:16px}
.hidden{display:none!important}
button,.btn{font:inherit;font-size:14px;padding:8px 14px;border:0;border-radius:8px;cursor:pointer;background:var(--teal);color:#fff;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
button:hover{filter:brightness(1.05)}button:disabled{opacity:.5;cursor:default}
.sec{background:#fff;color:var(--txt);border:1px solid var(--bd)}.danger{background:var(--red)}.ghost{background:transparent;color:var(--mut);padding:6px 8px}
.ghost:hover{background:#f3f4f6;color:var(--txt)}.hdr-btn{background:#ffffff26;border:1px solid #ffffff55}
input,select,textarea{font:inherit;font-size:15px;padding:9px 11px;border:1px solid #d1d5db;border-radius:8px;background:#fff;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid #bae6fd;border-color:var(--teal)}
textarea{resize:vertical}label{display:block;font-size:13px;color:#4b5563;margin-bottom:4px;font-weight:500}
.card{background:var(--card);border-radius:var(--r);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;padding:16px}
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.stat{background:#fff;border-radius:var(--r);padding:12px 14px;box-shadow:0 1px 3px #0000000f;border-top:3px solid var(--teal)}
.stat .v{font-size:24px;font-weight:700}.stat .l{font-size:12px;color:var(--mut)}
.stat.ok{border-color:var(--teal2)}.stat.off{border-color:#9ca3af}.stat.bad{border-color:var(--red)}.stat.bad .v{color:var(--red)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--bd);margin-bottom:14px;overflow-x:auto}
.tabs button{background:none;color:var(--mut);border-radius:0;padding:10px 14px;border-bottom:3px solid transparent;font-weight:500}
.tabs button.act{color:var(--teal);border-bottom-color:var(--teal)}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.toolbar .grow{flex:1 1 220px}.toolbar select,.toolbar input[type=date]{width:auto;flex:0 0 auto}
.bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--tealbg);border:1px solid #bfdbfe;padding:8px 12px;border-radius:8px;margin-bottom:10px}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 8px;border-bottom:1px solid #f0f0f0;text-align:start;vertical-align:middle;font-size:14px}
th{color:var(--mut);font-weight:600;font-size:12px;background:#fafafa;position:sticky;top:0}
tr:hover td{background:#fafcfb}td.num{white-space:nowrap}
.muted{color:var(--mut);font-size:12px}.ltr{direction:ltr;unicode-bidi:isolate}
.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{background:var(--tealbg);color:#1e3a8a;border:1px solid #bfdbfe;border-radius:99px;padding:1px 8px;font-size:12px;white-space:nowrap;direction:ltr;unicode-bidi:isolate}
.chip.more{background:#f3f4f6;color:var(--mut);border-color:var(--bd)}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:500;white-space:nowrap}
.b-sent{background:#dcfce7;color:#166534}.b-partial{background:#fef3c7;color:#92400e}.b-failed,.b-error,.b-wa_error,.b-lead_fetch_error{background:#fee2e2;color:#991b1b}
.b-no_active_client,.b-no_client,.b-client_inactive,.b-processing,.b-duplicate{background:#f3f4f6;color:#4b5563}
.switch{position:relative;width:40px;height:22px;display:inline-block;flex:0 0 auto}.switch input{display:none}
.sl{position:absolute;inset:0;background:#d1d5db;border-radius:22px;cursor:pointer;transition:.2s}.sl:before{content:"";position:absolute;width:16px;height:16px;right:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+.sl{background:var(--teal2)}.switch input:checked+.sl:before{transform:translateX(-18px)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.empty{text-align:center;padding:40px 10px;color:var(--mut)}.empty .ico{font-size:34px}
.skel{height:14px;border-radius:6px;background:linear-gradient(90deg,#eee,#f6f6f6,#eee);background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}
.detail td{background:#fafafa}.detail pre{margin:0}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px}
pre.code{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid var(--bd);padding:12px;border-radius:8px;font:13px/1.5 ui-monospace,Menlo,monospace;margin:0 0 12px;unicode-bidi:isolate}
code{direction:ltr;unicode-bidi:isolate;background:#f3f4f6;padding:1px 5px;border-radius:4px;white-space:nowrap;font-size:13px}
.urlrow{display:flex;gap:8px;margin-bottom:12px}.urlrow input{direction:ltr;text-align:left;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.conn{display:grid;grid-template-columns:1fr 1fr;gap:16px}.conn h3{margin-top:0}
/* modal */
.ovl{position:fixed;inset:0;background:#0006;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{background:#fff;border-radius:14px;width:100%;max-width:480px;max-height:90vh;overflow:auto;padding:20px;box-shadow:0 10px 40px #0003}
.modal h3{margin:0 0 14px}.field{margin-bottom:12px}.field .err{color:#b91c1c;font-size:12px;margin-top:3px;min-height:0}
.field.bad input,.field.bad textarea{border-color:var(--red)}.hint{color:var(--mut);font-size:12px}
.mact{display:flex;gap:8px;justify-content:flex-start;margin-top:16px}
#toast{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:90;background:#111827;color:#fff;padding:9px 18px;border-radius:99px;font-size:14px;opacity:0;transition:.25s;pointer-events:none;max-width:90vw}
#toast.show{opacity:1}#toast.bad{background:#b91c1c}
.login-wrap{min-height:calc(100vh - 70px);display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 15% 20%,rgba(56,189,248,.18),transparent 45%),radial-gradient(circle at 85% 80%,rgba(34,222,251,.16),transparent 45%),linear-gradient(160deg,#eff6ff,#eef2f7)}
.login-wrap.hidden{display:none}
.login-card{width:100%;max-width:400px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:20px;padding:36px 30px 24px;box-shadow:0 20px 50px rgba(37,99,235,.15),0 2px 6px rgba(0,0,0,.05);border:1px solid rgba(37,99,235,.1);text-align:center;animation:popIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes popIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.login-logo{width:68px;height:68px;margin:0 auto 14px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,var(--blue2),var(--sky));box-shadow:0 8px 20px rgba(34,222,251,.35)}
.login-title{margin:0;font-size:24px;color:var(--g900)}
.login-sub{margin:6px 0 24px;color:#64748b;font-size:14px}
.login-card form{text-align:start}
.login-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--g700)}
.pw-box{position:relative}
.pw-box input{width:100%;box-sizing:border-box;padding-block:13px;padding-inline:14px 46px;border:1.5px solid #d1d5db;border-radius:12px;font-size:16px;transition:border-color .2s,box-shadow .2s}
.pw-box input:focus{outline:none;border-color:var(--blue2);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.pw-toggle{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);background:none!important;border:none;padding:6px 8px;font-size:18px;cursor:pointer;box-shadow:none!important}
.login-btn{width:100%;margin-top:18px;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,var(--blue2),var(--blue));box-shadow:0 8px 18px rgba(37,99,235,.3);transition:transform .15s,box-shadow .15s,opacity .15s}
.login-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(37,99,235,.35)}
.login-btn:disabled{opacity:.8;cursor:wait;transform:none}
.login-btn .spin{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
.login-btn.loading .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.login-err{display:none;margin-top:14px;padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:14px;animation:shake .35s}
.login-err.show{display:block}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.login-foot{margin-top:22px;font-size:12px;color:#94a3b8}
@media(max-width:640px){.login-card{padding:28px 20px 20px;border-radius:16px}.login-title{font-size:21px}}
.mob{display:none}
@media (max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.conn{grid-template-columns:1fr}}
@media (max-width:640px){
 main{padding:10px}.card{padding:12px}header h1{font-size:16px}
 .stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat .v{font-size:20px}
 .toolbar select,.toolbar input[type=date]{flex:1 1 45%}
 .desk{display:none}.mob{display:block}
 .ccard{border:1px solid var(--bd);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:#fff}
 .ccard .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
 .ccard .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis}
 .ccard .meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--mut);margin:6px 0}
 .ccard .acts{display:flex;justify-content:flex-end;gap:4px}
 .lrow{border:1px solid var(--bd);border-radius:10px;padding:10px;margin-bottom:8px;background:#fff}
 input,select,textarea{font-size:16px}
}
/* overflow guards */
*,*::before,*::after{box-sizing:border-box}
main,section,.card,.panel,.tabpane,#app{min-width:0;max-width:100%}
.stats{grid-template-columns:repeat(6,minmax(0,1fr))}.stat{min-width:0}.stat *{overflow-wrap:anywhere}
.conn{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.conn>*{min-width:0}
.kv{grid-template-columns:max-content minmax(0,1fr)}.kv>*{min-width:0;overflow-wrap:anywhere}
.tbl-wrap{width:100%;max-width:100%;overflow-x:auto}
table{table-layout:fixed;max-width:100%}
td,th{overflow-wrap:anywhere;word-break:break-word}
code,pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
pre{overflow-x:auto}
.toolbar{flex-wrap:wrap;min-width:0}.toolbar>*{min-width:0;max-width:100%}
@media (max-width:900px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.conn{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* reviewer read-only mode */
.ro-badge{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:99px;padding:4px 12px;font-size:13px;font-weight:600;white-space:nowrap;margin-inline-start:auto;margin-inline-end:8px}
body.ro [onclick^="openModal"],body.ro [onclick^="portalDlg"],body.ro [onclick^="delClient"],body.ro [onclick^="bulk"],body.ro #bulk,body.ro .switch,body.ro #c-all,body.ro [onchange^="pick"],body.ro [onchange^="toggle"]{display:none!important}

/* i18n + footer */
[dir=ltr] .switch input:checked+.sl:before{transform:translateX(18px)}
[dir=ltr] .sl:before{right:auto;left:3px}
.hdr-acts{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.lang-btn{font-weight:700;letter-spacing:.5px;min-width:48px;justify-content:center;background:#fff!important;color:var(--teal)!important;border:0!important;box-shadow:0 2px 8px #0002}
.site-foot{max-width:1200px;margin:8px auto 0;padding:18px 16px 28px;text-align:center;font-size:13px;color:#64748b}
.site-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;margin-bottom:8px}
.site-foot a,.login-credit a{color:var(--teal);text-decoration:none;font-weight:600}.site-foot a:hover,.login-credit a:hover{text-decoration:underline}
.credit,.login-credit{line-height:1.6;overflow-wrap:anywhere}
.login-credit{margin-top:10px;font-size:12px;color:#94a3b8}
.login-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin-top:10px;font-size:12px}.login-links a{color:#64748b;text-decoration:none}.login-links a:hover{color:var(--teal);text-decoration:underline}
/* legal pages */
.legal{max-width:820px;margin:24px auto;padding:0 16px}
.legal article{background:#fff;border-radius:16px;padding:32px 36px;box-shadow:0 8px 30px rgba(37,99,235,.08);border:1px solid var(--g200);line-height:1.75}
.legal h1{margin-top:0;font-size:26px;color:var(--g900)}.legal h2{font-size:18px;margin:26px 0 8px;color:var(--teal)}
.legal .upd{color:#64748b;font-size:14px;margin-top:-6px}.legal ul{padding-inline-start:22px}.legal a{color:var(--teal)}
.legal .back{display:inline-block;margin-bottom:12px;color:var(--teal);text-decoration:none;font-weight:600}
@media(max-width:640px){.legal article{padding:22px 18px}.legal h1{font-size:22px}}
#login:not(.hidden) ~ [data-footer]{display:none}

/* Top Webstak branding */
body{font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
header{box-shadow:0 1px 0 rgba(255,255,255,.06),0 4px 16px rgba(7,20,51,.18)}
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:#fff;text-decoration:none}
.brand img{height:34px;width:auto;display:block}
.brand .sep{width:1px;height:22px;background:rgba(255,255,255,.25)}
.brand .nm{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e0f2fe}
.hdr-btn{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff}
.hdr-btn:hover{background:rgba(255,255,255,.16)!important}
.lang-btn{background:var(--cyan)!important;color:var(--navy)!important;border:0!important}
.lang-btn:hover{background:var(--sky)!important}
button:not(.sec):not(.ghost):not(.danger):not(.hdr-btn):not(.pw-toggle):hover{background:var(--blue2)}
.tabs button.act{color:var(--blue);border-color:var(--blue)}
.ro-badge{background:rgba(251,191,36,.15);color:var(--amber);border-color:rgba(251,191,36,.5)}
.stat{border-top-color:var(--blue)}.stat.ok{border-top-color:var(--sky)}.stat.bad{border-top-color:var(--red)}.stat.off{border-top-color:#9ca3af}
/* login */
.login-wrap{background:radial-gradient(900px 500px at 85% -10%,rgba(56,189,248,.18),transparent 60%),radial-gradient(800px 500px at 0% 110%,rgba(37,99,235,.14),transparent 60%),linear-gradient(180deg,#f8fafc,#eef2fb)}
.login-card{border-top:4px solid var(--blue);box-shadow:0 24px 60px rgba(7,20,51,.12),0 2px 6px rgba(7,20,51,.05)}
.login-logo{width:auto;height:auto;background:none;box-shadow:none;border-radius:0;margin:0 auto 18px}
.login-logo img{height:56px;width:auto;display:block;margin:0 auto}
.login-title{font-weight:700;letter-spacing:-.2px}
.login-desc{margin:-12px 0 22px;color:var(--g700);font-size:13.5px;line-height:1.6}
.login-btn{background:var(--blue);box-shadow:0 8px 18px rgba(37,99,235,.28)}.login-btn:hover{background:var(--blue2)}
.pw-toggle{color:#6b7280;display:flex;align-items:center}.pw-toggle svg{width:20px;height:20px}
.login-foot{display:flex;align-items:center;justify-content:center;gap:6px}.login-foot svg{width:14px;height:14px}
.site-foot{border-top:1px solid var(--g200)}
.site-foot a,.login-credit a,.legal a,.legal .back{color:var(--blue)}
.legal h2{color:var(--navy)}.legal article{border-top:4px solid var(--blue)}
@media(max-width:640px){.brand img{height:28px}.brand .sep,.brand .nm{display:none}}

/* home page */
.hm .wrap{max-width:1120px;margin:0 auto;padding:0 20px}.hm .narrow{max-width:780px}
.hdr-login{display:inline-flex;align-items:center;padding:7px 14px;border-radius:8px;color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.hero{background:radial-gradient(700px 380px at 85% 0%,rgba(34,222,251,.18),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(37,99,235,.35),transparent 60%),var(--navy);color:#fff;padding:84px 0 92px;text-align:center}
.hero .eyebrow{display:inline-block;margin:0 0 16px;padding:5px 12px;border:1px solid rgba(56,189,248,.4);border-radius:999px;color:var(--cyan);font-size:13px;font-weight:600}
.hero h1{margin:0 0 14px;font-size:clamp(30px,5vw,50px);line-height:1.15;letter-spacing:-.5px}
.hero .lead{margin:0 auto 30px;max-width:620px;font-size:18px;color:#cbd5e1}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;transition:background .15s}
.btn.pri{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.35)}.btn.pri:hover{background:var(--blue2)}
.btn.ghost2{border:1px solid rgba(255,255,255,.3);color:#fff}.btn.ghost2:hover{background:rgba(255,255,255,.08)}
 .hm .sec{padding:68px 0} .hm .sec.alt{background:#fff;border-block:1px solid var(--g200)}
 .hm .sec h2{margin:0 0 34px;text-align:center;font-size:clamp(24px,3.4vw,32px);color:var(--navy)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{background:#fff;border:1px solid var(--g200);border-radius:14px;padding:22px;box-shadow:0 2px 8px rgba(7,20,51,.04)}
.steps .n{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;margin-bottom:12px}
.steps h3,.feat h3{margin:0 0 6px;font-size:16.5px;color:var(--g900)}.steps p,.feat p{margin:0;color:var(--g700);font-size:14.5px}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{border:1px solid var(--g200);border-radius:14px;padding:22px;background:#f8fafc}
.fi{width:42px;height:42px;border-radius:10px;background:#eff6ff;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.fi svg{width:22px;height:22px}
.pkgs{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:0 auto}
.pkg{position:relative;background:#fff;border:1px solid var(--g200);border-radius:16px;padding:26px;box-shadow:0 4px 16px rgba(7,20,51,.05)}
.pkg.rec{border:2px solid var(--blue);box-shadow:0 18px 40px rgba(37,99,235,.16)}
.pk-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pk-h h3{margin:0;font-size:18px;color:var(--navy)}
.tag{flex:none;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#e0f2fe;color:#075985}.rec .tag{background:var(--amber);color:var(--navy)}
.price{margin:16px 0 14px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.price b{font-size:32px;color:var(--g900)}.price small{color:var(--mut)}
.pkg ul{list-style:none;margin:0;padding:0}.pkg li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--g200);font-size:14.5px}
.pkg .k{color:var(--mut)}.pkg .v{font-weight:600;color:var(--g900);text-align:end}
.cmp-t{text-align:center;margin:44px 0 16px;color:var(--navy)}.cmp-w{max-width:700px;margin:0 auto;overflow-x:auto}
.cmp{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--g200);border-radius:12px;overflow:hidden}
.cmp th,.cmp td{padding:12px 16px;border-bottom:1px solid var(--g200);text-align:start;font-size:14.5px}.cmp thead th{background:var(--navy);color:#fff}.cmp tbody th{color:var(--g700);font-weight:600}
.faq details{background:#f8fafc;border:1px solid var(--g200);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:600;color:var(--g900)}.faq p{margin:10px 0 0;color:var(--g700)}
.contact{text-align:center}.contact .lead{margin:-22px 0 26px;color:var(--g700)}
.cts{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.ct{display:flex;flex-direction:column;gap:4px;min-width:220px;padding:18px 22px;border:1px solid var(--g200);border-radius:14px;background:#fff;text-decoration:none;color:var(--mut);font-size:13px}.ct b{color:var(--blue);font-size:16px}.ct:hover{border-color:var(--blue)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.feats{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.steps,.feats,.pkgs{grid-template-columns:1fr}.hero{padding:56px 0 64px} .hm .sec{padding:48px 0}.hdr-login{padding:6px 10px;font-size:13px}.ct{min-width:0;width:100%}}

/* plain style overrides */
header{box-shadow:none!important;border-bottom:1px solid #1e293b}
.login-wrap{background:var(--bg)!important}
.login-card{background:#fff!important;backdrop-filter:none!important;animation:none!important;border-radius:12px!important;border:1px solid var(--g200)!important;border-top:3px solid var(--blue)!important;box-shadow:none!important}
.login-btn,.login-btn:hover{background:var(--blue)!important;box-shadow:none!important;transform:none!important;border-radius:8px!important}.login-btn:hover{background:var(--blue2)!important}
.login-err{animation:none!important}
.skel{background:#eef0f3!important;animation:none!important}
.card,.stat,.modal,.box,.pkg,.steps li,.feat,.ct{box-shadow:none!important}
.modal{border:1px solid var(--g200)}
#toast{box-shadow:none!important;border:1px solid #0003}
.hero{background:var(--navy)!important;padding:64px 0 70px!important}
.hero .lead{color:#cbd5e1}
.btn{border-radius:8px}.btn.pri{box-shadow:none!important}
.pkg,.steps li,.feat,.ct{border-radius:10px}
.pkg.rec{border:2px solid var(--blue)!important}
.steps .n{width:auto;height:auto;background:none;color:var(--blue);border-radius:0;font-size:14px;margin-bottom:6px}
.feats{gap:0;border-top:1px solid var(--g200)}.feat{background:none;border:0;border-bottom:1px solid var(--g200);border-radius:0;padding:18px 12px}
.ic{width:17px;height:17px;display:block}
.stat{border-top-width:2px!important}

/* client portal */
.p-in{width:100%;padding:12px 14px;border:1px solid var(--g200);border-radius:8px;font:inherit;font-size:15px;background:#fff}.p-in:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.p-app{max-width:980px;margin:0 auto;padding:24px 16px}
.p-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.p-head h1{margin:0 0 6px;font-size:22px;color:var(--navy)}
.p-head>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.p-head h1{margin:0}
.p-nums{display:flex;flex-direction:column;gap:6px;font-size:13px}.p-nums>div{display:flex;gap:6px;flex-wrap:wrap}
.p-card{padding:18px;border:1px solid var(--g200);border-radius:10px;background:#fff}
.p-bar{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.p-bar h2{margin:0;font-size:17px}
.p-lead{border-top:1px solid var(--g200);padding:14px 0}.p-lh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:14px}
.p-lead dl{display:grid;grid-template-columns:minmax(90px,max-content) 1fr;gap:4px 16px;margin:0;font-size:14px}.p-lead dt{color:var(--mut)}.p-lead dd{margin:0;overflow-wrap:anywhere}
.p-pager{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.hidden{display:none!important}
.pa-dlg{border:1px solid var(--g200);border-radius:10px;padding:22px;max-width:440px;width:calc(100% - 32px)}.pa-dlg::backdrop{background:rgba(7,20,51,.45)}
.pa-dlg h3{margin:0 0 6px;color:var(--navy)}.pa-dlg label{display:block;font-size:13px;color:var(--g700);margin:12px 0 4px}
.pa-out{margin-top:14px;padding:12px;border:1px solid var(--amber);border-radius:8px;background:#fffbeb;font-size:14px}.pa-out code{font-size:15px;font-weight:700;user-select:all;direction:ltr;unicode-bidi:embed}
.pa-row{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}

/* home: Top Webstak site style (Heebo, start-aligned hero, pill buttons, centered section titles, numbered process) */
body.home,body.home button{font-family:Heebo,"Segoe UI",system-ui,Arial,sans-serif}
body.home{background:#fff;color:#111827;font-size:16px;line-height:1.6}
body.home header{background:#0b2a6f;border-bottom:1px solid rgba(255,255,255,.1)!important}
body.home .hdr-btn{border-radius:999px}
body.home .hdr-btn.hdr-login{background:var(--blue)!important;border-color:var(--blue)!important;padding:8px 18px;font-weight:700}body.home .hdr-btn.hdr-login:hover{background:var(--blue2)!important}
.hm .hero{background:#0b2a6f;text-align:start;padding:96px 0 104px}
.hm .hero .wrap{max-width:1120px}.hm .hero h1{font-size:clamp(34px,5.4vw,60px);font-weight:800;line-height:1.08;letter-spacing:0;margin:0 0 18px;max-width:760px}
.hm .hero .lead{margin:0 0 34px;max-width:620px;font-size:clamp(17px,2vw,20px);color:#dbe4f5;font-weight:400}
.hm .ctas{justify-content:flex-start}
.hm .btn{border-radius:999px;padding:13px 30px;font-size:16px;font-weight:700}
.hm .btn.pri{box-shadow:none}.hm .btn.ghost2{background:#fff;color:#0b2a6f;border:0}.hm .btn.ghost2:hover{background:#eef2ff}
.hm .sec{padding:80px 0}.hm .sec.alt{background:#f8fafc;border:0}
.hm .sec h2{font-size:clamp(26px,3.2vw,30px);font-weight:700;color:#111827;margin:0 0 44px;line-height:1.25}
.hm .steps{position:relative;gap:24px}
.hm .steps::before{content:"";position:absolute;inset-inline:12%;top:72px;height:2px;background:#bfdbfe}
.hm .steps li{position:relative;text-align:center;border:0;border-radius:10px;padding:64px 22px 24px;margin-top:20px;box-shadow:0 4px 14px rgba(17,24,39,.08)}
.hm .steps .n{position:absolute;top:-20px;inset-inline-start:50%;transform:translateX(50%);width:40px;height:40px;margin:0;font-size:17px;box-shadow:0 0 0 6px #fff}
html[dir=ltr] .hm .steps .n{transform:translateX(-50%)}
.hm .steps h3,.hm .feat h3{font-size:20px;font-weight:700;color:#111827;margin:0 0 8px}.hm .steps p,.hm .feat p{font-size:15px;color:#4b5563}
.hm .feat{background:#fff;border:0;border-radius:10px;box-shadow:0 4px 14px rgba(17,24,39,.08);padding:26px}
.hm .pkg{border-radius:12px;border-color:#e5e7eb;box-shadow:0 4px 14px rgba(17,24,39,.08)}.hm .pkg.rec{box-shadow:0 8px 24px rgba(37,99,235,.14)}
.hm .pk-h h3{font-size:20px;color:#111827}.hm .tag{border-radius:999px}
.hm .faq details{background:#fff;border-color:#e5e7eb;border-radius:10px}.hm .faq summary{font-weight:700}
.hm .ct{border-radius:12px;box-shadow:0 4px 14px rgba(17,24,39,.06);border-color:#e5e7eb}
@media(max-width:900px){.hm .steps::before{display:none}.hm .steps{row-gap:36px}}
@media(max-width:640px){.hm .hero{padding:60px 0 68px}.hm .sec{padding:56px 0}.hm .sec h2{margin-bottom:32px}.hm .ctas .btn{flex:1 1 100%}body.home .hdr-login{padding:6px 12px;font-size:13px}}
body.home main.hm{max-width:none;margin:0;padding:0}
.hm section{margin:0}
body.home .hm .hero{background:#0b2a6f!important;padding:96px 0 104px!important}
body.home .hm .steps::before{top:20px;z-index:0}
body.home .hm .steps li{z-index:1;padding:44px 22px 24px;border:1px solid #e5e7eb;box-shadow:0 4px 14px rgba(17,24,39,.07)!important}
body.home .hm .steps .n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:17px;margin:0}
body.home .hm .feat,body.home .hm .pkg,body.home .hm .ct{box-shadow:0 4px 14px rgba(17,24,39,.07)!important}
@media(max-width:640px){body.home .hm .hero{padding:60px 0 68px!important}}
body.home .hm .sec{border:0!important}
.site-foot .legal-info{margin:10px auto 0;max-width:760px;font-size:11.5px;line-height:1.6;color:#94a3b8;overflow-wrap:anywhere}
.login-legal{margin:12px 0 0;font-size:11px;line-height:1.6;color:#94a3b8;text-align:center;overflow-wrap:anywhere}
.tabs button:hover{background:#f1f5f9!important;color:var(--blue)}
