/* Camada visual unificada. A estrutura e as funções originais permanecem intactas. */
:root {
  --primary:#c99a22; --primary-dark:#a87708; --primary-soft:#fff8e4;
  --bg:#f5f7fb; --surface:#fff; --surface-soft:#f8fafc;
  --text:#111827; --muted:#64748b; --border:#e2e8f0;
  --success:#16a34a; --error:#dc2626; --warning:#d97706;
  --radius:18px; --radius-sm:12px;
  --shadow:0 12px 32px rgba(15,23,42,.07);
  --shadow-hover:0 20px 45px rgba(15,23,42,.11);
  --focus:0 0 0 4px rgba(201,154,34,.16);
}
html { scroll-padding-top:84px; }
body {
  color:var(--text);
  background:radial-gradient(circle at 8% 0%,rgba(212,175,55,.1),transparent 27rem),linear-gradient(180deg,#f8fafc 0%,var(--bg) 100%);
  font-family:Inter,Poppins,"Segoe UI",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img,video,iframe { max-width:100%; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:where(a,button,input,textarea,select):focus-visible { outline:3px solid rgba(201,154,34,.4); outline-offset:3px; }
::selection { background:rgba(212,175,55,.26); color:#111827; }

.card,.auth-card,.checkout-card,.course-card,.stat-card,.profile-card.card,.admin-card {
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:var(--radius)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--shadow)!important;
}
.card,.course-card,.benefit-card,.pricing-card { transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
@media (hover:hover) {
  .card:hover,.course-card:hover,.benefit-card:hover,.pricing-card:hover {
    transform:translateY(-4px); box-shadow:var(--shadow-hover)!important; border-color:rgba(201,154,34,.34)!important;
  }
}

.btn,a.btn,button.btn,.landing-page .btn-primary,.landing-page .btn-secondary {
  min-height:44px; border-radius:12px!important; padding:.72rem 1.15rem;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:1px solid transparent; font-weight:700; line-height:1.2; cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.btn-primary,a.btn-primary,button.btn-primary,.landing-page a.btn-primary {
  color:#17130a!important; border-color:rgba(168,119,8,.18)!important;
  background:linear-gradient(135deg,#f1cc64 0%,#d4af37 52%,#bd8610 100%)!important;
  box-shadow:0 9px 22px rgba(180,128,11,.22)!important;
}
.btn-secondary,a.btn-secondary,button.btn-secondary,.landing-page a.btn-secondary {
  color:#334155!important; border-color:var(--border)!important; background:#fff!important;
  box-shadow:0 4px 12px rgba(15,23,42,.05);
}
.btn-danger { color:#fff!important; background:#dc2626!important; }
.btn-success { color:#fff!important; background:#16a34a!important; }
.btn-outline { background:transparent!important; border-color:#c99a22!important; color:#8a620b!important; }
@media (hover:hover) {
  .btn:hover,.landing-page .btn-primary:hover,.landing-page .btn-secondary:hover { transform:translateY(-2px); filter:saturate(1.04); }
}

input:not([type="checkbox"]):not([type="radio"]),textarea,select,.customer-name,.table-filter {
  width:100%; min-height:46px; color:var(--text)!important;
  border:1px solid var(--border)!important; border-radius:12px!important;
  background:#fff!important; box-shadow:0 1px 2px rgba(15,23,42,.02);
}
input:focus,textarea:focus,select:focus,.table-filter:focus { border-color:#c99a22!important; box-shadow:var(--focus)!important; }
label { color:#334155; font-weight:650; }
.form-group { min-width:0; }
.text-muted { color:var(--muted)!important; }
.alert { border-radius:12px!important; border:1px solid transparent; box-shadow:0 8px 22px rgba(15,23,42,.06); }
.alert-success { color:#166534!important; background:#ecfdf5!important; border-color:#bbf7d0!important; }
.alert-error { color:#991b1b!important; background:#fef2f2!important; border-color:#fecaca!important; }
.badge { border-radius:999px!important; letter-spacing:.04em; }
.progress-bar { height:9px; border-radius:999px; background:#e9eef5!important; }
.progress-fill { border-radius:inherit; background:linear-gradient(90deg,#b88210,#edca64)!important; }

.table-wrap,.table-scroll-container {
  width:100%; overflow-x:auto; border:1px solid var(--border)!important;
  border-radius:14px!important; background:#fff; -webkit-overflow-scrolling:touch;
}
.data-table,table { border-collapse:separate; border-spacing:0; }
.data-table th,table th {
  color:#475569!important; background:#f8fafc!important; font-size:.76rem!important;
  letter-spacing:.045em; text-transform:uppercase;
}
.data-table th,.data-table td,table th,table td { padding:.85rem 1rem!important; border-bottom:1px solid #edf1f5; }
.data-table tbody tr:last-child td,table tbody tr:last-child td { border-bottom:0; }
.data-table tbody tr:hover,table tbody tr:hover { background:#fffaf0!important; }
.modal-overlay { padding:1rem; backdrop-filter:blur(6px); }
.modal { border-radius:20px!important; border:1px solid rgba(255,255,255,.6); box-shadow:0 30px 80px rgba(15,23,42,.22)!important; }

.app-layout { min-height:100dvh; }
body.app-page .sidebar {
  width:264px!important; padding:22px 14px!important; background:rgba(255,255,255,.94)!important;
  border-right:1px solid rgba(148,163,184,.22)!important;
  box-shadow:8px 0 28px rgba(15,23,42,.045)!important; backdrop-filter:blur(18px);
}
body.app-page .sidebar-brand {
  min-height:56px; display:flex; align-items:center; margin:0 8px 24px!important;
  font-size:1.16rem!important; font-weight:850!important; letter-spacing:-.035em; color:#111827!important;
}
body.app-page .sidebar-brand::before {
  content:"5"; width:38px; height:38px; margin-right:10px; display:inline-grid; place-items:center;
  flex:0 0 auto; border-radius:11px; color:#17130a;
  background:linear-gradient(145deg,#f4d77c,#c8951d); box-shadow:0 8px 18px rgba(180,128,11,.2);
}
body.app-page .sidebar nav { gap:5px!important; }
body.app-page .sidebar nav a {
  min-height:46px; padding:.78rem .9rem!important; border:1px solid transparent;
  border-radius:12px!important; color:#586579!important; font-weight:650!important;
}
body.app-page .sidebar nav a i { width:20px; color:#8995a6; text-align:center; }
body.app-page .sidebar nav a:hover { background:#f8fafc!important; color:#111827!important; transform:none!important; }
body.app-page .sidebar nav a.active {
  color:#5f4305!important; background:linear-gradient(135deg,#fff8e6,#fffdf7)!important;
  border-color:rgba(201,154,34,.24)!important; box-shadow:0 8px 18px rgba(180,128,11,.08)!important;
}
body.app-page .sidebar nav a.active i { color:#b27d0d; }
.sidebar-user {
  margin-top:auto; padding:.85rem 1rem; border:1px solid var(--border); border-radius:12px;
  color:#475569; background:#f8fafc; overflow:hidden; text-overflow:ellipsis;
}
body.app-page .top-header {
  left:264px!important; height:78px!important; padding:0 clamp(18px,3vw,38px)!important;
  background:rgba(15,23,42,.94)!important; border-bottom-color:rgba(255,255,255,.08)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
}
body.app-page .top-header-left h2 { font-size:clamp(1.05rem,2vw,1.35rem)!important; letter-spacing:-.02em; }
body.app-page .top-header-left p { color:#a9b5c6!important; }
body.app-page .top-header .badge { color:#f8e8b0!important; border-color:rgba(244,215,124,.2)!important; background:rgba(212,175,55,.1)!important; }
body.app-page .profile-button { border-radius:13px!important; }
body.app-page .main-content { margin-left:264px!important; padding:106px clamp(18px,3vw,40px) 40px!important; min-width:0; }

.dashboard-grid { gap:18px!important; }
.dashboard-card { min-height:210px; display:flex; flex-direction:column; }
.dashboard-card .card-icon {
  width:46px; height:46px; display:grid; place-items:center; border-radius:13px;
  color:#9a6b08; background:var(--primary-soft);
}
.dashboard-card .btn { margin-top:auto; align-self:flex-start; }
.stat { color:#a9760a!important; letter-spacing:-.04em; }
.courses-grid { gap:20px!important; }
.course-card { overflow:hidden; min-width:0; }
.course-card img,.course-thumbnail img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.lesson-video,.video-container {
  overflow:hidden; border-radius:16px!important; background:#090d15;
  box-shadow:0 18px 45px rgba(15,23,42,.15);
}
.lesson-actions { gap:10px; }

body.auth-page {
  min-height:100dvh;
  background:radial-gradient(circle at 16% 12%,rgba(212,175,55,.2),transparent 30rem),radial-gradient(circle at 90% 90%,rgba(15,23,42,.08),transparent 35rem),#f5f7fb!important;
}
.auth-container,.auth-wrapper { width:100%; padding:24px; }
.auth-card { width:min(100%,460px)!important; padding:clamp(24px,5vw,42px)!important; }
.auth-card h1,.auth-card h2 { letter-spacing:-.035em; }
.auth-logo img { max-width:150px; height:auto; }
.checkout-page { min-height:100dvh; padding:clamp(18px,4vw,48px) 16px!important; }
.checkout-card { width:min(100%,920px)!important; padding:clamp(20px,4vw,42px)!important; }
.payment-tabs { padding:4px; border-radius:12px!important; background:#f1f5f9; }
.payment-tabs .tab { border:0; border-radius:9px!important; }
.payment-tabs .tab.active { color:#17130a!important; background:#fff!important; box-shadow:0 4px 12px rgba(15,23,42,.08); }

.admin-layout,.admin-wrapper { min-height:100dvh; background:transparent!important; }
.admin-sidebar {
  width:264px!important; padding:22px 14px!important; background:rgba(255,255,255,.96)!important;
  border-right:1px solid var(--border)!important; box-shadow:8px 0 28px rgba(15,23,42,.05)!important;
}
.admin-sidebar .sidebar-menu>a,.admin-sidebar .menu-toggle { min-height:44px; border-radius:11px!important; }
.admin-sidebar .sidebar-menu>a.active { color:#17130a!important; background:linear-gradient(135deg,#f2d16d,#c9971f)!important; }
.admin-main,.admin-content { min-width:0; }
.admin-header { backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.admin-menu-toggle,.sidebar-toggle {
  border-radius:12px!important; background:linear-gradient(145deg,#f0ce68,#c7931c)!important;
  color:#17130a!important; box-shadow:0 10px 24px rgba(180,128,11,.2)!important;
}

.landing-page { background:#f7f8fb!important; }
.landing-page::before { opacity:.55; }
.landing-page .container { width:min(1180px,calc(100% - 32px)); padding-left:0; padding-right:0; }
.landing-page .hero { min-height:82dvh!important; padding:clamp(80px,12vw,140px) 0!important; }
.landing-page .hero-logo { max-width:clamp(150px,22vw,235px); filter:drop-shadow(0 14px 24px rgba(15,23,42,.1)); }
.landing-page .hero-badge { border:1px solid rgba(201,154,34,.25); background:rgba(255,248,228,.85); color:#805b0a; }
.landing-page .hero h1 {
  max-width:930px; margin-inline:auto; font-size:clamp(2.25rem,6vw,5rem)!important;
  line-height:1.03!important; letter-spacing:-.055em; text-wrap:balance;
}
.landing-page .hero p { max-width:690px; margin-inline:auto; font-size:clamp(1rem,2vw,1.2rem)!important; }
.landing-page .hero-buttons { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.benefits,.cta { padding:clamp(64px,8vw,100px) 0!important; }
.benefits h2,.cta h2 { font-size:clamp(2rem,4vw,3.25rem)!important; letter-spacing:-.045em; text-wrap:balance; }
.benefits-grid { gap:18px!important; }
.benefit-card {
  border-radius:18px!important; border:1px solid var(--border)!important;
  background:rgba(255,255,255,.92)!important; box-shadow:var(--shadow)!important;
}
.benefit-card h3 { color:#111827!important; }
.landing-page .cta {
  margin:0 16px 24px; border-radius:28px;
  background:linear-gradient(135deg,#0f172a,#25334a)!important;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}
.landing-footer { padding:28px 16px!important; }

@media (max-width:992px) {
  body.app-page .top-header { left:0!important; }
  body.app-page .main-content { margin-left:0!important; }
  body.app-page .sidebar {
    top:0!important; left:0!important; height:100dvh!important; transform:translateX(-105%)!important;
    border-radius:0 18px 18px 0!important; z-index:2000!important;
  }
  body.app-page .sidebar.open,body.app-page .sidebar.active { transform:translateX(0)!important; }
  .sidebar-overlay { z-index:1999!important; }
  .sidebar-toggle { display:flex!important; z-index:2002!important; }
  .admin-sidebar {
    transform:translateX(-105%); left:0!important; z-index:9999!important;
    transition:transform .28s ease!important;
  }
  .admin-sidebar.active { transform:translateX(0); }
}
@media (max-width:768px) {
  body.app-page .top-header { height:70px!important; padding:0 14px 0 66px!important; }
  body.app-page .top-header-left { max-width:calc(100% - 54px)!important; }
  body.app-page .top-header-left h2 { white-space:nowrap!important; overflow:hidden; text-overflow:ellipsis; }
  body.app-page .top-header-left p,body.app-page .top-header .badge { display:none!important; }
  body.app-page .main-content { padding:90px 14px 28px!important; }
  .dashboard-grid,.courses-grid { grid-template-columns:1fr!important; }
  .dashboard-card { min-height:185px; }
  .navbar { align-items:stretch!important; }
  .navbar h1 { font-size:1.55rem!important; }
  .card,.profile-card.card { padding:18px!important; }
  .actions { flex-wrap:wrap; }
  .lesson-actions,.card-row { flex-direction:column!important; }
  .data-table { min-width:640px; }
  .table-wrap::after,.table-scroll-container::after {
    content:"Deslize para ver mais →"; display:block; position:sticky; left:0;
    padding:8px 12px; color:#64748b; background:#f8fafc; font-size:.76rem;
  }
  .landing-page .hero-buttons a { width:min(100%,340px); }
  .landing-page .cta { margin-inline:10px; border-radius:22px; }
}
@media (max-width:480px) {
  body.app-page .main-content { padding-inline:10px!important; }
  .card,.profile-card.card,.auth-card,.checkout-card { border-radius:15px!important; padding:16px!important; }
  .btn:not(.btn-inline),.affiliate-nav-links .btn { width:100%; }
  .landing-page .container { width:min(100% - 24px,1180px); }
  .landing-page .hero h1 { font-size:clamp(2rem,11vw,3rem)!important; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important; animation-duration:.01ms!important;
    animation-iteration-count:1!important; transition-duration:.01ms!important;
  }
}
