/* Shared look for the account pages (cabinet, login, admin). Same tokens,
   fonts and chamfer-corner language as the main page (site.html). */
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/onest-cyrillic-0.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/onest-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/onest-cyrillic-0.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/onest-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/onest-cyrillic-0.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/onest-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/unbounded-cyrillic-2.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/unbounded-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/unbounded-cyrillic-2.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/unbounded-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/unbounded-cyrillic-2.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/unbounded-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#0a0807; --bg2:#13100b; --ink:#0d0a07;
  --amber:#ff8a1f; --molten:#ff5a0a; --ember:#ffb75c; --hot:#ffe2b8;
  --text:#f3eadb; --muted:#a69a85; --dim:#5e574c;
  --line:rgba(255,138,31,.32); --ok:#4cd08a; --bad:#ff8a6a;
  --display:'Unbounded','Russo One',sans-serif;
  --body:'Onest','Manrope',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --ch:20px;
}
*{box-sizing:border-box}
/* an explicit display:flex/grid elsewhere would otherwise outrank the UA's
   [hidden]{display:none}; toggling the hidden attribute must always win */
[hidden]{display:none!important}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 0%, rgba(255,110,20,.1), transparent 55%),
             radial-gradient(120% 90% at 50% 20%, transparent 40%, rgba(5,3,2,.75) 100%)}
