@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ===== 77BICOS — AURUM admin theme (layered over Bootstrap) ===== */
:root{
  --bg:#0C0A09; --surface:#17120D; --surface-2:#1F1812; --surface-3:#291F16;
  --line:rgba(232,196,116,0.10); --line-strong:rgba(232,196,116,0.24);
  --gold:#C8A24A; --gold-bright:#E8C474; --gold-deep:#8A6D2F; --gold-soft:rgba(200,162,74,0.10);
  --text:#F3ECE0; --muted:#A89B88; --dim:#6E6457; --danger:#E5604D; --success:#5BBF8A;
  --radius:16px;
}

body{
  background:
    radial-gradient(900px 520px at 8% -10%, rgba(200,162,74,0.07), transparent 60%),
    radial-gradient(820px 600px at 100% 0%, rgba(200,162,74,0.045), transparent 55%),
    var(--bg) !important;
  color:var(--text) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
h1,h2,h3,h4,h5,h6{ font-family:'Space Grotesk',sans-serif !important; letter-spacing:-.01em; color:var(--text); }
a{ color:var(--gold-bright); text-decoration:none; }
a:hover{ color:var(--gold); }
code{ color:var(--gold-bright); background:var(--gold-soft); padding:.05rem .35rem; border-radius:6px; }
hr{ border-color:var(--line); }
::selection{ background:rgba(200,162,74,.25); }
::-webkit-scrollbar{ width:9px;height:9px; } ::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:rgba(200,162,74,.18); border-radius:8px; }

/* ---- text utility overrides (bootstrap) ---- */
.text-muted{ color:var(--muted) !important; }
.text-white-50{ color:var(--muted) !important; }
.text-white{ color:var(--text) !important; }
.text-success{ color:var(--success) !important; }
.text-primary{ color:var(--gold-bright) !important; }
.text-secondary{ color:var(--muted) !important; }

/* ---- shell ---- */
.admin-shell{ display:flex; min-height:100vh; }
.sidebar{ width:240px; flex-shrink:0; background:#0A0807; border-right:1px solid var(--line);
  display:flex; flex-direction:column; padding:20px 14px; position:sticky; top:0; height:100vh; }
