:root{--bg:#0E0A16;--glass:rgba(255,255,255,.045);--border:#261C38;--accent:#8b5cf6;--accent2:#a855f7;--danger:#f43f5e;--warning:#fb923c;--text:#f4f0ff;--muted:#8D83A3;--radius:16px;}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;min-height:100vh;overflow-x:hidden;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:rgba(139,92,246,.4);border-radius:3px;}

header,.container,#toasts{position:relative;z-index:1;}
/* Header */
    header{background:rgba(14,10,22,.92);border-bottom:1px solid var(--border);padding:0 48px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
/* Container */
    .container{max-width:1200px;margin:0 auto;padding:40px 24px 80px;}
/* Page header */
    .page-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px;}
.page-hd-left h1{font-size:1.7rem;font-weight:900;letter-spacing:-.03em;}
.page-hd-left h1 span{color:var(--text);}
.page-hd-left p{color:var(--muted);font-size:.85rem;margin-top:5px;}
.btn-buy{background:var(--accent);border:none;border-radius:11px;color:#fff;font-size:.85rem;font-weight:700;padding:11px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(139,92,246,.4);transition:all .2s;}
.btn-buy:hover{box-shadow:0 8px 36px rgba(139,92,246,.6);transform:translateY(-1px);opacity:.95;}
/* Stats */
    .stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;}
.stat-card{background:var(--glass);border:1px solid var(--border);-webkit-border-radius:var(--radius);padding:22px;position:relative;overflow:hidden;transition:border-color .2s;}

.stat-card:hover{border-color:rgba(139,92,246,.35);}
.stat-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-weight:600;}
.stat-value{font-size:2rem;font-weight:800;line-height:1;}
.stat-value.purple{color:var(--text);}
.stat-value.green{color:#34d399;}
.stat-value.orange{color:var(--warning);}
.stat-value.red{color:var(--danger);}
.stat-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.8rem;opacity:.1;}
/* Tabs */
    .tabs{display:flex;gap:4px;background:var(--glass);border:1px solid var(--border);border-radius:13px;padding:6px;margin-bottom:20px;width:fit-content;}
.tab-btn{background:none;border:none;color:var(--muted);font-size:.84rem;font-weight:600;padding:8px 20px;border-radius:9px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;}
.tab-btn:hover{color:var(--text);background:rgba(255,255,255,.06);}
.tab-btn.active{background:var(--accent);color:#fff;box-shadow:0 3px 14px rgba(139,92,246,.4);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
/* Toolbar */
    .toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;}
.toolbar select,.toolbar input{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:8px 12px;font-size:.82rem;outline:none;transition:border-color .2s;-webkit-appearance:none;}
.toolbar select::placeholder,.toolbar input::placeholder{color:var(--muted);}
.toolbar select:focus,.toolbar input:focus{border-color:var(--accent);}
.toolbar select{padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238070a8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;}
.toolbar input{min-width:200px;}
.toolbar select option{background:#1a1025;color:#e2d9f3;}
.ml-auto{margin-left:auto;}
.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:9px;padding:8px 16px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;}
.btn:hover{opacity:.85;}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);}
.btn-ghost:hover{border-color:rgba(139,92,246,.5);}
/* Table */
    .table-card{background:var(--glass);border:1px solid var(--border);-webkit-border-radius:var(--radius);overflow:hidden;}
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:.83rem;}
thead th{background:rgba(255,255,255,.04);color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;font-weight:700;}
tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s;}
tbody tr:last-child{border-bottom:none;}
tbody tr:hover{background:rgba(139,92,246,.04);}
tbody td{padding:13px 16px;vertical-align:middle;}
.mono{font-family:'Courier New',monospace;font-size:.79rem;}
.td-muted{color:var(--muted);font-size:.75rem;}
/* Badges */
    .badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:700;white-space:nowrap;}
.badge-active{background:rgba(139,92,246,.15);color:#c4b5fd;border:1px solid rgba(139,92,246,.3);}
.badge-expiring{background:rgba(251,146,60,.12);color:var(--warning);border:1px solid rgba(251,146,60,.3);}
.badge-expired{background:rgba(244,63,94,.1);color:var(--danger);border:1px solid rgba(244,63,94,.25);}
.badge::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;}
/* Expiration cell */
    .exp-cell{display:flex;flex-direction:column;gap:3px;min-width:90px;}
