/* DediJet — espace client (/account/*) et pages /login, /signup. Charge apres site.css et pages.css. */

.dot-warn{background:#F2A33A}
.st-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.st-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st-wait{background:#FFF4D6;color:#8A6200}
.st-conf{background:#E7EEFF;color:#2747B8}
.st-ok{background:var(--green-50);color:var(--green)}
.st-off{background:var(--paper-2);color:var(--text-3)}
.st-err{background:var(--red-50);color:var(--red)}
.coin-ic{flex:none;border-radius:50%}
.coin-cell{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.amt-pos{color:var(--green)}
.amt-neg{color:var(--ink-900)}
.bonus-tag{display:block;font-size:.74rem;font-weight:700;color:var(--green)}

/* ---------- Mise en page ---------- */
.acct{background:var(--paper);padding:28px 0 72px;min-height:calc(100vh - 200px)}
.acct-in{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.acct-side{position:sticky;top:calc(var(--hdr-h) + 16px);display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:18px;background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-1)}
.acct-me{display:flex;align-items:center;gap:11px;padding:4px 4px 2px}
.acct-av{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--yellow);color:var(--ink-900);font-weight:800;font-size:.9rem}
.acct-me-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.acct-me-t b{font-size:.92rem;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-me-t small{font-family:var(--mono);font-size:.7rem;color:var(--text-3)}
.acct-bal{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 10px;padding:14px 14px 13px;border-radius:14px;background:var(--ink-900);color:var(--white);transition:transform .15s var(--ease),box-shadow .15s}
.acct-bal:hover{box-shadow:0 10px 24px -14px rgba(11,16,32,.7)}
.acct-bal-k{grid-column:1 / -1;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300)}
.acct-bal-v{font-size:1.45rem;color:var(--yellow);line-height:1.1}
.acct-bal-go{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:8px;background:var(--yellow);color:var(--ink-900);font-weight:800;font-size:.78rem}
.acct-bal-go .ic{width:14px;height:14px}
.acct-nav ul{display:grid;gap:2px}
.acct-nav a{display:flex;align-items:center;gap:11px;height:42px;padding:0 12px;border-radius:10px;font-weight:700;font-size:.92rem;color:var(--text-2);transition:background-color .15s,color .15s}
.acct-nav a:hover{background:var(--paper);color:var(--ink-900)}
.acct-nav a .ic{width:18px;height:18px;flex:none;color:var(--text-3)}
.acct-nav a.is-on{background:var(--ink-900);color:var(--white)}
.acct-nav a.is-on .ic{color:var(--yellow)}
.acct-dot{margin-left:auto;display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--yellow);color:var(--ink-900);font-style:normal;font-size:.7rem;font-weight:800}
.acct-out{border-top:1px solid var(--line);padding-top:8px}
.acct-out button{display:flex;align-items:center;gap:11px;width:100%;height:40px;padding:0 12px;border-radius:10px;font-weight:700;font-size:.9rem;color:var(--text-3)}
.acct-out button:hover{background:var(--red-50);color:var(--red)}
.acct-out .ic{width:18px;height:18px}
.acct-main{display:grid;gap:20px;min-width:0}
.acct-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:2px}
.acct-head h1{font-size:clamp(1.6rem,1.2rem + 1vw,2.1rem);letter-spacing:-.025em}
.acct-sub{margin-top:6px;font-size:.95rem;color:var(--text-2);max-width:760px}
.acct-sub a{font-weight:700;color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:2px}
.acct-head-a{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.acct-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:6px;font-size:.84rem;color:var(--text-3)}
.acct-crumbs li{display:inline-flex;align-items:center}
.acct-crumbs a{color:var(--text-2)}
.acct-crumbs a:hover{color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px}
.acct-crumbs .crumbs-sep{width:13px;height:13px;margin:0 4px;opacity:.6}
.acct-flash{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:var(--green-50);border:1px solid #CDEEDB;color:var(--green);font-weight:700;font-size:.92rem;line-height:1.45}
.acct-flash .ic{width:18px;height:18px;flex:none;margin-top:1px}
.acct-flash-err{background:var(--red-50);border-color:#F3C9CB;color:#8C2226}
.acct-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--yellow-50);border:1px solid var(--yellow-100);font-size:.92rem;line-height:1.55;color:var(--text-2)}
.acct-note>.ic{width:19px;height:19px;flex:none;margin-top:2px;color:var(--yellow-700)}
.acct-note b{color:var(--ink-900)}
.acct-note a{font-weight:700;color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px}
.acct-note-warn{background:#FFF7E8;border-color:#FBE3B0}
.acct-down{grid-template-columns:minmax(0,1fr)}

/* ---------- Indicateurs ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi{display:flex;flex-direction:column;gap:6px;padding:16px 18px 15px;border-radius:16px;background:var(--white);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
a.kpi:hover{border-color:var(--line-2);box-shadow:var(--sh-2)}
.kpi-k{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3)}
.kpi-k .ic{width:15px;height:15px;color:var(--yellow-700)}
.kpi-v{font-family:var(--mono);font-weight:700;font-size:1.65rem;line-height:1.15;color:var(--ink-900);letter-spacing:-.02em}
.kpi-v small{font-family:var(--font);font-weight:700;font-size:.9rem;letter-spacing:0;color:var(--text-2)}
.kpi-v-sm{display:flex;align-items:center;gap:8px;font-family:var(--font);font-size:1.15rem;font-weight:800;letter-spacing:-.01em}
.kpi-s{font-size:.82rem;color:var(--text-3);line-height:1.4}
.kpi-hot{color:var(--green);font-weight:700}
.kpi-bal{background:var(--ink-900);border-color:var(--ink-900)}
.kpi-bal .kpi-k{color:var(--steel-300)}
.kpi-bal .kpi-k .ic{color:var(--yellow)}
.kpi-bal .kpi-v{color:var(--yellow)}
.kpi-bal .kpi-s{color:var(--steel-300)}

/* ---------- Cartes ---------- */
.acard{padding:20px 22px 22px;border-radius:18px;background:var(--white);border:1px solid var(--line);min-width:0}
.acard-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:14px}
.acard-h h2{font-size:1.12rem;letter-spacing:-.01em}
.acard-meta{font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--text-3)}
.acard-p{font-size:.94rem;line-height:1.6;color:var(--text-2)}
.acard-p a{color:var(--ink-900);font-weight:700;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px}
.acard-p+.acard-p,.acard-p+form{margin-top:12px}
.acard-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 32px;align-items:start}
.acard-more{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.acard-more>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;font-size:.9rem;color:var(--text-2);list-style:none}
.acard-more>summary::-webkit-details-marker{display:none}
.acard-more>summary::after{content:"+";font-family:var(--mono);color:var(--text-3)}
.acard-more[open]>summary::after{content:"−"}
.acard-more>summary:hover{color:var(--ink-900)}
.acard-more .form{margin-top:12px}
.acard-danger{border-color:#F3C9CB}
.acard-danger h2{color:#8C2226}
.acard-key{border-color:#CDEEDB;background:linear-gradient(180deg,#F6FCF8,var(--white) 60%)}
.acard-key .auth-key{display:grid;gap:14px;max-width:640px}
.acard-key .rkey{text-align:left}
.api-ex{margin:0;padding:12px 14px;border-radius:10px;background:var(--ink-900);color:#E4E9F1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}
.acct-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.acct-cols-form{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.acct-cols-wide{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.form-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.form-inline .field{flex:1 1 220px}
.kv-acct{margin:2px 0 4px}
.prog{height:6px;border-radius:999px;background:var(--paper-2);overflow:hidden}
.prog>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--yellow),var(--green-400));transition:width .5s var(--ease)}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;font-size:.88rem;color:var(--text-3)}

/* Etat vide */
.acct-empty{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:center;padding:18px;border-radius:14px;background:var(--paper);border:1px dashed var(--line-2)}
.acct-empty-dex{width:110px;height:auto}
.acct-empty b{font-size:1rem;color:var(--ink-900)}
.acct-empty p{margin-top:4px;font-size:.9rem;line-height:1.55;color:var(--text-2)}
.acct-empty .btn{margin-top:12px}

/* Listes d'activite */
.act-list{display:grid;grid-template-columns:minmax(0,1fr)}
.act-list li{border-top:1px solid var(--line)}
.act-list li:first-child{border-top:0}
.act-list li>a,.act-list li{display:flex;align-items:center;gap:12px;padding:11px 2px}
.act-list li>a{width:100%;padding:11px 8px;margin:0 -6px;border-radius:10px;transition:background-color .15s}
.act-list li>a:hover{background:var(--paper)}
.act-pending li{padding:0}
.act-pending{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.act-ic{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--paper-2);color:var(--text-2)}
.act-ic .ic{width:16px;height:16px}
.act-topup{background:var(--green-50);color:var(--green)}
.act-bonus{background:var(--yellow-100);color:var(--yellow-700)}
.act-charge{background:#E7EEFF;color:#2747B8}
.act-bad{background:var(--red-50);color:var(--red)}
.act-b{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.35}
.act-b b{font-size:.92rem;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-b small{font-size:.78rem;color:var(--text-3);overflow-wrap:anywhere}
.act-amt{font-family:var(--mono);font-weight:700;font-size:.9rem;white-space:nowrap}
.act-amt.is-pos{color:var(--green)}
.act-go{width:16px;height:16px;color:var(--text-3);flex:none}

/* Premiers pas */
.steps-ck{display:grid;gap:8px;margin-top:14px}
.steps-ck li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:var(--paper)}
.sck-n{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--white);border:1px solid var(--line-2);font-family:var(--mono);font-weight:700;font-size:.8rem;color:var(--text-2)}
.sck-n .ic{width:15px;height:15px}
.steps-ck li.is-done .sck-n{background:var(--green);border-color:var(--green);color:var(--white)}
.sck-b{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.35}
.sck-b b{font-size:.92rem;color:var(--ink-900)}
.sck-b small{font-size:.8rem;color:var(--text-3)}
.steps-ck li.is-done .sck-b b{color:var(--text-2)}
.sck-ok{font-size:.8rem;font-weight:800;color:var(--green)}

/* ---------- Serveurs : configurations ---------- */
.cfg-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.cfg{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;padding:14px 16px;border-radius:14px;border:1px solid var(--line)}
.cfg-main{display:flex;gap:14px;align-items:flex-start;min-width:0;flex:1 1 420px}
.cfg-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;width:66px;height:62px;flex:none;border-radius:12px;background:var(--yellow);color:var(--ink-900);line-height:1.1}
.cfg-gate b{font-family:var(--mono);font-size:1.15rem}
.cfg-gate small{font-size:.62rem;font-weight:700;text-align:center;padding:0 4px}
.cfg-b{min-width:0}
.cfg-n{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-weight:800;font-size:1rem}
.cfg-n a{color:var(--ink-900)}
.cfg-n a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px}
.cfg-s{margin-top:3px;font-size:.84rem;color:var(--text-3);line-height:1.45}
.cfg-side{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.cfg-p .price{font-size:1.2rem;color:var(--ink-900)}
.cfg-p small{font-size:.8rem;color:var(--text-3)}
.cfg-d{font-size:.78rem;color:var(--text-3)}
.cfg-acts{display:flex;gap:6px}

/* ---------- Recharge ---------- */
.topup-f{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.topup-main{display:grid;gap:22px;min-width:0}
.tu-step{border:0;padding:0;margin:0;min-width:0}
.tu-step legend{display:flex;align-items:center;gap:10px;padding:0;margin-bottom:12px;font-weight:800;font-size:1rem;color:var(--ink-900)}
.tu-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink-900);color:var(--yellow);font-family:var(--mono);font-size:.78rem}
.tu-amounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tu-amt,.tu-coin{position:relative;display:block}
.tu-amt input,.tu-coin input{position:absolute;opacity:0;width:1px;height:1px}
.tu-amt-ui{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;padding:14px 8px 12px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--white);text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
.tu-amt-ui:hover,.tu-coin-ui:hover{border-color:var(--steel-400)}
.tu-amt input:checked+.tu-amt-ui,.tu-coin input:checked+.tu-coin-ui{border-color:var(--ink-900);background:#FFFCF2;box-shadow:0 0 0 1px var(--ink-900),0 8px 18px -12px rgba(11,16,32,.4)}
.tu-amt input:focus-visible+.tu-amt-ui,.tu-coin input:focus-visible+.tu-coin-ui{outline:3px solid var(--yellow);outline-offset:2px}
.tu-amt-v .price{font-size:1.35rem;color:var(--ink-900)}
.tu-amt-b{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--green-50);color:var(--green);font-size:.74rem;font-weight:800}
.tu-amt-b0{background:var(--paper-2);color:var(--text-3)}
.tu-amt-g{font-size:.76rem;color:var(--text-3)}
.tu-amt-g b{color:var(--ink-900)}
.tu-custom{margin-top:12px;max-width:420px}
.tu-input{position:relative}
.tu-input span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-weight:700;color:var(--text-3)}
.tu-input .input{padding-left:30px;font-family:var(--font);font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05rem}
.tu-input .input::placeholder{font-weight:500}
.tu-coins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tu-coin-ui{display:flex;align-items:center;gap:12px;height:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
.tu-coin-b{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.tu-coin-b b{font-size:.95rem;color:var(--ink-900)}
.tu-coin-t{font-family:var(--mono);font-size:.78rem;color:var(--text-3)}
.tu-coin-b small{font-size:.78rem;color:var(--text-3)}
.tu-fast{margin-left:auto;align-self:flex-start;padding:2px 7px;border-radius:999px;background:var(--yellow-100);color:var(--yellow-700);font-size:.66rem;font-weight:800;white-space:nowrap}
.tu-sum{position:sticky;top:calc(var(--hdr-h) + 16px);display:grid;gap:14px;padding:18px;border-radius:16px;background:var(--paper);border:1px solid var(--line)}
.tu-sum-k{font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.tu-sum-l{display:grid;gap:8px}
.tu-sum-l>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.92rem;color:var(--text-2)}
.tu-sum-l dd{margin:0;font-family:var(--mono);font-weight:700;color:var(--ink-900);text-align:right}
.tu-sum-l dd small{font-family:var(--font);font-weight:700;color:var(--green)}
.tu-sum-t{padding-top:10px;border-top:1px solid var(--line-2)}
.tu-sum-t dt{font-weight:800;color:var(--ink-900)}
.tu-sum-t dd{font-size:1.35rem}
.tu-sum-n{font-size:.82rem;font-weight:700;color:var(--green);line-height:1.4}
.tu-sum-n:empty{display:none}
.tu-sum-f{display:grid;gap:6px;font-size:.8rem;color:var(--text-3)}
.tu-sum-f li{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.tu-sum-f .ic{width:14px;height:14px;flex:none;margin-top:2px}
.ladder{display:grid;gap:6px}
.ladder li{display:grid;grid-template-columns:62px minmax(0,1fr) 46px;align-items:center;gap:10px;font-size:.84rem}
.ladder-a{font-family:var(--mono);font-weight:700;color:var(--ink-900)}
.ladder-bar{height:8px;border-radius:999px;background:var(--paper-2);overflow:hidden}
.ladder-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--yellow),var(--green-400))}
.ladder-p{font-family:var(--mono);font-weight:700;color:var(--green);text-align:right}
.ladder+.field-help{margin-top:12px}
.ladder+.field-help a{font-weight:700;color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--yellow)}

