:root{--bg:#F4F7FB;--card:#fff;--panel:#F1F5F9;--line:#E5EAF2;--lime:#2563EB;--blue:#2563EB;--navy:#0B1437;--soft:#0F172A;--mut:#64748B;--ok:#16A34A;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--soft);font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}h1,h2,h3{margin:0 0 10px;letter-spacing:-.02em}h2{font-size:26px}h3{font-size:17px}small,.mut{color:var(--mut)}.ok{color:var(--ok)}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--soft)}.logo i{width:34px;height:34px;border-radius:10px;background:var(--blue);display:grid;place-items:center;color:#fff;font-style:normal}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 20px;font:600 14px inherit;cursor:pointer;transition:.15s}
.btn:hover,button:hover{background:#1D4ED8;box-shadow:0 8px 20px -8px rgba(37,99,235,.6)}button:disabled{opacity:.5;cursor:wait}
.btn2,button.btn2{background:#fff;color:var(--blue);border:1px solid #BFD2F8;box-shadow:none}.btn2:hover{background:#EFF5FF;box-shadow:none}
input,select,textarea{width:100%;padding:11px 14px;margin:6px 0 12px;background:#fff;color:var(--soft);border:1px solid #D5DDEA;border-radius:10px;font:inherit;outline:0;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}label{font-size:13px;color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0 0 18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.flash{padding:13px 18px;border-radius:12px;margin-bottom:18px;border:1px solid}.flash.ok{background:#ECFDF3;border-color:#A7F0C4;color:#157A3C}.flash.err{background:#FEF2F2;border-color:#FECACA;color:#B91C1C}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.g2{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.stat{display:flex;gap:14px;align-items:center}.stat .ic{width:44px;height:44px;border-radius:12px;background:#EAF1FF;display:grid;place-items:center;color:var(--blue);flex:none}.stat b{display:block;font-size:24px;line-height:1.1}.stat small{display:block}
.big{font-size:32px;font-weight:800;color:var(--blue)}.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:600}td,th{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}tr:hover td{background:#F8FAFD}
.badge{display:inline-block;padding:3px 12px;border-radius:99px;font-size:12px;font-weight:600;background:#EEF2F7;color:var(--mut)}.b-completed,.b-approved,.b-active{background:#DCFCE7;color:#15803D}.b-waiting,.b-pending,.b-open{background:#FEF3C7;color:#B45309}.b-failed,.b-rejected,.b-banned,.b-cancelled{background:#FEE2E2;color:#B91C1C}.b-refunded,.b-closed{background:#DBEAFE;color:#1D4ED8}
.av{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;font-weight:800;font-size:13px;margin-right:10px;vertical-align:middle}
.chart{width:100%;height:170px}.chart polyline{stroke:#2563EB}.chart stop{stop-color:#2563EB}.chart text{fill:#64748B}.bar{height:8px;background:#E8EEF7;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue);border-radius:9px}
.side{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);padding:22px 14px;display:flex;flex-direction:column;gap:3px;z-index:30;overflow-y:auto}
.side .logo{color:#fff;padding:0 10px 18px}.side .gl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6F7DA8;padding:14px 14px 4px}
.side a.it{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:10px;color:#B7C2E3;font-weight:500}.side a.it:hover{background:#16214F;color:#fff}.side a.on{background:var(--blue);color:#fff;font-weight:600}.side .sp{flex:1}
.wrap{margin-left:240px;min-height:100vh}.top{display:flex;align-items:center;gap:14px;padding:14px 32px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.top .grow{flex:1}
.pill{background:#F1F5F9;border:1px solid var(--line);border-radius:99px;padding:5px 6px 5px 16px;display:flex;gap:10px;align-items:center}.pill b{color:var(--blue)}.pill a{background:var(--blue);color:#fff;border-radius:99px;padding:5px 14px;font-weight:600;font-size:13px}
.avatar{width:38px;height:38px;border-radius:50%;background:#DBE7FF;display:grid;place-items:center;font-weight:800;color:var(--blue)}.burger{display:none;background:#fff;border:1px solid var(--line);color:var(--soft);padding:8px 12px}
.bell{color:var(--mut);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line)}.content{padding:30px 32px;max-width:1180px}.content h1{font-size:28px}
.ph{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}.ph h1{margin:0}.ph p{margin:4px 0 0}
/* public */
.pn{display:flex;align-items:center;gap:26px;padding:16px 5vw;flex-wrap:wrap;background:var(--navy)}.pn .logo{color:#fff}.pn .grow{flex:1}.pn a.l{color:#C5CFEE;font-weight:500}.pn a.l:hover{color:#fff}.pn .btn2{background:transparent;color:#fff;border-color:#3A4A86}
.pubmain{padding:0 5vw 50px;max-width:1280px;margin:0 auto}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:56px 5vw;margin:0 -5vw;background:radial-gradient(700px 400px at 80% 40%,#1E3A8A,transparent 65%),var(--navy);color:#fff}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.08;margin-bottom:14px}.hero h1 em{font-style:normal;color:#60A5FA}.hero p{font-size:17px;color:#C5CFEE;max-width:520px}.eyebrow{letter-spacing:.2em;font-size:12px;color:#93A7E0;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.chip{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.08);padding:8px 14px;border-radius:12px;font-size:13px}.chip span{color:#60A5FA}
.qb{display:flex;gap:12px;align-items:end;background:#fff;border-radius:16px;padding:14px;flex-wrap:wrap;color:var(--soft)}.qb div{flex:1;min-width:150px}.qb label{color:var(--mut)}.qb input,.qb select{margin-bottom:0}
.stage{position:relative;height:420px;display:grid;place-items:center}.phone{width:230px;height:400px;border-radius:36px;background:linear-gradient(160deg,#1E2A5E,#0A1030);border:2px solid #3A4A86;box-shadow:0 30px 70px -20px #000;transform:rotate(-6deg);display:grid;place-items:center;padding:20px;animation:fy 6s ease-in-out infinite}@keyframes fy{50%{transform:rotate(-6deg) translateY(-12px)}}
.otpc{text-align:center;background:#fff;color:var(--soft);border-radius:16px;padding:18px}.otpc b{display:block;font-size:30px;letter-spacing:.08em;color:var(--blue);margin:6px 0}.otpc .tick{width:40px;height:40px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin:10px auto 0;font-weight:800}
.fl{position:absolute;width:58px;height:58px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;color:var(--blue);box-shadow:0 14px 30px -10px #0008;animation:fz 5s ease-in-out infinite}.fl.f2{animation-delay:-1.5s}.fl.f3{animation-delay:-3s}@keyframes fz{50%{transform:translateY(-10px)}}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:26px}.strip .stat b{color:var(--blue)}
.sec{padding:48px 0}.sech{text-align:center;max-width:640px;margin:0 auto 28px}.sech h2{font-size:clamp(24px,4vw,34px)}
a.sc{display:flex;gap:14px;align-items:center;justify-content:space-between;color:var(--soft)}a.sc:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(37,99,235,.5)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.steps .card b{color:var(--blue);font-size:28px;display:block}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 20px;margin-bottom:10px}.faq summary{cursor:pointer;font-weight:600}
.cta{background:var(--navy);color:#fff;border-radius:22px;padding:46px 24px;text-align:center;margin:20px 0}.cta .mut{color:#B7C2E3}
.auth{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;max-width:980px;margin:40px auto}.ticks{list-style:none;padding:0;margin:18px 0}.ticks li{padding:5px 0}.ticks li:before{content:"✓  ";color:var(--ok);font-weight:800}.authbox{max-width:420px;margin:12vh auto}.admlogin{background:var(--navy)}.admlogin .logo{color:#fff}
footer{background:var(--navy);padding:30px 5vw;color:#B7C2E3;text-align:center}footer .logo{color:#fff}footer .fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;text-align:left;max-width:1100px;margin:0 auto 22px}footer .fg b{display:block;color:#fff;margin-bottom:8px}footer .fg a{display:block;color:#B7C2E3;padding:3px 0}footer .mut{color:#93A7E0}.copy{border-top:1px solid #1E2A5E;padding-top:16px}
.tl{border-left:2px solid var(--line);margin-left:8px;padding-left:20px}.tl>div{margin:0 0 16px;position:relative}.tl>div:before{content:"";position:absolute;left:-27px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--blue)}
.empty{text-align:center;padding:48px 20px}.ei{font-size:42px;color:#CBD5E1}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;align-items:center}.kv>span:nth-child(odd){color:var(--mut)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}.filters input,.filters select{width:auto;margin:0;min-width:170px}.bar2{display:flex;gap:14px;align-items:center;margin-bottom:12px}.bar2 input{margin:0}
code{background:var(--panel);padding:2px 8px;border-radius:6px}input[type=checkbox]{width:auto;margin:0 6px 0 0}input[disabled]{opacity:.6}pre{background:var(--panel);padding:10px;border-radius:8px}
/* stepper + buy */
.stepper{display:flex;align-items:center;gap:0;margin:0 0 26px;max-width:640px}.stepper .s{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--mut);flex:none;width:90px;text-align:center}.stepper .s i{width:30px;height:30px;border-radius:50%;background:#E2E8F0;color:var(--mut);display:grid;place-items:center;font-style:normal;font-weight:700}
.stepper .s.on i,.stepper .s.done i{background:var(--blue);color:#fff}.stepper .s.on{color:var(--blue);font-weight:600}.stepper .ln{flex:1;height:2px;background:#E2E8F0;margin-bottom:22px}.stepper .ln.done{background:var(--blue)}
.svgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.svc{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;text-align:center;background:#fff;border:1.5px solid var(--line);border-radius:14px;color:var(--soft);font-weight:600}.svc:hover{border-color:var(--blue);box-shadow:0 10px 24px -14px rgba(37,99,235,.6)}.svc .av{margin:0;width:44px;height:44px;font-size:18px}.svc small{font-weight:500}
.crow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;color:var(--soft)}.crow:hover{border-color:var(--blue);background:#F5F9FF}.crow b{color:var(--blue)}
.sum{max-width:520px}.sum .kv{margin-bottom:16px}
@media(max-width:900px){.side{transform:translateX(-100%);transition:.25s}.open .side{transform:none;box-shadow:0 0 60px #0006}.wrap{margin-left:0}.burger{display:block}.top{padding:12px 16px}.content{padding:20px 16px}.g2,.hero,.auth,footer .fg{grid-template-columns:1fr}.stage{height:340px}.pn .l{display:none}.kv{grid-template-columns:100px 1fr}.filters input,.filters select{min-width:0;flex:1}.stepper .s{width:64px}}

/* polish */
.content,.pubmain,.authbox,.auth{animation:fi .25s ease-out}@keyframes fi{from{opacity:0;transform:translateY(6px)}}
button:active,.btn:active{transform:scale(.98)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}textarea{resize:vertical;min-height:70px}
.card,.crow,.svc,a.sc{transition:border-color .15s,box-shadow .15s,transform .15s,background .15s}
.bn{display:none}
@media(max-width:900px){body.app{padding-bottom:70px}.bn{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:25;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.bn a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--mut);padding:4px 0}.bn a.on{color:var(--blue);font-weight:600}.bn svg{width:22px;height:22px}table{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* v3: vector icons, home, auth, admin tools */
.i{vertical-align:-4px;flex:none}.btn .i,button .i{vertical-align:middle}.av{border-radius:10px;width:34px;height:34px}.av svg{width:54%;height:54%;vertical-align:0}.svc .av{width:48px;height:48px;border-radius:14px}.empty .ei{display:flex;justify-content:center;color:#CBD5E1}
.fl{color:#fff;border-radius:18px}.fl svg{width:28px;height:28px;vertical-align:0}.chip span{display:grid}.chip svg{width:18px;height:18px;vertical-align:0}
.cta2{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 4px}.cta2 .btn{padding:13px 24px;font-size:15px}.ghostw{background:transparent!important;color:#fff!important;border:1px solid #3A4A86!important;box-shadow:none!important}.ghostw:hover{background:rgba(255,255,255,.08)!important}
.ibox{width:48px;height:48px;border-radius:14px;background:#EAF1FF;color:var(--blue);display:grid;place-items:center;margin-bottom:14px}.ibox svg{width:24px;height:24px;vertical-align:0}.feat h3{margin-bottom:6px}.feat:hover{border-color:#BFD2F8;transform:translateY(-3px)}
.steps .card{position:relative}.steps .card b{font-size:13px;letter-spacing:.1em;color:#93A7E0;position:absolute;right:18px;top:16px}
.hl{display:inline-flex;gap:6px;align-items:center;font-weight:600}.trust{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;color:var(--mut);font-size:14px;margin-top:26px}.trust span{display:flex;gap:8px;align-items:center}.trust svg{color:var(--ok)}
.authx{display:grid;grid-template-columns:1.05fr 1fr;max-width:940px;margin:40px auto;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(11,20,55,.45);border:1px solid var(--line);background:#fff}
.authx .l{background:radial-gradient(500px 300px at 90% 0,#1E3A8A,transparent 70%),var(--navy);color:#fff;padding:44px 38px;display:flex;flex-direction:column;justify-content:center}.authx .l h1{font-size:34px;line-height:1.15}.authx .l h1 em{font-style:normal;color:#60A5FA}.authx .l .mut{color:#B7C2E3}
.authx .ticks li{display:flex;gap:10px;align-items:center;padding:7px 0;color:#DCE4FF}.authx .ticks li:before{content:none}.authx .ticks svg{color:#4ADE80;width:18px;height:18px}
.authx .r{padding:44px 38px}.authx .r h2{margin-bottom:4px}.authx .back{display:inline-flex;gap:6px;align-items:center;color:var(--mut);font-size:14px;margin-bottom:18px}.authx .alt{text-align:center;margin-top:16px;color:var(--mut)}
.pw{position:relative}.pw input{padding-right:44px}.pw .eye{position:absolute;right:6px;top:11px;width:34px;height:34px;padding:0;background:transparent;color:var(--mut);border:0;box-shadow:none}.pw .eye:hover{background:#F1F5F9;box-shadow:none}.pw .eye svg{width:18px;height:18px;vertical-align:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qf{display:flex;gap:6px}.qf input{width:92px;margin:0;padding:8px 10px}.qf button{padding:8px 14px}
details.card summary{cursor:pointer;font-weight:600;display:flex;gap:8px;align-items:center}details.card[open] summary{margin-bottom:12px}
@media(max-width:900px){.authx{grid-template-columns:1fr;margin:16px auto}.authx .l{padding:28px 24px}.authx .l h1{font-size:26px}.authx .r{padding:28px 24px}.pn{gap:10px;padding:12px 4vw}.pn .btn{padding:9px 14px}.hero{padding:36px 5vw}.cta2 .btn{flex:1}}
