:root{--orange:#EE682F;--orange-d:#d8561f;--navy:#1B3664;--night:#0b1730;--blue:#4C6DA7;--sky:#b2ccf7;--ink:#121a2e;--muted:#5d6577;--line:#e3e7ef;--soft:#f6f8fb;--ok:#16a34a;--warn:#d97706;--bad:#dc2626}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--soft);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;color:var(--navy);letter-spacing:-.02em;line-height:1.2}
p{margin:0}
.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:38px;height:38px}
.brand b{display:block;font-size:18px;font-weight:800;color:var(--navy);line-height:1.1}
.brand small{display:block;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.12em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:11px;font:inherit;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:.15s}
.btn-o{background:var(--orange);color:#fff}.btn-o:hover{background:var(--orange-d)}
.btn-n{background:var(--navy);color:#fff}.btn-n:hover{background:var(--night)}
.btn-g{background:#fff;border-color:var(--line);color:var(--navy)}.btn-g:hover{border-color:var(--navy)}
.btn-sm{height:36px;padding:0 14px;font-size:13.5px;border-radius:9px}
label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:16px}
input,select{width:100%;margin-top:7px;padding:12px 14px;border:1px solid #d3d9e4;border-radius:10px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px #ffe4d7}
.demo{background:#fff7ed;color:#9a3412;border-bottom:1px solid #fed7aa;text-align:center;font-size:13px;padding:8px 16px}

/* auth */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-side{position:relative;overflow:hidden;background:radial-gradient(700px 400px at 90% 0%,rgba(76,109,167,.5),transparent 60%),radial-gradient(500px 360px at 0% 100%,rgba(238,104,47,.25),transparent 60%),var(--night);color:#c9d4ea;padding:48px 56px;display:flex;flex-direction:column}
.auth-side .brand b{color:#fff}.auth-side .brand small{color:#9fb0cf}.auth-side .brand img{background:#fff;border-radius:9px}
.auth-side h1{color:#fff;font-size:38px;margin:auto 0 18px;max-width:440px}
.auth-side ul{list-style:none;padding:0;margin:0 0 auto;display:grid;gap:14px;max-width:420px}
.auth-side li{display:flex;gap:12px}.auth-side li .ic{color:#4ade80;margin-top:3px}
.auth-side .back{margin-top:40px;font-size:14px;display:inline-flex;align-items:center;gap:6px;color:#dfe7f6}
.auth-main{display:grid;place-items:center;padding:48px 24px;background:#fff}
.auth-box{width:min(420px,100%)}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);padding:4px;border-radius:12px;margin-bottom:28px}
.tabs button{border:0;background:none;font:inherit;font-weight:600;font-size:14px;padding:10px;border-radius:9px;color:var(--muted);cursor:pointer}
.tabs button.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(16,30,60,.15)}
.auth-box h2{font-size:28px;margin-bottom:6px}.auth-box .sub{color:var(--muted);margin-bottom:26px}
.row{display:flex;justify-content:space-between;align-items:center;margin:-4px 0 20px;font-size:14px}
.row label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500;color:var(--muted)}.row input{width:auto;margin:0}
.row a{color:var(--orange-d);font-weight:600}
.auth-box .btn{width:100%}
.hint{margin-top:22px;padding:14px 16px;border-radius:12px;background:var(--soft);font-size:13.5px;color:var(--muted)}
.hint b{color:var(--navy)}
.pane{display:none}.pane.on{display:block}

/* app shell */
.top{background:#fff;border-bottom:1px solid var(--line)}
.top .in{max-width:1200px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;gap:24px}
.top nav{display:flex;gap:6px;margin-left:24px}
.top nav a{padding:8px 14px;border-radius:9px;font-weight:500;font-size:14.5px;color:var(--muted)}
.top nav a.on,.top nav a:hover{background:var(--soft);color:var(--navy)}
.user{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:14px}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.user span{color:var(--muted)}.user a{color:var(--orange-d);font-weight:600}
.page{max-width:1200px;margin:0 auto;padding:36px 24px 64px}
.page-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.page-h h1{font-size:30px}.page-h p{color:var(--muted);margin-top:4px}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}
.card+.card{margin-top:22px}
.card h2{font-size:18px;margin-bottom:4px}.card .cs{color:var(--muted);font-size:14px;margin-bottom:20px}
.card-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.lic{border:1px solid var(--line);border-radius:14px;padding:20px;background:linear-gradient(135deg,#fff,#f7f9fd)}
.lic-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.plan{font-weight:700;color:var(--navy);font-size:17px}
.pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px}
.p-ok{background:#dcfce7;color:#15803d}.p-warn{background:#fef3c7;color:#b45309}.p-off{background:#eef1f6;color:var(--muted)}
.key{display:flex;gap:10px;margin:16px 0;align-items:center}
.key code{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:16px;letter-spacing:.06em;background:#fff;border:1px dashed var(--blue);border-radius:10px;padding:12px 14px;color:var(--navy);overflow:auto;white-space:nowrap}
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.meta div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.meta small{display:block;color:var(--muted);font-size:12px}.meta b{color:var(--navy)}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 12px 12px}
td{padding:14px 12px;border-top:1px solid var(--line)}
td:last-child,th:last-child{text-align:right}
.meter{height:10px;border-radius:9px;background:#e8edf5;overflow:hidden;margin:14px 0 8px}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--orange));border-radius:9px}
.usage{display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted)}
.dl{display:flex;gap:16px;align-items:center;padding:18px;border-radius:14px;background:var(--night);color:#c9d4ea;margin-bottom:16px}
.dl .zip{width:48px;height:48px;border-radius:12px;background:rgba(238,104,47,.15);color:var(--orange);display:grid;place-items:center;flex:0 0 auto}
.dl b{color:#fff;display:block}.dl span{font-size:13px}
.steps{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14px;color:var(--muted)}.steps b{color:var(--navy)}
.help a{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-weight:600;color:var(--navy);font-size:14.5px}
.help a:first-of-type{border-top:0}.help .ic{color:var(--orange)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--night);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;opacity:0;transition:.25s;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%)}

/* success */
.done{max-width:680px;margin:56px auto;padding:0 24px}
.done-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px;text-align:center;box-shadow:0 40px 80px -50px rgba(27,54,100,.5)}
.tick{width:76px;height:76px;border-radius:50%;background:#dcfce7;color:var(--ok);display:grid;place-items:center;margin:0 auto 22px}
.tick .ic{width:38px;height:38px;stroke-width:2.4}
.done h1{font-size:32px;margin-bottom:10px}.done .sub{color:var(--muted);font-size:16px}
.done .key{margin:28px 0 8px}
.order{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;text-align:left}
.order div{background:var(--soft);border-radius:12px;padding:12px 14px}.order small{display:block;color:var(--muted);font-size:12px}.order b{color:var(--navy)}
.next{text-align:left;margin-top:28px;border-top:1px solid var(--line);padding-top:24px}
.next h3{font-size:16px;margin-bottom:12px}
.acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.foot-note{text-align:center;color:var(--muted);font-size:13px;margin-top:22px}

@media (max-width:900px){
  .auth{grid-template-columns:1fr}.auth-side{padding:36px 24px}.auth-side h1{margin-top:40px;font-size:30px}
  .grid{grid-template-columns:1fr}.top nav{display:none}
  .meta,.order{grid-template-columns:1fr}
  .done-card{padding:30px 22px}
  table{font-size:13.5px}
}
.err{color:var(--bad);font-size:14px;margin:12px 0 0;min-height:1px}.ok{color:var(--ok);font-size:14px;margin:12px 0 0}
.empty{padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:22px}
.stats div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}.stats b{display:block;font-size:28px;color:var(--navy)}.stats span{color:var(--muted);font-size:13.5px}
.f3{display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr auto;gap:12px;align-items:end}.f3 label{margin:0}
.tbl-wrap{overflow-x:auto}
td code{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--navy)}
.pend{background:#fffbeb}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}.f3{grid-template-columns:1fr}}
.sn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;font-size:13px;margin-right:8px;vertical-align:1px}.sn.ok{background:var(--ok)}
.paybox{display:flex;gap:18px;align-items:flex-start;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:10px}
.paygrid{flex:1;display:grid;gap:8px}
.paygrid div{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;text-align:left}
.paygrid small{color:var(--muted);font-size:12.5px}.paygrid b{color:var(--navy);font-size:14.5px;word-break:break-all}
.cp{border:1px solid var(--line);background:#fff;border-radius:7px;font:inherit;font-size:12px;font-weight:600;color:var(--navy);padding:4px 10px;cursor:pointer}.cp:hover{border-color:var(--navy)}
#payQr{width:150px;height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px}
.next .cs{color:var(--muted);font-size:14px;text-align:left}
@media (max-width:600px){.paybox{flex-direction:column}.paygrid div{grid-template-columns:1fr auto}.paygrid small{grid-column:1/-1}}
.set-h{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}
.f2s{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.f2s small.st{display:block;color:var(--ok);font-weight:600;margin-top:4px}
@media (max-width:900px){.f2s{grid-template-columns:1fr}}
.lic-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:230px}
.ai-use{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-bottom:20px}.ai-use label{margin:0}
.ai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.ai-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}
.ai-card.on{border:2px solid var(--orange);box-shadow:0 14px 30px -22px rgba(238,104,47,.7)}
.ai-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.ai-top b{color:var(--navy);font-size:16px}
.ai-card .cs{margin-bottom:12px}.ai-card label{margin-bottom:10px}
.getkey{float:right;color:var(--orange-d);font-weight:600;font-size:12.5px}
.ai-btns{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:900px){.ai-use{grid-template-columns:1fr}}
.pay-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.pay-sum div{background:var(--soft);border-radius:12px;padding:14px 16px}.pay-sum b{display:block;font-size:20px;color:var(--navy)}.pay-sum span{color:var(--muted);font-size:13px}
@media (max-width:900px){.pay-sum{grid-template-columns:1fr 1fr}}
.btn-del{background:#fff;border-color:#f3c2c2;color:var(--bad)}.btn-del:hover{background:#fee2e2;border-color:var(--bad)}
.upg{margin-top:16px;padding:14px 16px;border-radius:12px;background:#fff7f2;border:1px solid #f6d8c8;display:grid;gap:6px}.upg b{color:var(--navy)}.upg-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