a{color:var(--ember)}
button{font:inherit;color:inherit}
::selection{background:var(--amber);color:#1a0e02}

.wrap{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:0 16px 80px}
@media(min-width:768px){.wrap{padding:0 36px 80px}}

/* header */
.hdr{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
.brand b{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.brand small{display:block;font-family:var(--body);font-weight:400;font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-top:2px}
.hdr-acts{display:flex;align-items:center;gap:18px;font-size:13.5px}
.hdr-acts a,.hdr-acts button{background:none;border:0;cursor:pointer;color:var(--muted);text-decoration:none;padding:0;font:inherit;transition:color .2s}
.hdr-acts a:hover,.hdr-acts button:hover{color:var(--hot)}

/* top-of-page intro */
.lead{padding:30px 0 10px;max-width:640px}
.lead .kicker{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin:0 0 18px}
.lead .kicker::before{content:'';width:40px;height:1px;background:linear-gradient(90deg,var(--molten),var(--amber));box-shadow:0 0 12px var(--amber)}
.lead h1{font-family:var(--display);font-weight:600;font-size:clamp(22px,3.2vw,36px);line-height:1.2;letter-spacing:-.01em;margin:0}
.lead p{color:var(--muted);margin:16px 0 0;font-size:15px;max-width:52ch}

/* chamfer panel: the one shaping device, used instead of rounded cards */
.panel{position:relative;padding:26px 24px 24px;margin-top:30px;background:linear-gradient(160deg,rgba(255,138,31,.08),rgba(255,138,31,.015) 60%);outline:1px solid rgba(255,138,31,.22);outline-offset:-1px;clip-path:polygon(0 0,calc(100% - var(--ch)) 0,100% var(--ch),100% 100%,var(--ch) 100%,0 calc(100% - var(--ch)))}
@media(max-width:560px){.panel{padding:20px 16px 18px}}
.panel h2{margin:0 0 4px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);display:flex;align-items:center;gap:10px}
.panel .sub{margin:0 0 20px;color:var(--muted);font-size:14px}

/* rows: a divided list instead of a grid of identical cards */
.rows{list-style:none;margin:0;padding:0}
.rows>li{display:grid;gap:4px;padding:18px 0;border-top:1px solid rgba(255,255,255,.07)}
.rows>li:first-child{border-top:0;padding-top:4px}

/* product row */
.prow{display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:start}
.prow .name{font-family:var(--display);font-weight:600;font-size:18px}
.prow .pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ember);white-space:nowrap}
.prow .pill::before{content:'';width:6px;height:6px;background:var(--amber);box-shadow:0 0 10px var(--amber);transform:rotate(45deg)}
.prow .pill.dim::before{background:var(--dim);box-shadow:none}
.prow .pill.dim{color:var(--dim)}
.prow .pill.ok{color:var(--ok)}
.prow .pill.ok::before{background:var(--ok);box-shadow:0 0 10px var(--ok)}
.prow .meta{grid-column:1/-1;color:var(--muted);font-size:14px;line-height:1.5}
.prow .meta b{color:var(--text);font-weight:500}
.usage{margin-top:8px;max-width:280px}
.usage .bar{height:5px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.usage .bar i{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--molten),var(--amber));transition:transform .4s var(--ease)}
.usage span{display:block;margin-top:6px;font-size:12.5px;color:var(--dim)}
.prow .acts{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.prow .locked{grid-column:1/-1;color:var(--muted);font-size:14px;line-height:1.55;max-width:48ch}

/* buttons: same chamfered button as the main page */
.btn{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border:0;background:none;cursor:pointer;color:#1b0d01;font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;position:relative;isolation:isolate;text-decoration:none;font-family:var(--body)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--ember),var(--amber) 55%,var(--molten));clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:filter .25s}
.btn:hover::before{filter:brightness(1.12)}
.btn:focus-visible{outline:2px solid var(--hot);outline-offset:3px}
.btn.ghost{color:var(--ember)}
.btn.ghost::before{background:rgba(255,138,31,.1);border:1px solid rgba(255,138,31,.45)}
.btn.bad{color:#ffd9cc}
.btn.bad::before{background:rgba(255,92,50,.18);border:1px solid rgba(255,120,90,.5)}
.btn.small{padding:8px 13px;font-size:11px}
.btn[disabled]{opacity:.55;cursor:progress}

/* a plain table for devices / orders */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font:500 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:0 12px 10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.tbl td{padding:13px 12px 13px 0;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}
.tbl td b{color:var(--text);font-weight:500;display:block}
.tbl td span{color:var(--dim);font-size:12.5px}
@media(max-width:620px){
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block}
  .tbl tr{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .tbl td{border:0;padding:4px 0}
}
.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.06em;padding:3px 10px;border:1px solid rgba(255,138,31,.35);color:var(--ember)}
.status-pill.done{border-color:rgba(76,208,138,.4);color:var(--ok)}
.status-pill.declined{border-color:rgba(255,138,106,.4);color:var(--bad)}
.empty{color:var(--dim);font-size:14.5px;padding:10px 0}

/* form fields: same bottom-border inputs as the order form */
.field{display:block;margin:0 0 16px}
.field>span{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:rgba(10,8,7,.6);border:0;border-bottom:1px solid rgba(255,138,31,.35);color:var(--text);font:15px/1.5 var(--body);padding:9px 2px;outline:none;transition:border-color .25s,background .25s;border-radius:0}
.field textarea{min-height:100px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--amber) 50%),linear-gradient(135deg,var(--amber) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:26px}
.field select option{background:#14100b;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ember);background:rgba(255,138,31,.07)}
.field input.tiny{display:inline-block;width:72px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-out{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--muted);min-height:1.4em}
.form-out.ok{color:var(--ember)}
.form-out.err{color:var(--bad)}

/* ticket history */
.ticket{padding:16px 0;border-top:1px solid rgba(255,255,255,.07)}
.ticket:first-child{border-top:0}
.ticket .top{display:flex;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.ticket p{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--text)}
.ticket .reply{margin-top:10px;padding:10px 12px;background:rgba(255,138,31,.07);border-left:2px solid var(--amber)}
.ticket .reply b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}

/* telegram gate */
.gate{padding:40px 0 30px;max-width:460px}
.gate h1{font-family:var(--display);font-weight:600;font-size:clamp(24px,4vw,34px);margin:0 0 14px}
.gate p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 26px}
.widget{min-height:48px}
.state{margin:18px 0 0;font-size:15px;color:var(--muted)}
.fine{margin:34px 0 0;max-width:56ch;font-size:13px;line-height:1.55;color:var(--dim)}
.state.ok{color:var(--ok)}
.state.bad{color:var(--bad)}

.code-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 26px}
.code-row span{color:var(--dim);font-size:13px}
.code-row b{font:400 clamp(24px,5vw,32px)/1 var(--display);letter-spacing:.12em;color:var(--ember)}
.device-line{color:var(--muted);font-size:14.5px;margin:0 0 20px}
.device-line b{color:var(--text);font-weight:600}

/* bare inputs outside a .field wrapper (search box, table cells, inline admin
   controls): same dark look as .field, applied without the label markup */
.tools input:not([type=checkbox]),.tools select,.tbl input:not([type=checkbox]),.tbl select,.prodline input:not([type=checkbox]),.config-row input:not([type=checkbox]),.keygen input:not([type=checkbox]),.keygen select{
  font:400 14.5px var(--body);color:var(--text);background:rgba(10,8,7,.6);
  border:0;border-bottom:1px solid rgba(255,138,31,.35);border-radius:0;padding:7px 5px;min-width:0;outline:none;
  transition:border-color .25s,background .25s}