.exp-bought{color:var(--muted);font-size:.68rem;}
.exp-countdown{font-size:.78rem;font-weight:700;white-space:nowrap;}
.exp-ok{color:#86efac;}
.exp-warn{color:var(--warning);}
.exp-danger{color:var(--danger);}
.exp-gone{color:var(--muted);}
/* Renewal modal */
    .renew-dur-btn{flex:1;padding:10px 6px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--muted);font-size:.84rem;font-weight:600;cursor:pointer;transition:all .15s;}
.renew-dur-btn:hover{border-color:rgba(139,92,246,.5);color:#c4b5fd;}
.renew-dur-btn.renew-dur-sel{border-color:var(--accent);background:rgba(139,92,246,.15);color:#c4b5fd;}
.renew-btn{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.35);color:#c4b5fd;border-radius:7px;padding:4px 10px;font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;}
.renew-btn:hover{background:rgba(139,92,246,.25);}
/* Buttons */
    .copy-btn{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--muted);border-radius:7px;padding:5px 10px;font-size:.76rem;cursor:pointer;transition:all .15s;white-space:nowrap;}
.copy-btn:hover{border-color:rgba(139,92,246,.5);color:#c4b5fd;background:rgba(139,92,246,.08);}
.inv-link{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--muted);border-radius:7px;padding:5px 11px;font-size:.76rem;cursor:pointer;text-decoration:none;transition:all .15s;white-space:nowrap;}
.inv-link:hover{border-color:rgba(139,92,246,.5);color:#c4b5fd;background:rgba(139,92,246,.08);}
/* Empty */
    .empty-state{text-align:center;padding:72px 24px;color:var(--muted);}
.empty-icon{font-size:3.5rem;margin-bottom:16px;opacity:.5;}
.empty-title{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:8px;}
.empty-sub{font-size:.86rem;line-height:1.7;margin-bottom:24px;}
/* Loader */
    .loading-row td{text-align:center;padding:56px !important;color:var(--muted);}
.spin{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:8px;}
.toast{background:rgba(10,8,20,.94);border:1px solid var(--border);border-radius:13px;padding:13px 18px;font-size:.84rem;animation:toastIn .3s ease;max-width:320px;box-shadow:0 8px 40px rgba(0,0,0,.6);}
.toast.success{border-color:rgba(139,92,246,.5);}
.toast.error{border-color:rgba(244,63,94,.5);}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.toolbar input{min-width:140px;}}
/* Alias inline edit */
    .alias-cell{cursor:pointer;min-width:110px;max-width:160px;}
.alias-cell:hover .alias-empty{color:rgba(244,240,255,.45);}
.alias-text{color:#c4b5fd;font-size:.8rem;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;}
.alias-empty{color:rgba(244,240,255,.18);font-size:.78rem;font-style:italic;transition:color .15s;}
.alias-input{background:rgba(139,92,246,.18);border:1.5px solid var(--accent);color:var(--text);border-radius:7px;padding:5px 10px;font-size:.8rem;outline:none;width:140px;font-family:inherit;box-shadow:0 0 0 3px rgba(139,92,246,.15);}
.alias-saving{color:var(--muted);font-size:.75rem;font-style:italic;}
/* ── Recharge overlay ─────────────────────────────────────────── */
    .r-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:300;display:flex;align-items:center;justify-content:center;padding-top:72px;padding-left:24px;padding-right:24px;padding-bottom:24px;opacity:0;pointer-events:none;transition:opacity .25s;}
.r-overlay.open{opacity:1;pointer-events:all;}
.r-modal{background:rgba(8,6,20,.96);border:1px solid rgba(139,92,246,.35);border-radius:22px;padding:28px 28px 24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;transform:translateY(24px) scale(.96);transition:transform .3s;box-shadow:0 32px 80px rgba(0,0,0,.75);position:relative;}
.r-overlay.open .r-modal{transform:none;}
.r-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:1.3rem;cursor:pointer;transition:color .15s;padding:4px;}
.r-close:hover{color:var(--text);}
.r-title{font-size:1.2rem;font-weight:800;margin-bottom:4px;color:var(--text);}
.r-sub{font-size:.82rem;color:var(--muted);margin-bottom:22px;line-height:1.5;}
.amount-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px;}
.amount-btn{background:rgba(255,255,255,.05);border:1.5px solid var(--border);color:var(--text);border-radius:11px;padding:12px 8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .18s;text-align:center;}
.amount-btn:hover{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.1);}
.amount-btn.sel{border-color:var(--accent);background:rgba(139,92,246,.18);box-shadow:0 0 12px rgba(139,92,246,.2);}
.r-custom{width:100%;background:rgba(255,255,255,.05);border:1.5px solid var(--border);color:var(--text);border-radius:11px;padding:12px 15px;font-size:.95rem;font-weight:700;outline:none;transition:border-color .2s;margin-bottom:20px;}
.r-custom:focus{border-color:var(--accent);}
.r-tabs{display:flex;gap:4px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:11px;padding:5px;margin-bottom:20px;}
.r-tab{flex:1;border:none;border-radius:8px;padding:9px;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--muted);background:none;}
.r-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px rgba(139,92,246,.3);}
.r-btn{width:100%;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:700;padding:14px;cursor:pointer;transition:all .2s;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;}
.r-btn:hover{transform:translateY(-1px);}
.r-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}
.r-stripe-field{background:rgba(255,255,255,.05);border:1.5px solid var(--border);border-radius:11px;padding:14px 16px;transition:border-color .2s;}
.r-stripe-field.StripeElement--focus{border-color:var(--accent);}
.r-stripe-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.r-field-label{font-size:.76rem;color:var(--muted);font-weight:500;margin-bottom:8px;}
.r-card-errors{color:var(--danger);font-size:.79rem;margin-top:8px;min-height:16px;}
.r-crypto-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;}
.r-crypto-opt{border:1.5px solid var(--border);border-radius:11px;padding:10px 4px;cursor:pointer;text-align:center;transition:all .18s;background:rgba(255,255,255,.02);}
.r-crypto-opt:hover{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.08);}
.r-crypto-opt.selected{border-color:var(--accent);background:rgba(139,92,246,.15);}
.r-crypto-opt .c-icon{font-size:1.2rem;margin-bottom:3px;}
.r-crypto-opt .c-name{font-size:.72rem;font-weight:700;}
/* Balance stat card */
    .stat-card.balance{cursor:pointer;border-color:rgba(139,92,246,.25);}
