/* Base / Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
:root {
    --accent:#7c3aed;--accent-lt:#a78bfa;--accent-dk:#5b21b6;
    --bg:#0f0f1a;--bg2:#16162a;--bg3:#1e1e35;
    --border:rgba(124,58,237,.25);--text:#e2e8f0;--muted:#94a3b8;
    --success:#22c55e;--danger:#ef4444;--warning:#f59e0b;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}

/* Glass */
.glass{background:rgba(22,22,42,.7);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px}
.grad-text{background:linear-gradient(135deg,var(--accent-lt),#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Buttons */
.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent-dk));color:#fff;border:none;border-radius:10px;padding:.65rem 1.5rem;font-weight:600;transition:all .25s;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(124,58,237,.45);color:#fff}
.btn-outline-accent{background:transparent;border:1.5px solid var(--accent);color:var(--accent-lt);border-radius:10px;padding:.65rem 1.5rem;font-weight:600;transition:all .25s;cursor:pointer}
.btn-outline-accent:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}

/* Forms */
.form-control:not([type=checkbox]):not([type=radio]),.form-select{background:var(--bg3)!important;border:1.5px solid var(--border)!important;color:var(--text)!important;border-radius:10px!important;padding:.7rem 1rem!important;transition:border-color .2s,box-shadow .2s}
.form-control:not([type=checkbox]):not([type=radio]):focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(124,58,237,.2)!important;outline:none}
.form-label{font-weight:500;color:var(--muted);margin-bottom:.4rem;font-size:.9rem}

/* Checkboxes & Radios */
.form-check-input{
    width:1.15em;height:1.15em;
    background-color:var(--bg3)!important;
    border:1.5px solid var(--accent)!important;
    border-radius:4px!important;
    cursor:pointer;
    flex-shrink:0;
    appearance:auto!important;
    -webkit-appearance:auto!important;
}
.form-check-input:checked{
    background-color:var(--accent)!important;
    border-color:var(--accent)!important;
}
.form-check-input:focus{
    box-shadow:0 0 0 3px rgba(124,58,237,.3)!important;
    outline:none;
}
.form-check{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}
.form-check-label{cursor:pointer;color:var(--muted)}

/* Navbar */
.navbar-custom{background:rgba(15,15,26,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1rem 0;position:sticky;top:0;z-index:1000}
.navbar-brand{font-size:1.4rem;font-weight:800}
.nav-link-custom{color:var(--muted)!important;font-weight:500;padding:.4rem .9rem;border-radius:8px;transition:all .2s}
.nav-link-custom:hover,.nav-link-custom.active{color:var(--text)!important;background:var(--bg3)}

/* Sidebar */
.sidebar{width:240px;min-height:100vh;background:var(--bg2);border-right:1px solid var(--border);position:fixed;top:0;left:0;padding:2rem 1rem;display:flex;flex-direction:column;z-index:900}
.sidebar-logo{font-size:1.3rem;font-weight:800;margin-bottom:2rem;padding:0 .5rem}
.sidebar-link{display:flex;align-items:center;gap:.75rem;color:var(--muted);padding:.7rem 1rem;border-radius:10px;font-weight:500;transition:all .2s;margin-bottom:.25rem;text-decoration:none}
.sidebar-link:hover,.sidebar-link.active{background:rgba(124,58,237,.15);color:var(--accent-lt)}
.sidebar-link i{width:18px;text-align:center}
.admin-content{margin-left:240px;padding:2rem;min-height:100vh}

/* Stat Cards */
.stat-card{padding:1.5rem;border-radius:14px;position:relative;overflow:hidden}
.stat-card.purple{background:linear-gradient(135deg,#7c3aed22,#7c3aed11);border:1px solid #7c3aed44}
.stat-card.blue{background:linear-gradient(135deg,#3b82f622,#3b82f611);border:1px solid #3b82f644}
.stat-card.green{background:linear-gradient(135deg,#22c55e22,#22c55e11);border:1px solid #22c55e44}
.stat-card.orange{background:linear-gradient(135deg,#f59e0b22,#f59e0b11);border:1px solid #f59e0b44}
.stat-number{font-size:2rem;font-weight:800;line-height:1}
.stat-label{font-size:.85rem;color:var(--muted);margin-top:.3rem}
.stat-icon{font-size:2rem;opacity:.5}

/* Package Cards */
.pkg-card{border-radius:16px;padding:2rem;background:var(--bg2);border:1.5px solid var(--border);transition:all .3s;position:relative;overflow:hidden}
.pkg-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 20px 50px rgba(124,58,237,.2)}
.pkg-card.featured{border-color:var(--accent)}
.pkg-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,var(--accent),var(--accent-dk));color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .75rem;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}
.pkg-price{font-size:2.4rem;font-weight:800}
.pkg-price sup{font-size:1.1rem;vertical-align:super}
.pkg-feature{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.9rem;padding:.3rem 0}
.pkg-feature i{color:var(--success)}

/* Config Box */
.config-box{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-family:'Courier New',monospace;font-size:.8rem;word-break:break-all;color:var(--accent-lt);position:relative}
.copy-btn{position:absolute;top:.5rem;right:.5rem;background:var(--accent);border:none;color:#fff;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;cursor:pointer;transition:background .2s}
.copy-btn:hover{background:var(--accent-dk)}

/* Table */
.table-custom{background:transparent;color:var(--text);width:100%;border-collapse:separate;border-spacing:0 .5rem}
.table-custom thead th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding:.5rem 1rem;border:none;font-weight:600}
.table-custom tbody tr{background:var(--bg2);border-radius:10px}
.table-custom tbody td{padding:.9rem 1rem;border:none;vertical-align:middle}
.table-custom tbody tr td:first-child{border-radius:10px 0 0 10px}
.table-custom tbody tr td:last-child{border-radius:0 10px 10px 0}
.table-custom tbody tr:hover{background:var(--bg3)}

/* Toasts */
#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem}
.toast-msg{padding:.9rem 1.4rem;border-radius:10px;font-weight:500;font-size:.9rem;min-width:240px;animation:slideIn .3s ease;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.toast-success{background:#14532d;border-left:4px solid var(--success)}
.toast-error{background:#7f1d1d;border-left:4px solid var(--danger)}
.toast-info{background:#1e3a8a;border-left:4px solid #60a5fa}
@keyframes slideIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}

/* Auth */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top left,#7c3aed22 0%,transparent 60%),radial-gradient(ellipse at bottom right,#3b82f622 0%,transparent 60%),var(--bg);padding:2rem}
.auth-card{width:100%;max-width:440px;padding:2.5rem;background:var(--bg2);border:1px solid var(--border);border-radius:20px;box-shadow:0 25px 60px rgba(0,0,0,.5)}

/* Hero */
.hero{min-height:100vh;display:flex;align-items:center;background:radial-gradient(ellipse at 30% 20%,#7c3aed33 0%,transparent 55%),radial-gradient(ellipse at 70% 80%,#3b82f622 0%,transparent 55%),var(--bg)}

/* Badge */
.badge{font-size:.75rem;font-weight:600;padding:.35em .7em;border-radius:6px}

/* Misc */
.section-pad{padding:5rem 0}
.divider{height:1px;background:var(--border);margin:1.5rem 0}

@media(max-width:768px){
    .sidebar{transform:translateX(-100%);transition:transform .3s}
    .sidebar.open{transform:translateX(0)}
    .admin-content{margin-left:0;padding:1rem}
}
