:root{
  --lp-bg-0:#0b1020;
  --lp-bg-1:#0f172a;
  --lp-bg-2:#111c35;
  --lp-surface:rgba(255,255,255,.06);
  --lp-surface-2:rgba(255,255,255,.09);
  --lp-border:rgba(255,255,255,.10);
  --lp-text:#e5e7eb;
  --lp-text-2:rgba(229,231,235,.72);
  --lp-muted:rgba(229,231,235,.55);
  --lp-primary:#7c3aed;
  --lp-primary-2:#22d3ee;
  --lp-danger:#ef4444;
  --lp-success:#22c55e;
  --lp-warning:#f59e0b;
  --lp-shadow:0 18px 60px rgba(0,0,0,.45);
  --lp-shadow-soft:0 10px 30px rgba(0,0,0,.30);
  --lp-radius:14px;
}

html,body{height:100%;}
body{
  /* Bootstrap variables override (critical for readable text in cards/tables) */
  --bs-body-bg: var(--lp-bg-0);
  --bs-body-color: var(--lp-text);
  --bs-emphasis-color: var(--lp-text);
  --bs-secondary-color: var(--lp-text-2);
  --bs-tertiary-color: var(--lp-muted);
  --bs-border-color: var(--lp-border);
  --bs-heading-color: var(--lp-text);

  background:
    radial-gradient(1200px 800px at 10% -10%, rgba(124,58,237,.35), transparent 55%),
    radial-gradient(1000px 700px at 110% 10%, rgba(34,211,238,.25), transparent 55%),
    radial-gradient(900px 700px at 50% 120%, rgba(124,58,237,.18), transparent 55%),
    linear-gradient(180deg, var(--lp-bg-0), var(--lp-bg-1) 45%, var(--lp-bg-0));
  color:var(--lp-text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

/* Links */
a{color:rgba(34,211,238,.95); text-decoration:none;}
a:hover{color:rgba(34,211,238,1); text-decoration:underline;}

/* Bootstrap surface overrides */
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
  border:1px solid var(--lp-border);
  border-radius:var(--lp-radius);
  box-shadow:var(--lp-shadow-soft);
  color: var(--lp-text);
}
.card-header{
  background:rgba(255,255,255,.06);
  border-bottom:1px solid var(--lp-border);
  color: var(--lp-text);
}
.card-title,.card-text,.card-body{color: var(--lp-text);}
.card .text-muted{color: var(--lp-muted) !important;}
.modal-content{
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.06));
  border:1px solid var(--lp-border);
  border-radius:var(--lp-radius);
}

/* Forms */
.form-label{color:var(--lp-text-2);}
.form-control,.form-select{
  background:rgba(15,23,42,.55);
  border:1px solid rgba(255,255,255,.12);
  color:var(--lp-text);
  border-radius:12px;
}
.form-control::placeholder{color:rgba(229,231,235,.35);}
.form-control:focus,.form-select:focus{
  background:rgba(15,23,42,.70);
  border-color:rgba(34,211,238,.55);
  box-shadow:0 0 0 .25rem rgba(34,211,238,.15);
  color:var(--lp-text);
}
.input-group-text{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--lp-text-2);
}

/* Buttons */
.btn{border-radius:12px;}
.btn-primary{
  border:0;
  background:linear-gradient(135deg, var(--lp-primary), var(--lp-primary-2));
  box-shadow:0 10px 25px rgba(124,58,237,.25);
}
.btn-primary:hover{
  filter:saturate(1.05) brightness(1.05);
}
.btn-outline-primary{
  color:rgba(34,211,238,.95);
  border-color:rgba(34,211,238,.45);
}
.btn-outline-primary:hover{
  background:rgba(34,211,238,.12);
  border-color:rgba(34,211,238,.55);
}
.btn-secondary{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:var(--lp-text);
}
.btn-secondary:hover{background:rgba(255,255,255,.10);}

/* Alerts */
.alert{
  border-radius:var(--lp-radius);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:var(--lp-text);
}
.alert-danger{border-color:rgba(239,68,68,.35); background:rgba(239,68,68,.10);}
.alert-success{border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.10);}
.alert-info{border-color:rgba(34,211,238,.30); background:rgba(34,211,238,.08);}
.alert-warning{border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.10);}

/* Tables */
.table{
  --bs-table-color: var(--lp-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(255,255,255,.08);
  --bs-table-striped-color: var(--lp-text);
  --bs-table-striped-bg: rgba(255,255,255,.035);
  --bs-table-hover-color: var(--lp-text);
  --bs-table-hover-bg: rgba(255,255,255,.05);
  color:var(--lp-text);
}
.table > :not(caption) > * > *{
  background-color: transparent;
}
.table thead th{
  color:rgba(229,231,235,.75);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.table td,.table th{border-color:rgba(255,255,255,.08) !important;}
.table-hover > tbody > tr:hover{background:rgba(255,255,255,.04);}
.table-responsive{
  border:1px solid rgba(255,255,255,.08);
  border-radius: var(--lp-radius);
  overflow:hidden;
}

/* Badges */
.badge{border-radius:999px; padding:.35rem .6rem; font-weight:600;}
.bg-success{background-color:rgba(34,197,94,.20) !important; color:#bbf7d0 !important;}
.bg-warning{background-color:rgba(245,158,11,.20) !important; color:#fde68a !important;}
.bg-danger{background-color:rgba(239,68,68,.20) !important; color:#fecaca !important;}
.bg-info{background-color:rgba(34,211,238,.18) !important; color:#a5f3fc !important;}

/* Code */
code{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:#a5f3fc;
  padding:.15rem .45rem;
  border-radius:10px;
}

/* Text utils */
.text-muted{color:var(--lp-muted) !important;}

/* Admin layout */
.lp-admin-shell{min-height:100vh;}
.lp-sidebar{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-right:1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.lp-brand{
  font-weight:700;
  letter-spacing:.3px;
}
.lp-nav .nav-link{
  color:var(--lp-text-2);
  border-radius:12px;
  padding:.7rem .9rem;
  transition:all .18s ease;
}
.lp-nav .nav-link:hover{
  background:rgba(34,211,238,.10);
  color:var(--lp-text);
  text-decoration:none;
}
.lp-nav .nav-link.active{
  background:linear-gradient(135deg, rgba(124,58,237,.20), rgba(34,211,238,.14));
  border:1px solid rgba(34,211,238,.20);
  color:var(--lp-text);
}

/* Revendedor navbar */
.lp-navbar{
  background:linear-gradient(135deg, rgba(124,58,237,.65), rgba(34,211,238,.45));
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}
.lp-navbar .nav-link{color:rgba(255,255,255,.85);}
.lp-navbar .nav-link:hover{color:#fff; text-decoration:none;}
.lp-navbar .nav-link.active{color:#fff; font-weight:700;}

/* Auth pages */
.lp-auth{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.lp-auth-card{
  width:100%;
  max-width:420px;
  padding:34px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  box-shadow:var(--lp-shadow);
}

/* Product cards */
.product-card{transition:transform .18s ease, box-shadow .18s ease;}
.product-card:hover{transform:translateY(-6px); box-shadow:0 22px 70px rgba(0,0,0,.45);}
.btn-download{
  background:linear-gradient(135deg, var(--lp-primary), var(--lp-primary-2));
  border:0;
}
.version-badge{
  background:rgba(34,211,238,.18);
  border:1px solid rgba(34,211,238,.25);
  color:#a5f3fc;
  padding:4px 12px;
  border-radius:999px;
  font-size:.85em;
  font-weight:700;
}

/* Scrollbar (Chromium) */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px;}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.20);}