.stat-card.balance:hover{border-color:rgba(139,92,246,.55);}
.stat-card.balance .recharge-link{position:absolute;bottom:10px;right:14px;font-size:.68rem;color:#C4B5FD;font-weight:700;}

/* ── Dashboard enrichi ─────────────────────────────────────────── */
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;margin-bottom:32px;align-items:start;}
@media(max-width:860px){.dash-grid{grid-template-columns:1fr;}}
.dash-card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;}
.dash-card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}
.dash-link{background:none;border:none;color:#C4B5FD;font-size:.74rem;font-weight:600;cursor:pointer;font-family:inherit;padding:0;}
.dash-link:hover{color:#fff;}
.dash-list{display:flex;flex-direction:column;}
.dash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.84rem;}
.dash-row:last-child{border-bottom:none;}
.dash-row-main{min-width:0;flex:1;}
.dash-row-title{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;}
.dash-row-sub{font-size:.72rem;color:var(--muted);margin-top:2px;}
.dash-row-right{text-align:right;white-space:nowrap;font-weight:600;font-size:.84rem;}
.dash-empty{color:var(--muted);font-size:.82rem;padding:14px 0;text-align:center;}
.dash-cbar{height:6px;border-radius:3px;background:rgba(139,92,246,.7);min-width:4px;}
.dash-renew{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.4);color:#C4B5FD;border-radius:7px;padding:4px 10px;font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;}
.dash-renew:hover{background:var(--accent);color:#fff;}