.sidebar-brand{ display:flex; align-items:center; gap:10px; padding:6px 6px 0; }
.brand-emblem{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:var(--gold-soft); border:1px solid var(--line-strong); color:var(--gold-bright); }
.brand-name{ font-family:'Space Grotesk'; font-weight:700; font-size:1.05rem; letter-spacing:.02em;
  background:linear-gradient(92deg,var(--gold-bright),var(--gold) 60%,#B7902F);
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.brand-sub{ font-size:10px; color:var(--dim); letter-spacing:.2em; margin-top:1px; }
.sidebar-label{ font-size:10px; letter-spacing:.18em; color:var(--dim); margin:22px 10px 8px; }
.nav-col{ display:flex; flex-direction:column; gap:3px; flex:1; }
.nav-item{ display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:11px;
  color:var(--dim); font-size:.86rem; font-weight:500; border-left:2px solid transparent; transition:.18s; }
.nav-item:hover{ color:var(--gold); background:rgba(200,162,74,.05); }
.nav-item.active{ color:var(--gold-bright); background:var(--gold-soft); border-left-color:var(--gold); }
.nav-item svg{ width:17px; height:17px; }
.sidebar-foot{ border-top:1px solid var(--line); padding-top:10px; margin-top:8px; }
.logout:hover{ color:var(--danger) !important; background:rgba(229,96,77,.08) !important; }
.main{ flex:1; min-width:0; display:flex; flex-direction:column; }
.topbar{ display:flex; align-items:center; justify-content:space-between; padding:16px 32px; border-bottom:1px solid var(--line); }
.topbar h1{ font-size:1.1rem; margin:0; }
.content{ padding:28px 32px 48px; }

/* ---- cards ---- */
.card{ background:linear-gradient(160deg,var(--surface) 0%,#130F0B 100%) !important;
  border:1px solid var(--line) !important; border-radius:var(--radius) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.4) !important; color:var(--text) !important; transition:border-color .2s, box-shadow .2s; }
.card:hover{ border-color:var(--line-strong) !important; }
.card-body{ padding:1.25rem 1.4rem !important; }
.text-bg-success,.text-bg-primary,.text-bg-info,.text-bg-secondary{
  background:linear-gradient(160deg,var(--surface) 0%,#130F0B 100%) !important; color:var(--text) !important;
  border:1px solid var(--line) !important; }

/* ---- stat ---- */
.stat-label{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.stat-value{ font-family:'Space Grotesk'; font-weight:700; font-size:1.9rem; line-height:1.1; color:var(--text); margin-top:.25rem; }
.stat-value.gold{ color:var(--gold-bright); }
.stat-value.success{ color:var(--success); }
.stat-value.dim{ color:var(--muted); }
.stat-value.lg{ font-size:2.6rem; }
.stat-ico{ width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:var(--gold-soft); border:1px solid var(--line); color:var(--gold); }
.stat-ico svg{ width:20px; height:20px; }

/* ---- buttons ---- */
.btn{ border-radius:11px !important; font-weight:600 !important; transition:.18s; border:1px solid transparent; }
.btn-primary,.btn-gold{ background:linear-gradient(135deg,var(--gold-bright),var(--gold) 55%,#B0862F) !important;
  border-color:rgba(255,240,200,.25) !important; color:#1A1206 !important; box-shadow:0 6px 16px rgba(200,162,74,.22) !important; }
.btn-primary:hover,.btn-gold:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.btn-success{ background:rgba(91,191,138,.12) !important; border-color:rgba(91,191,138,.4) !important; color:var(--success) !important; }
.btn-success:hover{ background:rgba(91,191,138,.2) !important; }
.btn-danger{ background:rgba(229,96,77,.12) !important; border-color:rgba(229,96,77,.4) !important; color:var(--danger) !important; }
.btn-danger:hover{ background:rgba(229,96,77,.2) !important; }
.btn-warning{ background:var(--gold-soft) !important; border-color:var(--line-strong) !important; color:var(--gold-bright) !important; }
.btn-outline-primary,.btn-outline-secondary{ background:rgba(200,162,74,.04) !important; border-color:var(--line-strong) !important; color:var(--gold-bright) !important; }
.btn-outline-primary:hover,.btn-outline-secondary:hover{ background:rgba(200,162,74,.1) !important; border-color:var(--gold) !important; color:var(--gold-bright) !important; }
.btn-sm{ font-size:.78rem !important; padding:.3rem .7rem !important; }

/* ---- forms ---- */
.form-control,.form-select{ background:rgba(255,250,240,.02) !important; border:1px solid var(--line) !important;
  color:var(--text) !important; border-radius:11px !important; }
.form-control:focus,.form-select:focus{ border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(200,162,74,.12) !important; background:rgba(255,250,240,.03) !important; }
.form-control::placeholder{ color:var(--dim) !important; }
.form-label{ color:var(--muted) !important; font-size:.8rem; font-weight:500; }
.form-select option{ background:var(--surface); color:var(--text); }

/* ---- tables ---- */
.table{ color:var(--text) !important; border-color:var(--line) !important; margin-bottom:0; }
.table>thead th{ color:var(--muted) !important; font-weight:600; text-transform:uppercase; font-size:.7rem;
  letter-spacing:.06em; border-bottom:1px solid var(--line-strong) !important; padding:.75rem .8rem; }
.table>tbody td{ border-color:var(--line) !important; padding:.7rem .8rem; vertical-align:middle; }
.table>:not(caption)>*>*{ background:transparent !important; box-shadow:none !important; }
.table-hover>tbody>tr:hover>*{ background:rgba(200,162,74,.05) !important; color:var(--text); }

/* ---- badges / chips / status ---- */
.badge{ font-weight:600; border-radius:999px; padding:.35em .65em; font-size:.7rem; }
.badge.bg-primary{ background:var(--gold-soft) !important; color:var(--gold-bright) !important; border:1px solid var(--line); }
.badge.bg-success{ background:rgba(91,191,138,.14) !important; color:var(--success) !important; border:1px solid rgba(91,191,138,.3); }
.badge.bg-secondary{ background:var(--surface-2) !important; color:var(--muted) !important; }
.chip{ display:inline-flex; align-items:center; gap:.35rem; font-size:.7rem; letter-spacing:.06em; font-weight:600;
  padding:.28rem .65rem; border-radius:999px; background:var(--gold-soft); border:1px solid var(--line); color:var(--gold-bright); }
.status-ativo{ color:var(--success); font-weight:600; }
.status-bloq{ color:var(--danger); font-weight:600; }
.status-pend{ color:var(--gold-bright); font-weight:600; }

/* ---- alerts ---- */
.alert{ border-radius:12px; border:1px solid var(--line); background:var(--surface-2); color:var(--text); }
.alert-success{ border-color:rgba(91,191,138,.3); color:var(--success); background:rgba(91,191,138,.08); }
.alert-danger{ border-color:rgba(229,96,77,.3); color:var(--danger); background:rgba(229,96,77,.08); }
.alert-warning{ border-color:var(--line-strong); color:var(--gold-bright); background:var(--gold-soft); }

/* ---- login ---- */
.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; position:relative; overflow:hidden; }
.login-wrap::before{ content:''; position:absolute; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle,rgba(200,162,74,.14),transparent 70%); top:-10%; pointer-events:none; }
.login-card{ width:100%; max-width:380px; position:relative; z-index:1; }

/* ---- motion ---- */
@keyframes fadeUp{ from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:none;} }
.fade-up{ animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) both; }

@media (max-width:860px){
  .admin-shell{ flex-direction:column; }
  .sidebar{ position:static; height:auto; width:100%; }
  .nav-col{ flex-direction:row; flex-wrap:wrap; }
  .content,.topbar{ padding-left:18px; padding-right:18px; }
}
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.01ms !important; transition-duration:.01ms !important; } }
