@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap');

:root{
  --admin-bg:#f3efe7;
  --admin-surface:#fffdf9;
  --admin-surface-soft:#f9f6ef;
  --admin-forest:#173d31;
  --admin-moss:#315d4b;
  --admin-terra:#c66b4e;
  --admin-ochre:#d9a441;
  --admin-ink:#232720;
  --admin-muted:#70736c;
  --admin-line:#ded7ca;
  --admin-shadow:0 18px 48px rgba(44,55,45,.08);
}

body{
  background:
    radial-gradient(circle at 92% 0%,rgba(217,164,65,.08),transparent 25%),
    var(--admin-bg)!important;
  color:var(--admin-ink)!important;
  font-family:"Manrope",Inter,system-ui,sans-serif!important;
  min-height:100vh;
}
a{text-decoration:none}
.admin-topbar{
  background:rgba(23,61,49,.97)!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
  box-shadow:0 8px 30px rgba(23,61,49,.12);
  position:sticky;top:0;z-index:1000;
  backdrop-filter:blur(14px);
}
.admin-topbar .navbar-brand{
  font-family:"Manrope",sans-serif;
  color:#fff!important;font-weight:800!important;letter-spacing:-.03em;
  display:flex;align-items:center;gap:.65rem;
}
.admin-brand-mark{
  width:31px;height:31px;border-radius:50%;display:grid;place-items:center;
  background:var(--admin-ochre);color:var(--admin-forest);font-size:.65rem;
}
.admin-nav-link{
  color:rgba(255,255,255,.72)!important;border:1px solid transparent!important;
  background:transparent!important;border-radius:999px!important;
  padding:.5rem .78rem!important;font-size:.8rem!important;font-weight:700!important;
}
.admin-nav-link:hover{
  color:#fff!important;background:rgba(255,255,255,.08)!important;
}
.admin-nav-exit{color:#ffd7ce!important}
.admin-nav-exit:hover{background:rgba(198,107,78,.18)!important}

main.container,.container.py-5,.container.py-4{position:relative}

.text-neon,.section-kicker{
  color:var(--admin-terra)!important;
}
main h1,.admin-page-title{
  font-family:"Sora","Manrope",system-ui,sans-serif!important;
  color:var(--admin-forest)!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
}
main h2,main h3,main h4,main h5{
  color:var(--admin-ink);
}
.text-secondary,.organizer{color:var(--admin-muted)!important}

.panel,.panel-card,.card{
  background:var(--admin-surface)!important;
  border:1px solid var(--admin-line)!important;
  border-radius:20px!important;
  color:var(--admin-ink)!important;
  box-shadow:0 6px 24px rgba(44,55,45,.04);
}
.panel:hover,.panel-card:hover{border-color:#d1c6b5!important}
.metric{
  color:var(--admin-forest)!important;
  font-family:"Sora","Manrope",system-ui,sans-serif!important;
  font-size:2.3rem!important;
  line-height:1!important;
}
.metric.text-neon{color:var(--admin-moss)!important}

.table{
  --bs-table-bg:transparent!important;
  --bs-table-color:var(--admin-ink)!important;
  --bs-table-border-color:var(--admin-line)!important;
  color:var(--admin-ink)!important;
}
.table thead th{
  color:var(--admin-muted)!important;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;
  border-bottom-width:1px!important;
}
.table tbody tr:hover{background:#faf7f0}
.table td,.table th{vertical-align:middle}

.form-control,.form-select,textarea.form-control{
  background:#fff!important;
  color:var(--admin-ink)!important;
  border:1px solid #d8d0c2!important;
  border-radius:12px!important;
  padding:.72rem .85rem;
}
.form-control:focus,.form-select:focus,textarea.form-control:focus{
  background:#fff!important;color:var(--admin-ink)!important;
  border-color:var(--admin-moss)!important;
  box-shadow:0 0 0 .18rem rgba(49,93,75,.10)!important;
}
.form-control::placeholder{color:#aaa398!important}
.form-check-input:checked{background-color:var(--admin-moss)!important;border-color:var(--admin-moss)!important}

.btn-neon,.bg-neon,.btn-success{
  background:var(--admin-forest)!important;
  color:#fff!important;border-color:var(--admin-forest)!important;
  border-radius:999px!important;font-weight:800!important;
}
.btn-neon:hover,.bg-neon:hover,.btn-success:hover{
  background:var(--admin-moss)!important;border-color:var(--admin-moss)!important;color:#fff!important;
}
.btn-outline-light{
  color:var(--admin-forest)!important;border-color:#cfc7ba!important;background:#fff!important;
  border-radius:999px!important;
}
.btn-outline-light:hover{
  color:#fff!important;background:var(--admin-forest)!important;border-color:var(--admin-forest)!important;
}
.btn-outline-secondary{
  color:#686d66!important;border-color:#cfc7ba!important;border-radius:999px!important;
}
.btn-outline-primary,.btn-outline-info,.btn-outline-warning{
  border-radius:999px!important;
}
.btn-outline-primary{color:#355a7b!important;border-color:#b8c8d7!important}
.btn-outline-info{color:#376b6e!important;border-color:#b8d5d2!important}
.btn-outline-warning{color:#8b6722!important;border-color:#dcc894!important}

.alert{
  border-radius:16px!important;border-width:1px!important;
  box-shadow:none!important;
}
.alert-info{background:#edf5f1!important;color:#244c3e!important;border-color:#c9ddd4!important}
.alert-warning{background:#fff7e8!important;color:#71541f!important;border-color:#ead8ad!important}
.alert-danger{background:#fff0ed!important;color:#7b3d31!important;border-color:#edc6bc!important}
.alert-success{background:#edf6ef!important;color:#2f5b3b!important;border-color:#c7ddcd!important}

.badge{border-radius:999px!important;padding:.45em .65em!important}
.bg-success{background:var(--admin-moss)!important}
.bg-secondary{background:#7c8179!important}

code{color:#9a4e38!important}
pre{
  background:#f7f3ec!important;color:var(--admin-ink)!important;
  border:1px solid var(--admin-line)!important;border-radius:14px!important;
}

.admin-footer{
  border-top:1px solid var(--admin-line);color:var(--admin-muted);
  padding:2rem 0 2.6rem;margin-top:3rem;font-size:.82rem;
}

@media(max-width:767px){
  .admin-topbar .container{align-items:flex-start!important}
  .admin-topbar .navbar-brand{padding-top:.35rem}
  .admin-topbar .ms-auto{width:100%;margin-left:0!important;padding-top:.35rem}
  .admin-nav-link{font-size:.75rem!important;padding:.42rem .65rem!important}
  main.container{padding-top:1.6rem!important}
  .panel,.panel-card,.card{border-radius:16px!important}
}


/* Termos e textos legais no ambiente administrativo */
.terms-scroll{
  max-height:260px;
  overflow:auto;
  background:var(--admin-surface-soft)!important;
  color:var(--admin-ink)!important;
  border:1px solid var(--admin-line)!important;
  border-radius:14px!important;
  line-height:1.65;
  font-size:.86rem;
}
.terms-scroll::-webkit-scrollbar{width:10px}
.terms-scroll::-webkit-scrollbar-track{background:#eee8dd;border-radius:999px}
.terms-scroll::-webkit-scrollbar-thumb{background:#b9afa0;border-radius:999px}
.terms-scroll::-webkit-scrollbar-thumb:hover{background:#9f9485}


/* Planos no onboarding */
.plan-option,
.plan-card,
.pricing-card {
  background:var(--admin-surface)!important;
  border:1px solid var(--admin-line)!important;
  color:var(--admin-ink)!important;
  border-radius:18px!important;
  box-shadow:0 6px 24px rgba(44,55,45,.04);
}

.plan-option h3,
.plan-option h4,
.plan-option .plan-name,
.plan-card h3,
.plan-card h4,
.pricing-card h3,
.pricing-card h4 {
  color:var(--admin-forest)!important;
}

.plan-option p,
.plan-option .text-muted,
.plan-option small,
.plan-card p,
.plan-card small,
.pricing-card p,
.pricing-card small {
  color:var(--admin-muted)!important;
}

.plan-option .price,
.plan-card .price,
.pricing-card .price,
.plan-card .display-6 {
  color:var(--admin-forest)!important;
  font-family:"Sora","Manrope",system-ui,sans-serif!important;
  font-size:2rem!important;
  font-weight:700!important;
}

.plan-option.selected,
.plan-card.selected,
.pricing-card.selected,
.plan-card:has(.form-check-input:checked) {
  border-color:var(--admin-moss)!important;
  box-shadow:0 0 0 .2rem rgba(49,93,75,.10)!important;
  background:#f8fbf8!important;
}

.plan-card:hover {
  border-color:var(--admin-moss)!important;
  transform:translateY(-2px);
}

.plan-option .badge,
.plan-card .badge,
.pricing-card .badge {
  background:var(--admin-forest)!important;
  color:#fff!important;
}

.plan-card hr {
  border-color:var(--admin-line)!important;
  opacity:1;
}

.plan-card .text-warning {
  color:#8b6722!important;
}

/* Compatibilidade para outros blocos de termos */
.terms-box,
.termos-box,
.terms-content,
textarea.terms,
pre.terms {
  background:#fff!important;
  color:var(--admin-ink)!important;
  border:1px solid var(--admin-line)!important;
  border-radius:14px!important;
}

.terms-box *,
.termos-box *,
.terms-content * {
  color:var(--admin-ink)!important;
}

/* Tipografia de painéis: hierarquia moderna sem títulos serifados. */
main h1,.admin-page-title{line-height:1.2!important;letter-spacing:-.035em!important}
.metric{font-size:1.85rem!important;line-height:1.2!important;font-weight:700!important}
.plan-option .price,.plan-card .price,.pricing-card .price,.plan-card .display-6{
  font-size:1.7rem!important;line-height:1.2!important
}