/* Tableaux de l'espace client */
.atable{min-width:0}
.atable th[scope="row"]{font-weight:700}
.atable a.mono{font-weight:700;color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:2px}
.atable td,.atable th{vertical-align:middle}
.atable a.mono{white-space:nowrap}
.cell-sub{display:block;margin-top:2px;font-size:.78rem;font-weight:500;color:var(--text-3);white-space:nowrap}
@media (max-width:1699px){.tu-coins>.tu-coin:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- Paiement ---------- */
.pay{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.pay-side{display:grid;gap:14px}
.pay-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:start}
.pay-qr{display:flex;flex-direction:column;align-items:center;gap:10px}
.qr{display:grid;place-items:center;width:230px;height:230px;padding:12px;border-radius:16px;background:var(--white);border:1px solid var(--line-2)}
.qr svg{width:100%;height:100%}
.qr:empty::before{content:"";width:40px;height:40px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--ink-900);animation:spin .8s linear infinite}
.pay-qr-t{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-2)}
.pay-fields{display:grid;gap:16px;min-width:0}
.pay-k{font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3)}
.pay-k b{color:var(--red)}
.pay-v{display:flex;align-items:center;gap:10px;margin-top:6px;padding:10px 10px 10px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.pay-v code{flex:1;min-width:0;font-family:var(--mono);font-weight:700;font-size:1rem;color:var(--ink-900);word-break:break-all;user-select:all}
.pay-amt code{flex:0 1 auto;font-size:1.45rem;letter-spacing:-.01em}
.pay-unit{flex:1;font-family:var(--mono);font-weight:700;color:var(--text-2)}
.pay-addr code{font-size:.92rem;font-weight:400;line-height:1.5}
.pay-copy{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;flex:none;border-radius:9px;background:var(--white);border:1px solid var(--line-2);font-weight:700;font-size:.84rem;color:var(--ink-900);transition:border-color .15s,background-color .15s}
.pay-copy:hover{border-color:var(--ink-900)}
.pay-copy .ic{width:15px;height:15px}
.pay-copy.is-done{background:var(--green-50);border-color:#CDEEDB;color:var(--green)}
.pay-h{margin-top:6px;font-size:.82rem;color:var(--text-3)}
.pay-warn{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#FFF4E5;border:1px solid #FBDDB0;font-size:.86rem;line-height:1.5;color:#7A4A00}
.pay-warn .ic{width:18px;height:18px;flex:none;margin-top:1px}
.pay-warn b{color:#5C3700}
.pay-acts{display:flex;flex-wrap:wrap;gap:10px}
.pay-acts-c{justify-content:center}
.pay-timer{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pay-timer p{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.9rem;color:var(--text-2);margin-bottom:10px}
.pay-timer p .ic{width:17px;height:17px;color:var(--yellow-700)}
.pay-timer p b{font-family:var(--font);font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05rem;color:var(--ink-900)}
.pay-timer small{flex-basis:100%;font-size:.78rem;color:var(--text-3)}
.pay-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 16px;text-align:center}
.pay-done-ic{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--green);color:var(--white);box-shadow:0 0 0 10px var(--green-50)}
.pay-done-ic .ic{width:34px;height:34px}
.pay-off .pay-done-ic{background:var(--steel-400);box-shadow:0 0 0 10px var(--paper-2)}
.pay-done h3{margin-top:8px;font-size:1.5rem}
.pay-done p{max-width:520px;font-size:.98rem;line-height:1.55;color:var(--text-2)}
.pay-done-bal b{font-family:var(--mono);color:var(--ink-900)}
.pay-done .pay-acts{margin-top:8px}
.pay-tl{display:grid;gap:0}
.pay-tl li{position:relative;display:flex;flex-direction:column;gap:2px;padding:0 0 16px 32px;color:var(--text-3)}
.pay-tl li::before{content:"";position:absolute;left:6px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--white);border:2px solid var(--line-2);z-index:1}
.pay-tl li::after{content:"";position:absolute;left:12px;top:18px;bottom:0;width:2px;background:var(--line)}
.pay-tl li:last-child{padding-bottom:0}
.pay-tl li:last-child::after{display:none}
.pay-tl b{font-size:.92rem}
.pay-tl small{font-size:.8rem}
.pay-tl li.is-on{color:var(--ink-900)}
.pay-tl li.is-on::before{border-color:var(--yellow-600);background:var(--yellow);box-shadow:0 0 0 4px rgba(255,194,26,.25)}
.pay-tl li.is-done{color:var(--text-2)}
.pay-tl li.is-done::before{border-color:var(--green);background:var(--green)}
.pay-tl li.is-done::after{background:var(--green-400)}
.pay-live{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:800;color:var(--green)}
.pay-live[hidden]{display:none}
.pay-help{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.5;color:var(--text-3)}
.pay-help .ic{width:17px;height:17px;flex:none;margin-top:2px}
.pay-help a{font-weight:700;color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--yellow)}
code.tx{font-family:var(--mono);font-size:.8rem}
.dev-sim{border-style:dashed}
.dev-sim .pay-acts{margin-top:8px}

/* ---------- Cles, sessions, tickets ---------- */
.key-list,.ses-list,.tk-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.key,.ses{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line)}
.key-ic,.ses-ic{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--paper-2);color:var(--text-2)}
.key-ic .ic,.ses-ic .ic{width:17px;height:17px}
.key-b,.ses-b{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;line-height:1.35}
.key-b b,.ses-b b{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.94rem;color:var(--ink-900)}
.key-fp{font-family:var(--mono);font-size:.78rem;color:var(--text-2);word-break:break-all}
.key-b small,.ses-b small{font-size:.78rem;color:var(--text-3)}
.ses.is-cur{border-color:#CDEEDB;background:#F6FCF8}
.tk{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);transition:border-color .15s,background-color .15s}
.tk:hover{border-color:var(--line-2);background:var(--paper)}
.tk.is-new{border-color:#CDEEDB;background:#F6FCF8}
.tk-b{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;line-height:1.35}
.tk-b b{font-size:.95rem;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-b small{font-size:.78rem;color:var(--text-3);overflow-wrap:anywhere}
.tk-crit{font-weight:800;color:var(--red)}
.thread{display:grid;gap:16px}
.msg{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px}
.msg-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--ink-900);font-weight:800;font-size:.84rem}
.msg-staff .msg-av{background:var(--ink-900)}
.msg-b{padding:12px 16px 14px;border-radius:4px 16px 16px 16px;background:var(--paper);border:1px solid var(--line)}
.msg-staff .msg-b{background:#F6FCF8;border-color:#CDEEDB}
.msg-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:6px}
.msg-h b{font-size:.9rem;color:var(--ink-900)}
.msg-h time{font-size:.76rem;color:var(--text-3)}
.msg-t{font-size:.94rem;line-height:1.6;color:var(--text-2);overflow-wrap:anywhere}
.reply{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.reply-acts{display:flex;justify-content:flex-end}
.reply-close{margin-top:10px;text-align:right}

/* Double authentification */
.totp-setup{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}
.totp-qr .qr{width:200px;height:200px}
.totp-b{display:grid;gap:12px}
.totp-key{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.totp-key code{font-family:var(--mono);font-weight:700;font-size:.95rem;letter-spacing:.06em;color:var(--ink-900);word-break:break-all}

/* ---------- Grand ecran ---------- */
@media (min-width:1440px){
  .acct-in{grid-template-columns:280px minmax(0,1fr);gap:32px}
  .acct-main{gap:22px}
}
@media (min-width:1700px){
  .topup-f{grid-template-columns:minmax(0,1fr) 360px}
  .tu-coins{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tu-coin-ui{flex-direction:column;align-items:flex-start;gap:10px}
  .tu-fast{position:absolute;top:10px;right:10px}
}

/* ---------- Tablette et mobile ---------- */
@media (max-width:1180px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acct-cols,.acct-cols-form,.acct-cols-wide{grid-template-columns:minmax(0,1fr)}
  .topup-f,.pay{grid-template-columns:minmax(0,1fr)}
  .tu-sum{position:static}
  .tu-amounts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1023px){
  .acct{padding-top:16px}
  .acct-in{grid-template-columns:minmax(0,1fr);gap:16px}
  .acct-side{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px}
  .acct-me{padding:0}
  .acct-bal{grid-template-columns:auto auto;padding:8px 10px}
  .acct-bal-k{display:none}
  .acct-bal-v{font-size:1.05rem}
  .acct-nav{grid-column:1 / -1;margin:0 -10px;padding:0 10px;overflow-x:auto;scrollbar-width:none}
  .acct-nav ul{display:flex;gap:4px}
  .acct-nav a{height:38px;white-space:nowrap}
  .acct-out{display:none}
  .pay-grid{grid-template-columns:minmax(0,1fr)}
  .pay-qr{order:2}
  .acard-split{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .kpis,.kpis-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kpis-3 .kpi-bal{grid-column:1 / -1}
  .act-pending li>a{flex-wrap:wrap;row-gap:6px}
  .act-pending li>a .act-b{flex-basis:calc(100% - 72px)}
  .act-pending li>a .st-badge{order:3;margin-left:44px}
  .kpi{padding:12px 14px}
  .kpi-v{font-size:1.25rem}
  .acard{padding:16px 16px 18px;border-radius:16px}
  .acct-head h1{font-size:1.5rem}
  .tu-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tu-amt:last-child{grid-column:1 / -1}
  .tu-coins{grid-template-columns:minmax(0,1fr)}
  .acct-empty{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
  .acct-empty-dex{width:90px}
  .totp-setup{grid-template-columns:minmax(0,1fr);justify-items:center}
  .cfg-main{flex-basis:100%}
  .cfg-side{width:100%;justify-content:space-between}
  .key,.ses{flex-wrap:wrap}
  .key form,.ses form{margin-left:auto}
  .qr{width:min(230px,100%);height:auto;aspect-ratio:1}
  .atable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .atable,.atable tbody,.atable tr{display:block;width:100%}
  .atable tr{padding:10px 12px;border-bottom:1px solid var(--line)}
  .atable td,.atable tbody th{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border:0;text-align:right}
  .atable td::before,.atable tbody th[data-label]::before{content:attr(data-label);font-weight:700;color:var(--text-3);font-size:.78rem;text-align:left}
  .atable tbody th:not([data-label]){display:block;text-align:left}
}

/* Chiffres et references hors du composant prix : polices sans « trou » apres le point, le deux-points ou le tiret */
.mono,.pay-v code,.key-fp,.totp-key code,code.tx,.acct-me-t small{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;letter-spacing:0}
.tu-sum-l dd,.ladder-a,.ladder-p,.act-amt,.pay-timer b,.pay-done-bal b,.atable .num,.cfg-gate b{font-family:var(--font);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.005em}
.pay-amt code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-weight:700}
.tu-sum-n.is-err{color:var(--red)}
.btn.is-armed{background:var(--red);border-color:var(--red);color:var(--white)}
.btn.is-armed .ic{color:var(--white)}

/* ---------- Support reserve aux comptes avec un serveur actif ---------- */
.sup-lock{padding:0;overflow:hidden}
.sup-lock-in{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:center;padding:28px 30px;background:linear-gradient(135deg,#FFFBEA 0%,var(--white) 58%)}
.sup-lock-art{position:relative;display:grid;place-items:center}
.sup-lock-dex{width:170px;height:auto}
.sup-lock-key{position:absolute;right:10px;bottom:6px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink-900);color:var(--yellow);box-shadow:0 8px 18px rgba(11,16,32,.25);border:3px solid var(--white)}
.sup-lock-key .ic{width:19px;height:19px}
.sup-lock-k{font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow-700)}
.sup-lock-b h2{margin-top:6px;font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);letter-spacing:-.02em;line-height:1.15}
.sup-lock-lead{margin-top:8px;max-width:660px;font-size:.98rem;line-height:1.6;color:var(--text-2)}
.sup-lock-lead b{color:var(--ink-900)}
.sup-lock-perks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}
.sup-lock-perks li{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;color:var(--text-2)}
.sup-lock-perks .ic{flex:none;width:16px;height:16px;color:var(--yellow-700)}
.sup-lock-perks b{color:var(--ink-900);font-variant-numeric:tabular-nums}
.sup-lock-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sup-lock-help{padding:20px 30px 24px;border-top:1px solid var(--line);background:var(--paper)}
.sup-lock-hk{font-size:.88rem;font-weight:700;color:var(--ink-900)}
.sup-lock-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.sup-lock-links a{display:flex;align-items:center;gap:12px;height:100%;padding:12px 14px;border-radius:12px;background:var(--white);border:1px solid var(--line);transition:border-color .15s,box-shadow .15s}
.sup-lock-links a:hover{border-color:var(--line-2);box-shadow:var(--sh-1)}
.sup-lock-links a>span:nth-child(2){flex:1;min-width:0}
.sup-lock-ic{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--paper-2);color:var(--ink-900)}
.sup-lock-ic .ic{width:17px;height:17px}
.sup-lock-links b{display:block;font-size:.9rem;color:var(--ink-900)}
.sup-lock-links small{display:block;font-size:.78rem;color:var(--text-3)}
.sup-lock-go{flex:none;width:15px;height:15px;color:var(--text-3)}
.acct-lock{display:inline-grid;place-items:center;margin-left:auto;color:var(--text-3)}
.acct-lock .ic{width:14px;height:14px}
.acct-nav a.is-on .acct-lock{color:var(--steel-300)}
.kpi-lock{display:inline-grid;place-items:center;color:var(--yellow-700)}
.kpi-lock .ic{width:17px;height:17px}
.acct-note-lock{background:var(--paper);border-color:var(--line)}
.acct-note-lock>.ic{color:var(--text-3)}
.acard-cta{display:flex;align-items:center;justify-content:flex-end}

/* ---------- Remboursement du solde ---------- */
.refund-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px 32px;align-items:start}
.refund-copy .acard-p+.acard-p{margin-top:10px}
.refund-f .check{margin:4px 0 14px}
.refund-req{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--paper)}
.refund-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.95rem;color:var(--text-2)}
.refund-t b{font-family:var(--font);font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink-900)}
.refund-a{margin-top:4px;font-size:.84rem;color:var(--ink-900);overflow-wrap:anywhere}
.refund-s{margin-top:4px;font-size:.8rem;color:var(--text-3)}
.refund-past{display:grid;gap:6px;margin-top:14px}
.refund-past li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 2px;border-top:1px solid var(--line);font-size:.86rem;color:var(--text-2)}
.refund-past small{flex-basis:100%;color:var(--text-3)}
@media (max-width:1100px){
  .sup-lock-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .refund-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .sup-lock-in{grid-template-columns:minmax(0,1fr);gap:6px;padding:20px 18px 22px}
  .sup-lock-art{justify-self:start}
  .sup-lock-dex{width:118px}
  .sup-lock-key{right:-6px;bottom:2px;width:38px;height:38px}
  .sup-lock-acts .btn{flex:1 1 100%}
  .sup-lock-help{padding:16px 18px 18px}
  .sup-lock-links{grid-template-columns:minmax(0,1fr)}
  .refund-req{grid-template-columns:auto minmax(0,1fr)}
  .refund-req form{grid-column:1 / -1}
  .acard-cta{justify-content:flex-start}
}
/* le texte pour lecteurs d'ecran du cadenas reste dans son lien (sinon il deborde du menu defilant sur mobile) */
.acct-nav a{position:relative}

