/* Pricing + dashboard */
.page{padding:2.5rem 0 4rem}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin:1.5rem 0}
label{display:block;font-weight:600}
select,input[type=search]{display:block;width:100%;margin-top:.3rem;padding:.65rem .7rem;border:1.5px solid var(--line);border-radius:8px;font:1rem var(--body);background:#fff}
select:focus,input:focus{border-color:var(--blue);outline:none}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--sky);color:var(--navy);font-size:.9rem}
tr:last-child td{border-bottom:0}
.out{color:#C62828;font-weight:600}
.btn[aria-disabled=true]{opacity:.45;pointer-events:none}
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.balance{background:var(--sky);border:1px solid var(--line);border-radius:var(--r);padding:.7rem 1.2rem}
.balance span{display:block;font-size:.85rem;color:var(--muted)}
.balance strong{font:800 1.5rem var(--head);color:var(--navy)}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
.panel{border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.panel h2{font-size:1.3rem;margin-bottom:1rem}
.panel label{margin-bottom:1rem}
fieldset{border:0;padding:0;margin:0 0 1rem}
legend{font-weight:600;margin-bottom:.4rem}
.srv{display:flex;justify-content:space-between;gap:1rem;border:1.5px solid var(--line);border-radius:8px;padding:.7rem .8rem;margin-bottom:.5rem;cursor:pointer;font-weight:400}
.srv:has(input:checked){border-color:var(--blue);background:var(--sky)}
.srv.off{opacity:.5;cursor:not-allowed}
.srv small{display:block;color:var(--muted)}
.srv input{margin-right:.6rem}
.err{color:#C62828;font-size:.9rem;min-height:1.1rem;margin-bottom:.5rem}
.full{width:100%}
.big{font:800 1.7rem var(--head);color:var(--navy);word-break:break-all}
.code{font:800 2.4rem var(--head);letter-spacing:.2em;color:var(--blue)}
.tag{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.85rem;font-weight:600;background:var(--sky);color:var(--navy)}
.tag.ok{background:#DCFCE7;color:#15803D}.tag.bad{background:#FEE2E2;color:#B91C1C}
.row-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
dialog{border:0;border-radius:var(--r);padding:1.5rem;max-width:420px;width:92%}
dialog::backdrop{background:rgba(11,31,75,.5)}
.dlg-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}
@media(max-width:860px){.filters,.dash-grid{grid-template-columns:1fr}}
/* Wallet + orders */
.presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.presets button{background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:.5rem .9rem;font:600 .95rem var(--body);color:var(--navy);cursor:pointer}
.presets button:hover{border-color:var(--blue)}
#amount{width:100%;padding:.7rem .8rem;border:1.5px solid var(--line);border-radius:8px;font:1rem var(--body);margin:.3rem 0}
.ok{color:#15803D;font-size:.9rem;min-height:1.1rem;margin-bottom:.5rem}
.plus{color:#15803D;font-weight:600}.minus{color:#B91C1C;font-weight:600}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace}
td .btn-sm{padding:.25rem .7rem;font-size:.85rem;margin:0 .2rem .2rem 0}
/* Let grid children shrink so wide tables scroll inside their own box instead of widening the page */
.dash-grid>*{min-width:0}
.panel form+.hint{margin-top:.8rem}

/* Buy number: server chooser */
.server-cards{display:grid;gap:.8rem;margin-bottom:1rem}
.server-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1.5px solid var(--line);border-radius:10px;padding:1rem 1.1rem;color:var(--navy);text-decoration:none}
.server-card:hover,.server-card:focus-visible{border-color:var(--blue);background:var(--sky)}
.server-card small{display:block;color:var(--muted);font-weight:400;margin-top:.15rem}
.server-card .go{color:var(--blue);font-weight:600;white-space:nowrap}
.back{margin-bottom:.6rem}
.back a{color:var(--blue);font-weight:600;text-decoration:none}