:root{--ink:#16232b;--muted:#5d6b73;--line:#d9dfdc;--bg:#f6f7f5;--panel:#fff;--accent:#0b6e4f;--accent-d:#084c37;--warn:#b3261e;--ok-bg:#e3f3ea;--err-bg:#fbe5e3}
@media(prefers-color-scheme:dark){:root{--ink:#e8eeea;--muted:#9fb0a8;--line:#2b3a36;--bg:#101815;--panel:#17221e;--accent:#3fc08f;--accent-d:#2da577;--warn:#ff8a80;--ok-bg:#16352a;--err-bg:#3d1f1c}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Segoe UI",system-ui,-apple-system,sans-serif}
.top{display:flex;gap:24px;align-items:center;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{font-weight:600;font-size:1.15rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px}
.brand b{color:var(--accent);font-weight:700}
.mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50% 50% 50% 4px;background:var(--accent);color:#fff;font-weight:700;margin-right:2px}
nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
nav a{color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
nav a:hover,nav a:focus-visible{color:var(--ink);border-color:var(--accent)}
main{max-width:1000px;margin:32px auto;padding:0 20px}
h1{font-size:1.6rem;margin:0 0 20px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}
.stats .panel{margin:0}.stats .n{font-size:1.9rem;font-weight:600}.stats .l{color:var(--muted);font-size:.92rem}
.auth{max-width:420px;margin:8vh auto}
label{display:block;font-weight:500;margin:14px 0 4px}
input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.row{grid-template-columns:1fr}.top{flex-wrap:wrap}}
button,.btn{margin-top:20px;padding:11px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.btn:hover{background:var(--accent-d)}
.flash{padding:12px 16px;border-radius:8px;margin-bottom:18px}.flash.ok{background:var(--ok-bg)}.flash.err{background:var(--err-bg);color:var(--warn)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:500;font-size:.9rem}.table-wrap{overflow-x:auto}
.muted{color:var(--muted)}.small{font-size:.9rem}
@media(prefers-reduced-motion:no-preference){button,.btn,nav a{transition:background .15s,border-color .15s}}
textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.badge{display:inline-block;padding:2px 10px;border-radius:99px;background:var(--ok-bg);font-size:.85rem}.badge.unpaid,.badge.pending{background:var(--err-bg);color:var(--warn)}
.totals{margin-left:auto;max-width:300px}.totals div{display:flex;justify-content:space-between;padding:4px 0}.totals .t{font-weight:700;border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
.plan{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.plan input{width:auto;margin-top:5px}
.plan label{margin:0;flex:1;cursor:pointer}.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline label{margin:0;font-weight:400}.inline input[type=checkbox]{width:auto}
.btn.alt,button.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
@media print{.top,.noprint{display:none}body{background:#fff;color:#000}.panel{border:0}}

/* ---- v7 visual polish ---- */
:root{--blue:#1d5fd0;--blue-bg:#e4edfc;--amber:#8a5200;--amber-bg:#fdf0d5;--grey:#55626a;--grey-bg:#eceeed;--violet:#6a3fc0;--violet-bg:#ece6fb;--green:#0b6e4f;--green-bg:#e3f3ea;--red:#b3261e;--red-bg:#fbe5e3}
@media(prefers-color-scheme:dark){:root{--blue:#8fb4ff;--blue-bg:#1b2a47;--amber:#f2c36b;--amber-bg:#3a2e12;--grey:#a9b6b0;--grey-bg:#26312d;--violet:#c3a8ff;--violet-bg:#2c2347;--green:#3fc08f;--green-bg:#16352a;--red:#ff8a80;--red-bg:#3d1f1c}}
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:99px;font-size:.82rem;font-weight:600;text-transform:capitalize;line-height:1.4;background:var(--grey-bg);color:var(--grey)}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.badge.active,.badge.paid,.badge.success,.badge.answered{background:var(--green-bg);color:var(--green)}
.badge.pending,.badge.registering,.badge.customer_reply{background:var(--amber-bg);color:var(--amber)}
.badge.transferring,.badge.open{background:var(--blue-bg);color:var(--blue)}
.badge.suspended,.badge.unpaid,.badge.overdue,.badge.expired,.badge.failed,.badge.fraud{background:var(--red-bg);color:var(--red)}
.badge.cancelled,.badge.closed,.badge.terminated,.badge.refunded{background:var(--grey-bg);color:var(--grey)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;margin-bottom:22px}
.card{display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;color:inherit;text-decoration:none}
a.card:hover,a.card:focus-visible{border-color:var(--accent)}
.card .ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none}
.card .n{font-size:1.6rem;font-weight:700;line-height:1.15}.card .l{color:var(--muted);font-size:.9rem}
.t-green .ico{background:var(--green-bg);color:var(--green)}.t-blue .ico{background:var(--blue-bg);color:var(--blue)}.t-amber .ico{background:var(--amber-bg);color:var(--amber)}
.t-red .ico{background:var(--red-bg);color:var(--red)}.t-violet .ico{background:var(--violet-bg);color:var(--violet)}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}@media(max-width:800px){.grid2{grid-template-columns:1fr}}
.grid2 .panel h2{margin-top:0;font-size:1.1rem}
.actions{display:flex;gap:10px;flex-wrap:wrap}.actions .btn{margin:0}
.bars{display:flex;align-items:flex-end;gap:14px;height:170px;padding-top:6px}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0}
.bar i{display:block;width:100%;max-width:60px;background:var(--accent);border-radius:6px 6px 0 0;min-height:3px}
.bar span{font-size:.78rem;color:var(--muted);white-space:nowrap}.bar b{font-size:.78rem;font-weight:600}
.notice{background:var(--blue-bg);color:var(--blue);padding:12px 16px;border-radius:8px;margin-bottom:18px}.notice a{color:inherit;font-weight:600}

.curform{margin:0}.curform select{width:auto;padding:6px 10px;border-radius:8px;font-weight:600}.curform button{margin:0 0 0 6px;padding:6px 10px}

/* ---- order pages ---- */
:root{--pill:#12285f;--bars:#1d9bf0;--bars-off:#cfe8fb}
@media(prefers-color-scheme:dark){:root{--pill:#2d4496;--bars-off:#25415a}}
.steps{display:flex;justify-content:space-between;max-width:720px;margin:6px auto 26px;position:relative}
.steps::before{content:"";position:absolute;left:12%;right:12%;top:11px;height:8px;border-radius:99px;background:var(--line)}
.step{position:relative;text-align:center;flex:1;font-size:.9rem;color:var(--muted)}
.step i{display:block;width:22px;height:22px;border-radius:50%;margin:0 auto 6px;background:var(--panel);border:4px solid var(--line);position:relative;z-index:1}
.step.done i{background:var(--accent);border-color:var(--accent)}.step.on i{border-color:var(--accent)}.step.on,.step.done{color:var(--accent);font-weight:600}
.ptitle{text-align:center;font-size:1.8rem;margin:0 0 6px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:36px 18px;margin:36px 0 10px}
.pcard{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:34px 20px 22px;text-align:center;display:flex;flex-direction:column}
.pcard.pop{border:2px solid var(--accent)}
.pill{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:var(--pill);color:#fff;padding:5px 22px;border-radius:99px;font-weight:700;font-size:.95rem;white-space:nowrap}
.ribbon{position:absolute;top:10px;right:10px;font-size:.72rem;font-weight:700;background:var(--accent);color:#fff;padding:2px 9px;border-radius:99px}
.pbars{margin:6px auto 12px}.pprice{font-size:1.9rem;font-weight:700;line-height:1.2}.pper{font-size:1.05rem;margin-bottom:4px}.psetup{color:var(--muted);font-size:.88rem;margin-bottom:16px}
.cta{display:block;width:100%;text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:12px 10px;margin:0}
.pfeat{list-style:none;margin:18px 0 0;padding:0;text-align:left;font-size:.92rem}.pfeat li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}.pfeat svg{flex:none;margin-top:3px;color:var(--bars)}
.cfg{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}@media(max-width:820px){.cfg{grid-template-columns:1fr}}
.opt{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px;cursor:pointer;font-weight:400}
.opt input{width:auto;margin:0}.opt span{flex:1}.opt small{color:var(--accent);font-weight:600}.opt:has(input:checked){border-color:var(--accent);background:var(--green-bg)}
.sumbox{position:sticky;top:16px}.sumbox h2{margin-top:0}.sumbox .r{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.sumbox .t{font-weight:700;font-size:1.15rem;border:0}

/* ---- colourful dashboard cards ---- */
.cards.solid .card{border:0;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.cards.solid .card .l{color:rgba(255,255,255,.9)}
.cards.solid .card .ico{background:rgba(255,255,255,.22);color:#fff}
.cards.solid .t-violet{background:linear-gradient(135deg,#6d28d9,#a855f7)}
.cards.solid .t-blue{background:linear-gradient(135deg,#0284c7,#2563eb)}
.cards.solid .t-amber{background:linear-gradient(135deg,#f59e0b,#d97706)}
.cards.solid .t-red{background:linear-gradient(135deg,#ef4444,#b91c1c)}
.cards.solid .t-green{background:linear-gradient(135deg,#22c55e,#15803d)}
.cards.solid a.card:hover{filter:brightness(1.06)}