/* ---------- Serveur : suivi du deploiement, acces, details ; commandes en attente ---------- */
.srv-deploy{border-color:var(--ink-900);box-shadow:0 0 0 1px var(--ink-900)}
.srv-tl{margin-top:4px}
.srv-prog{margin-top:14px}
.srv-prog p{margin-top:8px;font-size:.82rem;color:var(--text-3)}
.srv-kv dd{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.srv-copy{padding:4px 8px;min-height:0}
.srv-copy .ic{width:15px;height:15px}
.srv-cmd{padding:3px 8px;border-radius:7px;background:var(--paper);font-family:var(--mono);font-size:.84rem;color:var(--ink-900)}
.srv-secret{display:grid;gap:10px;margin-top:14px;padding:14px;border-radius:14px;background:var(--yellow-50);border:1px solid var(--yellow-100)}
.srv-secret-k{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--text-2)}
.srv-secret-k .ic{width:16px;height:16px;color:var(--yellow-700)}
.srv-secret-k b{color:var(--ink-900)}
.srv-secret-v{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.srv-pw,.srv-pw-mask{min-width:180px;padding:7px 10px;border-radius:8px;background:var(--white);border:1px solid var(--line);font-family:var(--mono);font-size:.92rem;color:var(--ink-900);letter-spacing:.02em}
.acard-k{margin:18px 0 8px;font-family:var(--mono);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.srv-keys{display:grid;gap:6px}
.srv-keys li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--paper)}
.srv-keys .ic{flex:none;width:16px;height:16px;color:var(--yellow-700)}
.srv-keys span{display:flex;flex-direction:column;min-width:0}
.srv-keys b{font-size:.88rem}
.srv-keys small{font-size:.74rem;color:var(--text-3);overflow-wrap:anywhere}
.ord-pend{border-color:var(--yellow-100);background:#FFFDF5}
.pay-order{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px;padding:14px 18px;border-radius:16px;background:var(--ink-900);color:#C9D2E0}
.pay-order p{flex:1 1 320px;font-size:.92rem;line-height:1.55}
.pay-order b{color:var(--white)}
.pay-order-ic{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--yellow);color:var(--ink-900)}
.pay-order-ic .ic{width:20px;height:20px}
.pay-order.is-done{background:var(--green-50);color:var(--text-2);border:1px solid #CDEEDB}
.pay-order.is-done b{color:var(--ink-900)}
.pay-order.is-done .pay-order-ic{background:var(--green-500);color:var(--white)}

/* Valeurs techniques (IP, commandes, mots de passe) : chasse fixe systeme, sans les espaces de B612 autour des points */
.srv-cmd,.srv-pw,.srv-kv .mono{font-family:ui-monospace,"SFMono-Regular","Cascadia Mono",Menlo,Consolas,"Liberation Mono",monospace;letter-spacing:0}
