:root {
  --emerald:#013220;
  --emerald-2:#07533a;
  --gold:#d4af37;
  --gold-2:#f7df83;
  --ink:#07120e;
  --paper:#fbfaf5;
  --muted:#b8c7bd;
  --glass:rgba(255,255,255,.08);
  --line:rgba(212,175,55,.22);
}
[data-theme="light"] {
  --ink:#f8f6ed;
  --paper:#0d2419;
  --muted:#4c6758;
  --glass:rgba(1,50,32,.07);
}
* { box-sizing:border-box; }
body {
  margin:0;
  font-family:Inter,system-ui,sans-serif;
  color:var(--paper);
  background:
    radial-gradient(circle at 20% 10%, rgba(212,175,55,.18), transparent 32rem),
    linear-gradient(135deg, #06120e, var(--emerald) 48%, #07120e);
  min-height:100vh;
}
[data-theme="light"] body, html[data-theme="light"] body {
  color:#102419;
  background:linear-gradient(135deg,#f7f4e9,#fffdf7 50%,#eef7f0);
}
a { color:inherit; text-decoration:none; }
main { padding-top:86px; }
.glass-nav {
  background:rgba(1,50,32,.82);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.navbar-brand { color:var(--gold-2)!important; font-family:Cinzel,serif; font-weight:700; }
.brand-logo { width:46px; height:46px; object-fit:cover; border-radius:12px; box-shadow:0 0 28px rgba(212,175,55,.45); }
.nav-link { color:rgba(255,255,255,.82)!important; font-weight:600; }
.nav-link:hover { color:var(--gold-2)!important; }
.navbar-toggler { border-color:var(--line); filter:invert(1); }
.section { padding:76px 0; position:relative; }
.section-soft { background:rgba(255,255,255,.035); border-block:1px solid rgba(255,255,255,.06); }
.hero {
  min-height:760px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero::before, .pattern {
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:
    linear-gradient(30deg, transparent 24%, rgba(212,175,55,.45) 25%, transparent 26%),
    linear-gradient(150deg, transparent 24%, rgba(212,175,55,.45) 25%, transparent 26%);
  background-size:72px 72px;
  pointer-events:none;
}
.hero-logo {
  width:min(360px,82vw);
  border-radius:34px;
  box-shadow:0 30px 100px rgba(212,175,55,.34), inset 0 0 50px rgba(255,255,255,.18);
  animation:floaty 5s ease-in-out infinite;
}
@keyframes floaty { 50% { transform:translateY(-14px); } }
.eyebrow { color:var(--gold-2); text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:.78rem; }
.display-title, .gold-title {
  font-family:Cinzel,serif;
  font-weight:700;
  background:linear-gradient(90deg,#fff8cf,var(--gold),#fff4b8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.display-title { font-size:clamp(2.8rem,6vw,5.8rem); line-height:1; }
.lead { color:rgba(255,255,255,.76); }
[data-theme="light"] .lead { color:#4c6758; }
.glass-card {
  background:linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.045));
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 24px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(16px);
}
.btn-gold, .btn-emerald {
  border:0;
  color:#07120e!important;
  background:linear-gradient(135deg,#fff1a8,var(--gold),#b88719);
  font-weight:800;
  border-radius:999px;
  padding:.78rem 1.15rem;
  box-shadow:0 0 28px rgba(212,175,55,.3);
}
.btn-emerald { color:#fff!important; background:linear-gradient(135deg,var(--emerald-2),var(--emerald)); border:1px solid var(--line); }
.btn-outline-gold { color:var(--gold-2); border:1px solid var(--gold); border-radius:999px; font-weight:700; }
.btn-outline-gold:hover { background:var(--gold); color:#06120e; }
.icon-btn { width:42px; height:42px; border-radius:50%; border:1px solid var(--line); background:var(--glass); color:var(--gold-2); }
.form-control,.form-select {
  background:rgba(255,255,255,.08);
  color:var(--paper);
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  min-height:48px;
}
.form-control:focus,.form-select:focus { background:rgba(255,255,255,.12); color:var(--paper); border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(212,175,55,.18); }
.form-select option { color:#111; }
.profile-card { overflow:hidden; transition:.25s ease; height:100%; }
.profile-card:hover { transform:translateY(-6px); border-color:rgba(212,175,55,.55); }
.profile-photo { width:100%; aspect-ratio:4/3; object-fit:cover; background:#173b2a; }
.badge-gold { background:rgba(212,175,55,.18); color:var(--gold-2); border:1px solid var(--line); }
.stat { text-align:center; padding:26px; }
.stat strong { display:block; font-size:2.1rem; color:var(--gold-2); }
.mini-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:rgba(212,175,55,.14); color:var(--gold-2); font-size:1.35rem; }
.site-footer { padding:60px 0 24px; background:#04100b; border-top:1px solid var(--line); color:rgba(255,255,255,.72); }
.site-footer a { display:block; margin:.45rem 0; color:rgba(255,255,255,.72); }
.site-footer a:hover { color:var(--gold-2); }
.footer-logo { width:84px; border-radius:18px; margin-bottom:14px; }
.footer-bottom { margin-top:34px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); font-size:.9rem; }
.whatsapp-float { position:fixed; right:20px; bottom:20px; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#25d366; color:#fff; font-size:1.7rem; z-index:20; box-shadow:0 14px 35px rgba(0,0,0,.3); }
.flash-wrap { position:fixed; top:92px; left:0; right:0; z-index:30; }
.dashboard-shell { min-height:72vh; }
.admin-sidebar,.user-sidebar { position:sticky; top:105px; }
.table { --bs-table-color:var(--paper); --bs-table-bg:transparent; --bs-table-border-color:rgba(255,255,255,.1); }
@media (max-width:991px) {
  .hero { min-height:auto; padding:64px 0; }
  .section { padding:52px 0; }
}

