/* ============================================================
   LovableUltimate — Unified theme (matches index.php palette)
   ============================================================ */
:root{
  --background: 222 47% 7%;
  --foreground: 210 40% 96%;
  --card-h: 222 40% 10%;
  --panel:  hsl(222 40% 10%);
  --panel2: hsl(222 40% 13%);
  --border: rgba(255,255,255,.08);
  --border-strong: rgba(255,255,255,.14);
  --muted: hsl(215 16% 62%);
  --text:  hsl(210 40% 96%);

  --primary:  #FF7A18;
  --pink:     #FF3CAC;
  --purple:   #7B61FF;
  --blue:     #4D8DFF;
  --green:    #22c55e;
  --cyan:     #06b6d4;
  --red:      #ef4444;
  --yellow:   #f59e0b;

  --gradient-primary: linear-gradient(135deg,#FF7A18,#FF3CAC,#7B61FF,#4D8DFF);
  --gradient-hero:
      radial-gradient(ellipse at 20% 50%, rgba(255,122,24,.10) 0%, transparent 50%),
      radial-gradient(ellipse at 80% 20%, rgba(123,97,255,.10) 0%, transparent 50%),
      radial-gradient(ellipse at 50% 80%, rgba(255,60,172,.08) 0%, transparent 50%),
      linear-gradient(180deg, rgb(86 0 50 / 35%) 0%, hsl(222 50% 4%) 100%);
  --shadow-glow: 0 10px 30px -10px rgba(255,60,172,.55), 0 0 20px -8px rgba(255,122,24,.4);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html,body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:hsl(222 47% 7%);
  color:var(--text);
  min-height:100%;
  -webkit-font-smoothing:antialiased;
}
body{
  background-image:var(--gradient-hero);
  background-attachment:fixed;
  min-height:100vh;
}
a{color:#fff;text-decoration:none}
a:hover{opacity:.9}
h1,h2,h3,h4{color:#fff;margin:0 0 12px}
h1{font-size:28px;letter-spacing:-.01em}
h2{font-size:22px}
h3{font-size:18px}
p{color:var(--muted);line-height:1.55}
code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:6px;font-size:12px;color:#fbbf24}

.container{max-width:1200px;margin:0 auto;padding:24px}

/* ---------- Glass card ---------- */
.card, .glass{
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px;
  box-shadow:0 20px 50px -30px rgba(0,0,0,.8);
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;font-size:14px;font-weight:600;border:1px solid var(--border-strong);
  background:rgba(255,255,255,.04);color:#fff;border-radius:10px;cursor:pointer;
  transition:all .2s ease;text-decoration:none;
}
.btn:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}
.btn-block{width:100%}
.btn-primary{
  background:var(--gradient-primary);
  background-size:200% 200%;
  color:#fff;border:none;
  box-shadow:var(--shadow-glow);
  transition:transform .2s ease, filter .2s ease, background-position .5s ease;
}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.08);background-position:100% 0}
.btn-ok{background:var(--green);border-color:transparent;color:#052e14}
.btn-ok:hover{background:#16a34a}
.btn-danger{background:var(--red);border-color:transparent;color:#fff}
.btn-danger:hover{background:#dc2626}

/* ---------- Nav / header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  border-bottom:1px solid var(--border);
}
.site-header .nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;max-width:1200px;margin:0 auto;
}
.site-header .brand{
  font-weight:800;font-size:18px;
  background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.site-header nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.site-header nav a{font-size:14px;color:var(--muted)}
.site-header nav a:hover{color:#fff}
.site-header nav a.btn{color:#fff}

/* ---------- Footer ---------- */
.site-footer{
  margin-top:60px;padding:28px 0;text-align:center;
  border-top:1px solid var(--border);color:var(--muted);font-size:13px;
}
.site-footer p{margin:4px 0;color:var(--muted)}

/* ---------- Forms ---------- */
.form-group{margin-bottom:14px}
.form-group label{display:block;color:#e5e7eb;font-size:13px;margin-bottom:6px;font-weight:500}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],input[type=tel],
input:not([type]),textarea,select{
  width:100%;padding:11px 14px;font-size:14px;font-family:inherit;
  background:rgba(255,255,255,.04);color:#fff;
  border:1px solid var(--border-strong);border-radius:10px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(255,122,24,.18);
}
input[type=checkbox]{width:auto;margin-right:6px;accent-color:var(--primary)}
textarea{resize:vertical;min-height:80px}

/* ---------- Auth wrap (login/register) ---------- */
.auth-wrap{
  max-width:420px;margin:60px auto;padding:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--border);border-radius:20px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.9), 0 0 40px -10px rgba(255,60,172,.15);
}
.auth-wrap h2{
  text-align:center;font-size:24px;margin-bottom:20px;
  background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.auth-wrap a{color:var(--primary)}
.auth-wrap a:hover{color:var(--pink)}

/* ---------- Flash ---------- */
.flash{
  max-width:1200px;margin:14px auto;padding:12px 16px;border-radius:10px;font-size:14px;
  border:1px solid transparent;
}
.flash-success{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.35);color:#86efac}
.flash-error{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.35);color:#fca5a5}

/* ---------- Dashboard / stats ---------- */
.dashboard h1{margin-bottom:20px}
.stat-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  margin-bottom:26px;
}
.stat{
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--border);border-radius:14px;padding:18px;
}
.stat .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.stat .value{font-size:26px;font-weight:800;color:#fff}

/* ---------- Table ---------- */
.table-wrap{
  overflow-x:auto;border:1px solid var(--border);border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
thead th{
  text-align:left;padding:12px 14px;color:var(--muted);font-weight:600;
  text-transform:uppercase;font-size:11px;letter-spacing:.06em;
  border-bottom:1px solid var(--border);background:rgba(255,255,255,.02);
}
tbody td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05);color:#e5e7eb;vertical-align:middle}
tbody tr:hover{background:rgba(255,255,255,.02)}
tbody tr:last-child td{border-bottom:none}
.actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* ---------- Pills ---------- */
.pill{
  display:inline-block;padding:3px 10px;font-size:11px;font-weight:700;
  border-radius:999px;text-transform:uppercase;letter-spacing:.04em;
}
.pill-active,.pill-approved{background:rgba(34,197,94,.15);color:#86efac;border:1px solid rgba(34,197,94,.35)}
.pill-pending{background:rgba(245,158,11,.15);color:#fcd34d;border:1px solid rgba(245,158,11,.35)}
.pill-processing{background:rgba(6,182,212,.15);color:#67e8f9;border:1px solid rgba(6,182,212,.35)}
.pill-rejected,.pill-blocked{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.35)}

/* ---------- Payment ---------- */
.payment-box{
  max-width:480px;margin:40px auto;padding:32px;text-align:center;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--border);border-radius:20px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.9), 0 0 40px -10px rgba(123,97,255,.2);
}
.payment-box h2{
  background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-size:24px;
}
.payment-box .price{
  font-size:40px;font-weight:800;margin:14px 0;color:#fff;
  background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.payment-box img{margin:10px auto;display:block}
.copy-row{
  display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0;
  background:rgba(255,255,255,.04);padding:10px 14px;border-radius:10px;
  border:1px solid var(--border);font-family:monospace;font-size:14px;
}

/* ---------- Admin layout ---------- */
.admin-layout{display:flex;min-height:100vh}
.admin-sidebar{
  width:240px;flex-shrink:0;padding:24px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  border-right:1px solid var(--border);
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
.admin-sidebar .brand{
  font-size:16px;font-weight:800;margin-bottom:22px;padding:0 8px;
  background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.admin-sidebar a{
  display:block;padding:11px 14px;margin-bottom:4px;border-radius:10px;
  color:var(--muted);font-size:14px;font-weight:500;transition:all .15s ease;
}
.admin-sidebar a:hover{background:rgba(255,255,255,.05);color:#fff}
.admin-sidebar a.active{
  background:var(--gradient-primary);color:#fff;
  box-shadow:0 8px 20px -8px rgba(255,60,172,.5);
}
.admin-main{flex:1;padding:28px;min-width:0}
.admin-main h1{margin-bottom:20px}

/* ---------- WhatsApp float ---------- */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:60;
  width:60px;height:60px;border-radius:50%;
  background:#22c55e;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px -8px rgba(34,197,94,.6), 0 0 20px -4px rgba(34,197,94,.4);
  animation:waPulse 2.2s ease-in-out infinite;
}
.wa-float:hover{transform:scale(1.06)}
@keyframes waPulse{0%,100%{box-shadow:0 10px 30px -8px rgba(34,197,94,.6),0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 10px 30px -8px rgba(34,197,94,.6),0 0 0 14px rgba(34,197,94,0)}}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .admin-layout{flex-direction:column}
  .admin-sidebar{width:100%;height:auto;position:relative;display:flex;flex-wrap:wrap;gap:4px;padding:12px}
  .admin-sidebar .brand{width:100%;margin-bottom:8px}
  .admin-sidebar a{flex:1 1 auto;text-align:center;padding:8px 10px;font-size:13px}
  .admin-main{padding:18px}
  .site-header .nav{flex-wrap:wrap;gap:10px}
  .site-header nav{gap:10px}
  h1{font-size:22px}
}

/* ---------- Logo ---------- */
.brand-link{display:inline-flex;align-items:center;line-height:0}
.brand-logo{height:36px !important;width:auto !important;max-width:160px !important;max-height:36px !important;object-fit:contain;display:block;filter:drop-shadow(0 4px 14px rgba(255,60,172,.25))}
.site-header .brand-logo{height:38px !important;max-height:38px !important}
.admin-sidebar .brand-block{margin-bottom:18px;padding:0 4px;display:flex;justify-content:center}
.admin-sidebar .brand-logo{height:40px !important;max-height:40px !important;max-width:170px !important}

.auth-logo{display:flex;justify-content:center;margin-bottom:18px}
.auth-logo img{height:48px !important;width:auto !important;max-width:180px !important;max-height:48px !important;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(255,60,172,.35))}
.auth-logo .brand-text{
  font-size:22px;font-weight:800;letter-spacing:-.02em;
  background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* License key cell */
.lic-wrap{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:8px;padding:4px 8px}
.lic-wrap code{background:transparent;color:#fff;font-size:12px;letter-spacing:.5px}
.btn-copy{background:var(--gradient-primary);color:#fff;border:none;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;cursor:pointer}
.btn-copy:hover{filter:brightness(1.1)}
