:root{--p:#7305E5;--p-d:#5B04B8;--p-dd:#1A0536;--p-50:#F5EEFF;--p-100:#EAD9FF;--p-200:#D6B8FF;--l:#B6F69C;--l-d:#8EE36A;--l-50:#EEFCE6;--bg:#FBF9FF;--line:#ECE4F8;--ink:#1A0536;--mut:#6C5E84;--ok:#16A34A;--warn:#D97706;--bad:#E11D48;--sh:0 1px 2px rgba(26,5,54,.05),0 10px 30px rgba(26,5,54,.07);--disp:'Bricolage Grotesque',ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif;--body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;--hh:56px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--disp);letter-spacing:-.025em;line-height:1.05;font-weight:800}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none;cursor:pointer}
img{max-width:100%;display:block}
.i{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.mut{color:var(--mut)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.4rem;border-radius:999px;font-weight:700;transition:.18s;white-space:nowrap}
.btn-p{background:var(--p);color:#fff;box-shadow:0 8px 20px rgba(115,5,229,.28)}.btn-p:hover{background:var(--p-d);transform:translateY(-1px)}
.btn-l{background:var(--l);color:var(--p-dd)}.btn-l:hover{background:var(--l-d)}
.btn-o{border:1.5px solid var(--line);background:#fff}.btn-o:hover{border-color:var(--p);color:var(--p)}
.btn-d{background:var(--p-dd);color:#fff}.btn-d:hover{background:#2c0a55}
.btn-r{border:1.5px solid #FBD0DA;background:#fff;color:var(--bad)}.btn-r:hover{background:#FFF1F4}
.btn-sm{padding:.5rem 1rem;font-size:.875rem}
.btn[disabled]{opacity:.4;pointer-events:none}




/* nav */
.nav{position:sticky;top:34px;z-index:100;background:rgba(251,249,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:28px;height:72px}
.brand img{height:50px;width:auto}
.nav-links{display:flex;gap:26px;font-weight:600;color:var(--mut);margin-left:12px}.nav-links a:hover{color:var(--p)}
.nav-cta{margin-left:auto;display:flex;gap:10px;align-items:center}
/* hero */
.hero{background:var(--l);position:relative;overflow:hidden;border-radius:0 0 48px 48px}
.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#C8FAB3;right:-120px;top:-160px}
.hero-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:64px 24px 84px}
.pill{display:inline-flex;gap:8px;align-items:center;background:#fff;color:var(--p);font-weight:700;font-size:.85rem;padding:6px 14px 6px 8px;border-radius:99px}
.pill b{background:var(--p);color:#fff;border-radius:99px;padding:2px 9px;font-size:.72rem}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.4rem);color:var(--p);margin:20px 0 18px}
.hero h1 em{font-style:normal;background:var(--p);color:var(--l);padding:0 .18em;border-radius:.22em;display:inline-block;transform:rotate(-2deg)}
.hero p.lead{font-size:1.2rem;max-width:520px;color:#2d1a4d}
.search{margin-top:30px;background:#fff;border-radius:28px;padding:8px;display:grid;grid-template-columns:1.4fr 1fr auto;gap:4px;box-shadow:0 18px 40px rgba(26,5,54,.14);max-width:640px}
.search label{display:flex;flex-direction:column;padding:8px 16px;border-radius:20px;font-size:.72rem;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.search label:hover{background:var(--p-50)}
.search input,.search select{border:0;outline:0;background:transparent;font-size:1rem;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;padding:2px 0}
.search .btn{border-radius:22px;padding:0 1.6rem}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.chip{background:rgba(255,255,255,.7);padding:7px 14px;border-radius:99px;font-weight:600;font-size:.9rem;border:1.5px solid transparent;transition:.15s}
.chip:hover,.chip.on{background:var(--p);color:#fff}
.chips.light .chip{background:#fff;border-color:var(--line)}.chips.light .chip:hover,.chips.light .chip.on{background:var(--p);color:#fff;border-color:var(--p)}
.phone{position:relative;width:310px;margin:0 auto;background:var(--p-dd);border-radius:44px;padding:11px;box-shadow:0 30px 60px rgba(26,5,54,.35);transform:rotate(3deg)}
.ph-s{background:#fff;border-radius:34px;padding:22px 18px 18px;min-height:520px;display:flex;flex-direction:column;gap:12px}
.ph-s .notch{width:90px;height:22px;background:var(--p-dd);border-radius:99px;margin:-8px auto 4px}
.ph-biz{display:flex;gap:10px;align-items:center;padding:10px;border-radius:18px;background:var(--p-50)}
.ph-biz i{font-style:normal;font-size:1.5rem;background:var(--l);width:44px;height:44px;border-radius:14px;display:grid;place-items:center}
.ph-biz b{display:block;font-family:var(--disp);font-size:1rem}.ph-biz small{color:var(--mut)}
.ph-s h4{font-size:.9rem;font-family:var(--body);font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.ph-days{display:flex;gap:6px}.ph-days span{flex:1;text-align:center;padding:7px 0;border-radius:14px;border:1.5px solid var(--line);font-size:.7rem;color:var(--mut);line-height:1.2}.ph-days span b{display:block;font-size:1.05rem;color:var(--ink);font-family:var(--disp)}
.ph-days span.on{background:var(--p);border-color:var(--p);color:#e8d6ff}.ph-days span.on b{color:#fff}
.ph-sl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ph-sl span{padding:8px 0;border-radius:12px;background:var(--p-50);text-align:center;font-weight:700;font-size:.85rem}.ph-sl span.on{background:var(--l)}.ph-sl span.x{opacity:.35;text-decoration:line-through}
.ph-btn{margin-top:auto;background:var(--p);color:#fff;text-align:center;border-radius:99px;padding:13px;font-weight:700}
.float{position:absolute;background:#fff;border-radius:18px;padding:10px 14px;box-shadow:0 14px 34px rgba(26,5,54,.18);font-size:.82rem;font-weight:600;display:flex;gap:10px;align-items:center}
.float i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--l);color:var(--p-dd);font-style:normal}
.float small{display:block;color:var(--mut);font-weight:500}
.f1{left:-90px;bottom:100px;transform:rotate(-4deg)}.f2{right:-40px;top:-14px;transform:rotate(3deg)}
.feat-strip{display:flex;gap:10px 34px;justify-content:center;flex-wrap:wrap;padding:26px 24px;font-weight:700;color:var(--mut)}
.feat-strip span{display:flex;gap:8px;align-items:center}.feat-strip .i{color:var(--p)}
section.sec{padding:72px 0}
.sec-h{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.sec-h h2{font-size:clamp(2rem,4vw,3.1rem)}.sec-h p{max-width:480px;color:var(--mut)}
.eyebrow{font-weight:800;color:var(--p);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bz{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;cursor:pointer;transition:.2s;box-shadow:var(--sh)}
.bz:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(115,5,229,.16)}
.bz-art{height:150px;position:relative;display:grid;place-items:center}
.bz-em{font-size:4rem;filter:drop-shadow(0 8px 12px rgba(26,5,54,.18))}
.bz-tag{position:absolute;left:14px;bottom:12px;background:#fff;border-radius:99px;padding:4px 11px;font-size:.78rem;font-weight:700;display:flex;gap:6px;align-items:center}.bz-tag .i{color:var(--p)}
.fav{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--mut)}.fav.on{color:var(--bad)}.fav.on .i{fill:var(--bad)}
.bz-b{padding:18px 20px 20px}.bz-r{display:flex;justify-content:space-between;gap:10px;align-items:start}
.bz h3{font-size:1.3rem}.rt{display:flex;align-items:center;gap:4px;font-weight:800;font-size:.9rem;background:var(--l-50);padding:3px 9px;border-radius:99px;white-space:nowrap}.rt .i{color:#E7A400;fill:#E7A400}
.bz p{font-size:.92rem;margin:4px 0 16px}.bz-f{display:flex;justify-content:space-between;align-items:center;font-size:.92rem}
.empty{grid-column:1/-1;text-align:center;padding:50px;color:var(--mut)}
.how{background:#fff;border-block:1px solid var(--line)}
.step{padding:30px;border-radius:28px;background:var(--bg);border:1px solid var(--line);position:relative}
.step .n{font-family:var(--disp);font-weight:800;font-size:4.2rem;color:var(--l);-webkit-text-stroke:2px var(--p);line-height:1;margin-bottom:12px}
.step h3{font-size:1.5rem;margin-bottom:8px}.step p{color:var(--mut)}
.biz-sec{background:var(--p-dd);color:#fff;border-radius:48px;margin:0 16px;overflow:hidden}
.biz-in{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;padding:72px 24px}
.biz-sec h2{font-size:clamp(2rem,4vw,3.2rem)}.biz-sec h2 em{font-style:normal;color:var(--l)}
.biz-sec .eyebrow{color:var(--l)}.biz-sec p{color:#cdbbe8}
.fl{list-style:none;margin:26px 0 30px;display:grid;gap:14px}.fl li{display:flex;gap:12px;align-items:start}.fl li i{flex:none;width:34px;height:34px;border-radius:12px;background:rgba(182,246,156,.14);color:var(--l);display:grid;place-items:center}.fl b{display:block;color:#fff}.fl span{color:#bfa9de;font-size:.93rem}
.mock{background:#fff;color:var(--ink);border-radius:26px;padding:16px;box-shadow:0 30px 60px rgba(0,0,0,.35);transform:rotate(-1.5deg)}
.mock-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mock-h b{font-family:var(--disp);font-size:1.1rem}
.mock-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.mock-k div{background:var(--p-50);border-radius:14px;padding:10px 12px}.mock-k small{color:var(--mut);display:block;font-size:.7rem}.mock-k b{font-family:var(--disp);font-size:1.3rem}
.mock-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;height:190px}.mock-g>div{background:repeating-linear-gradient(to bottom,transparent 0 31px,var(--line) 31px 32px);border-radius:12px;position:relative}
.mb{position:absolute;left:4px;right:4px;border-radius:10px;padding:5px 8px;font-size:.7rem;font-weight:700;border-left:4px solid var(--c);background:color-mix(in srgb,var(--c) 15%,#fff)}.mb small{display:block;font-weight:500;color:var(--mut)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:30px;padding:30px;display:flex;flex-direction:column;gap:16px;position:relative}
.plan.hot{background:var(--p);color:#fff;border-color:var(--p);box-shadow:0 24px 50px rgba(115,5,229,.35);transform:translateY(-8px)}
.plan .tag{position:absolute;top:-13px;left:30px;background:var(--l);color:var(--p-dd);font-weight:800;font-size:.75rem;padding:4px 12px;border-radius:99px}
.plan h3{font-size:1.4rem}.price{font-family:var(--disp);font-weight:800;font-size:3rem;letter-spacing:-.03em}.price small{font-size:1rem;font-family:var(--body);font-weight:600;opacity:.7}
.plan ul{list-style:none;display:grid;gap:9px;flex:1}.plan li{display:flex;gap:9px;align-items:start;font-size:.95rem}.plan li .i{color:var(--p);margin-top:3px}.plan.hot li .i{color:var(--l)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.q{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px}.q p{font-size:1.05rem;margin:12px 0 18px}.q .who{display:flex;gap:12px;align-items:center}.q .who i{width:42px;height:42px;border-radius:50%;background:var(--p);color:var(--l);font-style:normal;display:grid;place-items:center;font-weight:800}
.stars{color:#E7A400;display:flex;gap:2px}.stars .i{fill:#E7A400}
details{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 22px;margin-bottom:12px}
summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}summary:after{content:"+";font-size:1.4rem;line-height:1;color:var(--p)}details[open] summary:after{content:"–"}details p{margin-top:10px;color:var(--mut)}
.cta{background:var(--l);border-radius:44px;padding:60px 30px;text-align:center;margin:0 16px 16px}
.cta h2{font-size:clamp(2.2rem,5vw,4rem);color:var(--p);max-width:760px;margin:0 auto 14px}.cta p{max-width:520px;margin:0 auto 26px;font-size:1.1rem}
footer.ft{background:var(--p-dd);color:#bfa9de;margin:16px 16px 16px;border-radius:44px;padding:56px 0 30px}
.ft-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.ft img{height:70px;margin-bottom:12px}.ft h4{font-family:var(--body);color:#fff;font-size:.95rem;margin-bottom:12px}.ft a{display:block;margin-bottom:8px;font-size:.93rem}.ft a:hover{color:var(--l)}
.ft-b{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* flow */
.fh{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:34px;z-index:90}.fh-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.back{display:flex;gap:6px;align-items:center;font-weight:700;color:var(--mut)}.back:hover{color:var(--p)}
.flow>*{min-width:0}.cols>*,.cfg>*,.hello>*{min-width:0}.flow{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding-top:28px;padding-bottom:70px;align-items:start}
.bizhead{display:flex;gap:16px;align-items:center;margin-bottom:20px}.bizhead i{font-style:normal;font-size:2.2rem;width:72px;height:72px;border-radius:22px;display:grid;place-items:center}.bizhead h1{font-size:2rem}
.stepper{display:flex;gap:8px;list-style:none;margin-bottom:20px;flex-wrap:wrap}.stepper li{display:flex;gap:8px;align-items:center;font-weight:700;font-size:.88rem;color:var(--mut);padding:6px 14px 6px 6px;border-radius:99px;background:#fff;border:1px solid var(--line)}
.stepper li b{width:26px;height:26px;border-radius:50%;background:var(--p-50);display:grid;place-items:center;font-size:.8rem}
.stepper li.on{background:var(--p);color:#fff;border-color:var(--p)}.stepper li.on b{background:var(--l);color:var(--p-dd)}.stepper li.ok b{background:var(--l);color:var(--p-dd)}.stepper li.ok{color:var(--ink)}
.panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--sh)}
.panel h2{font-size:1.7rem;margin-bottom:4px}.panel>.mut{margin-bottom:20px}
.list{display:grid;gap:10px}
.opt{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1.5px solid var(--line);border-radius:20px;cursor:pointer;transition:.15s;text-align:left;width:100%;background:#fff}
.opt:hover{border-color:var(--p-200)}.opt.on{border-color:var(--p);background:var(--p-50)}
.opt .ck{width:26px;height:26px;border-radius:8px;border:2px solid var(--p-200);display:grid;place-items:center;flex:none;color:transparent}.opt.on .ck{background:var(--p);border-color:var(--p);color:#fff}.opt.rd .ck{border-radius:50%}
.opt .tx{flex:1}.opt .tx b{display:block;font-size:1.02rem}.opt .tx small{color:var(--mut)}.opt .pr{font-family:var(--disp);font-weight:800;font-size:1.15rem}
.av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;flex:none;background:var(--c,var(--p))}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:8px}
.day{flex:none;width:62px;padding:10px 0;border-radius:20px;border:1.5px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center;line-height:1.15}
.day small{color:var(--mut);font-weight:700;font-size:.72rem;text-transform:uppercase}.day b{font-family:var(--disp);font-size:1.5rem}.day em{font-style:normal;font-size:.72rem;color:var(--mut)}
.day.on{background:var(--p);border-color:var(--p);color:#fff}.day.on small,.day.on em{color:#e0c9ff}.day[disabled]{opacity:.35;pointer-events:none;background:var(--bg)}
.slg{margin:14px 0 6px;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.slot{padding:11px 0;border-radius:14px;border:1.5px solid var(--line);font-weight:700;background:#fff}.slot:hover{border-color:var(--p)}.slot.on{background:var(--p);color:#fff;border-color:var(--p)}.slot[disabled]{opacity:.35;text-decoration:line-through;pointer-events:none;background:var(--bg)}
.nav-btns{display:flex;justify-content:space-between;gap:10px;margin-top:26px}
.fsum{position:sticky;top:120px}.sum{background:var(--p-dd);color:#fff;border-radius:28px;padding:26px}
.sum h3{font-size:1.3rem;margin-bottom:14px}.sum .row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.18);font-size:.95rem}.sum .row span:first-child{color:#bfa9de}.sum .row b{text-align:right}
.sum .tot{display:flex;justify-content:space-between;align-items:end;margin-top:16px}.sum .tot b{font-family:var(--disp);font-size:2.3rem;color:var(--l)}
.sum .note{margin-top:14px;font-size:.82rem;color:#bfa9de;display:flex;gap:8px}
.mf{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mf label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.85rem;color:var(--mut)}.mf label.full,.mf .full{grid-column:1/-1}
.mf input,.mf select,.mf textarea,.fi{border:1.5px solid var(--line);border-radius:14px;padding:11px 14px;background:#fff;outline:0;color:var(--ink);font-weight:500;width:100%}.mf input:focus,.mf select:focus,.mf textarea:focus,.fi:focus{border-color:var(--p);box-shadow:0 0 0 4px var(--p-50)}
.phn{display:flex;gap:8px}.phn span{display:grid;place-items:center;padding:0 12px;background:var(--p-50);border-radius:14px;font-weight:700;color:var(--p)}
.qrbox{display:flex;gap:18px;align-items:center;padding:18px;border-radius:20px;background:var(--l-50);border:1.5px dashed var(--l-d);margin-top:12px}.qrbox svg{background:#fff;padding:8px;border-radius:14px;flex:none}
.ticket{max-width:520px;margin:30px auto 70px;background:#fff;border-radius:32px;box-shadow:var(--sh);border:1px solid var(--line);overflow:hidden;text-align:center}
.tk-top{background:var(--l);padding:34px 24px 30px;position:relative}.tk-top .ok{width:74px;height:74px;border-radius:50%;background:var(--p);color:var(--l);display:grid;place-items:center;margin:0 auto 14px;font-size:2.2rem;animation:pop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
.tk-top h1{font-size:2.2rem;color:var(--p)}
.tk-b{padding:26px 28px;text-align:left}.tk-b .row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line)}.tk-b .row span{color:var(--mut)}.tk-b .row b{text-align:right}
.tk-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;background:var(--p-50);text-align:left}.tk-q code{font-family:var(--disp);font-weight:800;font-size:1.5rem;color:var(--p)}
.tk-a{padding:22px 28px 28px;display:grid;gap:10px}
/* app shell */
.app{display:grid;grid-template-columns:262px 1fr;height:calc(100vh - 34px);min-height:600px}
.side{background:var(--p-dd);color:#cdbbe8;display:flex;flex-direction:column;padding:18px 14px;gap:6px;overflow:auto}
.side .brand{padding:4px 10px 12px}.side .brand img{height:64px}
.biz-sw{background:rgba(255,255,255,.07);border-radius:16px;padding:10px 12px;display:flex;gap:10px;align-items:center;margin-bottom:12px}.biz-sw i{font-style:normal;background:var(--l);width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.biz-sw b{display:block;color:#fff;font-size:.9rem;line-height:1.2}.biz-sw small{color:var(--l);font-weight:700}
.sn{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:14px;font-weight:600;transition:.15s}.sn:hover{background:rgba(255,255,255,.07);color:#fff}.sn.on{background:var(--l);color:var(--p-dd)}
.side .sp{flex:1}.side .help{background:rgba(255,255,255,.07);border-radius:18px;padding:14px;font-size:.85rem}.side .help b{color:#fff;display:block;margin-bottom:4px}
.mainw{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.top{display:flex;align-items:center;gap:14px;padding:14px 28px;border-bottom:1px solid var(--line);background:#fff}
.top h1{font-size:1.6rem}.top .sub{color:var(--mut);font-size:.88rem}.top .sp{flex:1}
.top .menu{display:none;width:42px;height:42px;border-radius:12px;border:1.5px solid var(--line);place-items:center}
.ibtn{width:42px;height:42px;border-radius:14px;border:1.5px solid var(--line);display:grid;place-items:center;position:relative;background:#fff}.ibtn:hover{border-color:var(--p);color:var(--p)}.ibtn .dot{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:var(--bad);border:2px solid #fff}
.page{padding:26px 28px 50px;overflow:auto;flex:1}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--sh)}.kpi .l{display:flex;justify-content:space-between;color:var(--mut);font-weight:600;font-size:.9rem}.kpi .l i{width:34px;height:34px;border-radius:12px;background:var(--p-50);color:var(--p);display:grid;place-items:center}
.kpi b{display:block;font-family:var(--disp);font-size:2.2rem;font-weight:800;margin:8px 0 2px;letter-spacing:-.03em}.kpi small{font-weight:700;font-size:.8rem}.up{color:var(--ok)}.dn{color:var(--bad)}
.kpi.hl{background:var(--p);color:#fff;border-color:var(--p)}.kpi.hl .l{color:#e0c9ff}.kpi.hl .l i{background:var(--l);color:var(--p-dd)}.kpi.hl small{color:var(--l)}
.cols{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--sh)}
.card h3{font-size:1.2rem;margin-bottom:4px}.card .ch{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:14px}.card .ch p{color:var(--mut);font-size:.86rem}
.bars{display:flex;gap:10px;align-items:end;height:190px;padding-top:10px}.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:6px;height:100%}.bars .b span{width:100%;border-radius:12px 12px 6px 6px;background:var(--p-100);min-height:6px;transition:.3s;position:relative}.bars .b.on span{background:var(--p)}.bars .b em{font-style:normal;font-size:.78rem;color:var(--mut);font-weight:600}.bars .b i{font-style:normal;font-weight:800;font-size:.8rem}
.ap{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}.ap:last-child{border:0}.ap:hover .ap-n{color:var(--p)}
.ap .tm{width:58px;font-family:var(--disp);font-weight:800;font-size:1.05rem}.ap .tx{flex:1;min-width:0}.ap-n{font-weight:700}.ap small{color:var(--mut);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:.76rem;font-weight:800;white-space:nowrap}.bd:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.b-confirmed{background:var(--p-50);color:var(--p)}.b-pending{background:#FFF4DB;color:var(--warn)}.b-done{background:#DDF8E5;color:var(--ok)}.b-cancelled{background:#EEE9F5;color:#7b6e90}.b-noshow{background:#FFE4EA;color:var(--bad)}
.hbar{margin:12px 0}.hbar .t{display:flex;justify-content:space-between;font-size:.9rem;font-weight:600;margin-bottom:5px}.hbar .tr{height:10px;border-radius:99px;background:var(--p-50);overflow:hidden}.hbar .tr span{display:block;height:100%;border-radius:99px;background:var(--c,var(--p))}
.alert{display:flex;gap:12px;align-items:start;padding:12px 14px;border-radius:16px;background:#FFF8E6;margin-bottom:8px;font-size:.9rem}.alert .i{color:var(--warn);margin-top:2px}.alert.g{background:var(--l-50)}.alert.g .i{color:var(--ok)}
.tb{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.tb .sp{flex:1}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px;gap:2px;flex-wrap:wrap}.seg button{padding:7px 16px;border-radius:99px;font-weight:700;font-size:.88rem;color:var(--mut)}.seg button.on{background:var(--p);color:#fff}
.dnav{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px}.dnav button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.dnav button:hover{background:var(--p-50);color:var(--p)}.dnav b{padding:0 8px;font-family:var(--disp);min-width:160px;text-align:center;text-transform:capitalize}
.agrid{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:auto;box-shadow:var(--sh)}
.ainner{min-width:640px}
.ahead,.abody{display:grid;grid-template-columns:60px repeat(var(--n),1fr)}
.ahead{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:3}
.ah-s{display:flex;gap:10px;align-items:center;padding:12px;border-left:1px solid var(--line)}.ah-s .av{width:36px;height:36px;font-size:.8rem}.ah-s b{display:block;font-size:.9rem;line-height:1.2}.ah-s small{color:var(--mut);font-size:.76rem}
.atime div{height:var(--hh);font-size:.74rem;color:var(--mut);text-align:right;padding:2px 8px 0 0;font-weight:600}
.acol{position:relative;height:calc(var(--hh)*var(--rows,10));border-left:1px solid var(--line);background:linear-gradient(to bottom,transparent 0 calc(var(--hh)/2 - 1px),var(--line) calc(var(--hh)/2 - 1px) calc(var(--hh)/2),transparent calc(var(--hh)/2) 100%);background-size:100% calc(var(--hh)/2);cursor:cell}
.acol:hover{background-color:#fcfaff}
.ablock{position:absolute;left:4px;right:6px;border-radius:12px;padding:5px 9px;background:color-mix(in srgb,var(--c) 14%,#fff);border-left:4px solid var(--c);overflow:hidden;font-size:.78rem;cursor:pointer;line-height:1.25;transition:.15s;box-shadow:0 1px 3px rgba(26,5,54,.08)}.ablock:hover{transform:scale(1.015);z-index:2;box-shadow:0 8px 18px rgba(26,5,54,.16)}
.ablock b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ablock span{color:var(--mut);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-pending{background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(217,119,6,.15) 7px 14px)}.s-done{opacity:.6}.s-noshow{border-left-color:var(--bad);background:#FFE9EE}
.nowl{position:absolute;left:0;right:0;height:2px;background:var(--bad);z-index:1}.nowl:before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--bad)}
.closed{padding:80px 20px;text-align:center;color:var(--mut)}
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--sh);border:1px solid var(--line)}.tbl th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);padding:14px 16px;background:#FDFBFF;border-bottom:1px solid var(--line)}.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:.93rem}.tbl tr:last-child td{border:0}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:#FDFAFF}
.tblw{overflow:auto;border-radius:24px}
.cellp{display:flex;gap:12px;align-items:center}.cellp .av{width:38px;height:38px;font-size:.8rem}.cellp b{display:block;line-height:1.2}.cellp small{color:var(--mut)}
.tg{width:46px;height:27px;border-radius:99px;background:#DCD2EA;position:relative;transition:.2s;flex:none}.tg:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.tg.on{background:var(--p)}.tg.on:after{left:22px}
.cards3{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.sv{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}.sv.off{opacity:.6}
.sv h3{font-size:1.15rem}.sv .m{display:flex;gap:14px;color:var(--mut);font-size:.9rem;font-weight:600}.sv .m span{display:flex;gap:6px;align-items:center}.sv .f{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.sv .pr{font-family:var(--disp);font-weight:800;font-size:1.5rem}
.tag{display:inline-block;padding:3px 10px;background:var(--p-50);color:var(--p);border-radius:99px;font-size:.78rem;font-weight:700;margin:0 4px 4px 0}
.cfg{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cfg .card.full{grid-column:1/-1}
.trow{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.trow:last-child{border:0}.trow b{display:block}.trow small{color:var(--mut)}
.hrs{display:grid;grid-template-columns:90px 46px 1fr 1fr;gap:10px;align-items:center;padding:7px 0}.hrs span{font-weight:700}
.linkbox{display:flex;gap:8px;align-items:center;background:var(--p-50);border-radius:16px;padding:10px 10px 10px 16px;font-weight:700;color:var(--p)}.linkbox span{flex:1;overflow:hidden;text-overflow:ellipsis}
/* client */
.ch-h{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:34px;z-index:90}.ch-in{display:flex;align-items:center;gap:20px;height:72px}
.ctabs{display:flex;gap:4px;margin-left:12px}.ctabs a{padding:8px 16px;border-radius:99px;font-weight:700;color:var(--mut)}.ctabs a.on{background:var(--p);color:#fff}.ctabs a:hover:not(.on){background:var(--p-50);color:var(--p)}
.me{margin-left:auto;display:flex;gap:12px;align-items:center;font-weight:700}
.cpage{padding:32px 24px 80px;max-width:1000px}
.hello{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-bottom:24px;align-items:stretch}.hello h1{font-size:clamp(2rem,4vw,3rem)}
.pts{background:var(--l);border-radius:28px;padding:24px;position:relative;overflow:hidden}.pts b{font-family:var(--disp);font-size:3rem;color:var(--p);line-height:1}.pts small{font-weight:700}.pts .tr{height:12px;border-radius:99px;background:rgba(255,255,255,.6);margin:14px 0 8px;overflow:hidden}.pts .tr span{display:block;height:100%;background:var(--p);border-radius:99px}
.nxt{background:var(--p);color:#fff;border-radius:32px;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:24px;margin-bottom:26px;box-shadow:0 24px 50px rgba(115,5,229,.3)}
.dt{background:var(--l);color:var(--p-dd);border-radius:24px;padding:16px 22px;text-align:center;font-family:var(--disp);line-height:1}.dt small{display:block;font-family:var(--body);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.dt b{font-size:3.4rem;display:block;margin:6px 0}
.nxt h2{font-size:1.9rem}.nxt .meta{display:flex;gap:6px 22px;flex-wrap:wrap;margin:10px 0 18px;color:#e0c9ff;font-weight:600}.nxt .meta span{display:flex;gap:7px;align-items:center}
.nxt .cd{display:inline-block;background:rgba(182,246,156,.18);color:var(--l);font-weight:800;padding:4px 12px;border-radius:99px;font-size:.85rem;margin-bottom:10px}
.acts{display:flex;gap:10px;flex-wrap:wrap}.nxt .btn-o{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}.nxt .btn-o:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.h3s{font-size:1.4rem;margin:28px 0 14px}
.ci{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 18px;display:flex;gap:16px;align-items:center;margin-bottom:10px}.ci .dt{padding:10px 14px;border-radius:16px}.ci .dt b{font-size:1.8rem;margin:3px 0}.ci .tx{flex:1;min-width:0}.ci .tx b{display:block}.ci .tx small{color:var(--mut)}
[hidden]{display:none!important}
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 34px)}
.auth-art{background:var(--l);padding:44px 52px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;position:relative;overflow:hidden}
.auth-art:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#C8FAB3;right:-160px;bottom:-200px}
.auth-art>*{position:relative}
.auth-art h1{font-size:clamp(2.4rem,4.6vw,4.2rem);color:var(--p)}
.al{list-style:none;display:grid;gap:12px;margin-top:24px;font-weight:600}.al li{display:flex;gap:10px;align-items:center}.al .i{background:var(--p);color:var(--l);border-radius:50%;padding:4px;width:26px;height:26px}
.auth-form{display:grid;place-items:center;padding:40px 24px;background:var(--bg)}
.auth-card{width:min(450px,100%)}.auth-card h2{font-size:2.2rem}
.roles{display:flex;gap:4px;background:#fff;border:1px solid var(--line);padding:4px;border-radius:99px;margin-bottom:24px}
.roles a,.roles button{flex:1;text-align:center;padding:9px 12px;border-radius:99px;font-weight:700;color:var(--mut)}.roles .on{background:var(--p);color:#fff}
.lockb{display:inline-flex;gap:8px;align-items:center;background:var(--p-dd);color:var(--l);padding:7px 16px;border-radius:99px;font-weight:700;font-size:.88rem;margin-bottom:22px}
.pw{position:relative}.pw input{padding-right:46px}.pw .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;color:var(--mut);border-radius:50%}.pw .eye:hover{color:var(--p)}
.mf label.chk{flex-direction:row;align-items:center;gap:8px;font-weight:600;color:var(--ink);font-size:.9rem}.mf input[type=checkbox]{width:auto;accent-color:var(--p)}
.rb{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;gap:10px}.rb a{color:var(--p);font-weight:700}
.sw{text-align:center;color:var(--mut);margin-top:18px}.sw a{color:var(--p);font-weight:800}
.hint{text-align:center;font-size:.82rem;color:var(--mut);margin-top:12px;background:var(--l-50);padding:8px 12px;border-radius:12px}
.sn .cnt{margin-left:auto;background:var(--bad);color:#fff;border-radius:99px;font-size:.72rem;padding:1px 8px;font-weight:800}
@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-art{padding:28px 24px;gap:14px}.auth-art .al,.auth-art p{display:none}.auth-art h1{font-size:2rem}.auth-art .back{display:none}}
/* overlays */
#modal,#drawer{position:fixed;inset:0;z-index:300;display:none}#modal.on,#drawer.on{display:block}
.scrimm{position:absolute;inset:0;background:rgba(26,5,54,.5);backdrop-filter:blur(3px);animation:fd .2s}
@keyframes fd{from{opacity:0}}@keyframes up{from{transform:translateY(24px);opacity:0}}@keyframes lt{from{transform:translateX(100%)}}
.mbox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:30px;padding:26px;animation:up .25s;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.mh h3{font-size:1.5rem}.x{width:38px;height:38px;border-radius:50%;background:var(--p-50);display:grid;place-items:center;color:var(--p)}
.mfoot{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.dbox{position:absolute;right:0;top:0;bottom:0;width:min(440px,100vw);background:#fff;padding:26px;overflow:auto;animation:lt .28s;box-shadow:-20px 0 60px rgba(0,0,0,.25)}
.dbox .sec{padding:0;margin-bottom:20px}.kv{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line)}.kv span{color:var(--mut)}.kv b{text-align:right}
.rate{display:flex;gap:6px;justify-content:center;margin:10px 0 18px}.rate button{color:#D8CFE6}.rate button.on{color:#E7A400}.rate button .i{width:38px;height:38px}.rate button.on .i{fill:#E7A400}
.lg{display:grid;gap:12px}.lgb{display:flex;gap:16px;align-items:center;padding:18px;border:1.5px solid var(--line);border-radius:22px;text-align:left;width:100%;transition:.15s}.lgb:hover{border-color:var(--p);background:var(--p-50)}.lgb i{width:52px;height:52px;border-radius:16px;background:var(--l);display:grid;place-items:center;font-size:1.4rem;font-style:normal;flex:none}.lgb b{display:block;font-size:1.05rem}.lgb small{color:var(--mut)}
#toasts{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:400;display:grid;gap:8px;justify-items:center}
.toast{background:var(--p-dd);color:#fff;padding:12px 20px;border-radius:99px;font-weight:600;box-shadow:0 14px 30px rgba(0,0,0,.3);animation:up .25s;display:flex;gap:10px;align-items:center}.toast .i{color:var(--l)}
.scrim{display:none}
@media(max-width:1000px){.grid3,.quotes,.plans{grid-template-columns:1fr 1fr}.plan.hot{transform:none}.kpis{grid-template-columns:1fr 1fr}.cols{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.fsum{position:static}}
@media(max-width:860px){
 .nav-links{display:none}.hero-in,.biz-in,.hello{grid-template-columns:1fr}.hero-in{padding-top:40px}.phone{transform:none;margin-top:20px}.f1{left:-10px}.f2{right:-10px}
 .search{grid-template-columns:1fr}.search .btn{padding:.9rem}
 .ft-in{grid-template-columns:1fr 1fr}.cfg{grid-template-columns:1fr}.nxt{grid-template-columns:1fr}
 .app{grid-template-columns:1fr}.side{position:fixed;left:0;top:34px;bottom:0;width:272px;z-index:250;transform:translateX(-100%);transition:.25s}
 body.menu-open .side{transform:none}body.menu-open .scrim{display:block;position:fixed;inset:0;background:rgba(26,5,54,.5);z-index:240}
 .top .menu{display:grid}.top{padding:12px 16px}.page{padding:18px 14px 40px}.top .hide-m{display:none}
 .ctabs{display:none}.ch-in{gap:10px}
}
@media(max-width:620px){.grid3,.quotes,.plans{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr;gap:10px}.mf{grid-template-columns:1fr}.panel{padding:20px}.wrap{padding:0 16px}.hrs{grid-template-columns:70px 46px 1fr 1fr}.sec-h h2{font-size:2rem}.kpi b{font-size:1.7rem}.ft-in{grid-template-columns:1fr}}
.toast.err{background:#7F1D33;color:#fff}
.qrw{display:block;background:#fff;padding:6px;border-radius:12px;line-height:0}.qrw svg{width:100%;height:100%;display:block}
.ldg{min-height:60vh;display:grid;place-items:center}.ldg>span{width:38px;height:38px;border:4px solid var(--p-100);border-top-color:var(--p);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.banner{display:flex;gap:12px;align-items:flex-start;background:#FFF7E6;border:1px solid #F5D9A0;color:#7A4B00;padding:14px 16px;border-radius:16px;margin-bottom:18px}.banner .i{flex:none;margin-top:2px}