.tools input:focus,.tools select:focus,.tbl input:focus,.tbl select:focus,.prodline input:focus,.config-row input:focus,.keygen input:focus,.keygen select:focus{border-color:var(--ember);background:rgba(255,138,31,.07)}
.tbl select,.tools select,.keygen select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--amber) 50%),linear-gradient(135deg,var(--amber) 50%,transparent 50%);background-position:calc(100% - 12px) 52%,calc(100% - 7px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}
.tbl select option,.tools select option,.keygen select option{background:#14100b;color:var(--text)}

/* admin: tools bar (search + filters) and tally counters */
.tools{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:6px}
.tools label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13.5px}
.tally{display:flex;gap:26px;color:var(--dim);font-size:12.5px}
.tally b{display:block;font:600 22px/1.1 var(--display);color:var(--text)}

/* admin: compact user list, one line per user, details open on demand */
.u-list{margin-top:4px}
.u-row{border-top:1px solid rgba(255,255,255,.08)}
.u-row:first-child{border-top:0}
.u-row.banned>summary{opacity:.5}
.u-row>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:13px 0}
.u-row>summary::-webkit-details-marker{display:none}
.u-row>summary::after{content:'';flex:none;width:7px;height:7px;margin-left:auto;border-right:1px solid var(--amber);border-bottom:1px solid var(--amber);transform:rotate(-45deg);transition:transform .2s var(--ease)}
.u-row[open]>summary::after{transform:rotate(45deg)}
.u-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.u-who b{font-family:var(--display);font-weight:600;font-size:14.5px;line-height:1.2}
.u-id{color:var(--dim);font-size:12px;font-family:ui-monospace,Consolas,monospace}
.u-chips{display:flex;flex-wrap:wrap;gap:4px 12px;flex:1 1 170px}
.u-meta{color:var(--dim);font-size:12px;white-space:nowrap}
.u-body{padding:4px 0 22px}
.u-body>.acts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}

/* per-product status chip inside the summary line */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.03em;color:var(--dim);white-space:nowrap}
.chip::before{content:'';width:6px;height:6px;flex:none;background:var(--dim);transform:rotate(45deg)}
.chip.trial{color:var(--ember)}
.chip.trial::before{background:var(--amber);box-shadow:0 0 8px var(--amber)}
.chip.active{color:var(--ok)}
.chip.active::before{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.chip.forever{color:var(--ember);font-weight:600}
.chip.forever::before{content:'∞';width:auto;height:auto;background:none;transform:none;box-shadow:none;font-size:12px;line-height:1}
.chip.banned-flag{color:var(--bad);border:1px solid rgba(255,138,106,.4);padding:2px 7px}
.chip.banned-flag::before{display:none}

.user-note{max-width:420px;margin:2px 0 16px}

/* per-product detail block, hidden by default inside the expanded row */
.prodline{border-top:1px solid rgba(255,138,31,.2);padding:14px 0}
.prodline-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;font-size:14px}
.prodline-top b{font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.prodline-top span{color:var(--text)}
.prodline-top em{font-style:normal;color:var(--dim)}
.prodline .acts{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.prodline-row{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:8px}
.prodline-row label{display:flex;align-items:center;gap:6px}
.prodline-row input[type=number]{width:64px}
.prodline-devs{font-size:12px;color:var(--dim)}
.prodline-devs div+div{margin-top:3px}

/* admin: gift keys (one-time products) */
.keygen{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:14px 0 18px}
.keygen label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13.5px}
.keygen input[type=number]{width:62px}
.keygen input:not([type=number]){min-width:180px}
.keyresult{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.keycodes{display:flex;flex-wrap:wrap;gap:8px}
.keycodes code{font:12.5px ui-monospace,Consolas,monospace;color:var(--hot);background:rgba(255,138,31,.1);border:1px solid rgba(255,138,31,.3);padding:4px 8px}
#keyTbl td:first-child b{font-family:ui-monospace,Consolas,monospace;font-weight:500;letter-spacing:.02em}
#keyTbl em{font-style:normal;color:var(--dim)}

.admin-section{margin-top:40px}
.admin-section h2{margin:0 0 4px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.config-row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.07)}
.config-row:first-child{border-top:0}
.config-row b{min-width:140px}

.ftr{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:30px 0 10px;border-top:1px solid rgba(255,255,255,.07);color:var(--dim);font-size:12.5px;margin-top:40px}
.ftr a{color:var(--muted);text-decoration:none}
.ftr a:hover{color:var(--ember)}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important}}
.prodline-devs .warn{color:var(--bad);font-weight:600}
