:root {
  color-scheme: dark;
  --surface: #141519;
  --surface-raised: #1a1c22;
  --surface-hover: #242730;
  --line: #242730;
  --muted: #9aa1ad;
  --text: #e4e4e7;
  --accent: #3b82f6;
  --accent-strong: #2563eb;
}

html,
body {
  background-color: #0b0c0e !important;
  color: var(--text) !important;
  font-family: Inter, "Plus Jakarta Sans", system-ui, sans-serif !important;
}

body {
  background-image: radial-gradient(ellipse at 50% -28%, rgba(59, 130, 246, .10), transparent 58%);
}

::selection { background: rgba(59, 130, 246, .3); color: #fff; }
:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px; }

.panel,
.mod-card,
.section-card {
  background: var(--surface) !important;
  border-color: var(--line) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
}

.section-card { overflow: hidden; }
.section-card::before { background: var(--accent) !important; }
.section-head { border-color: var(--line) !important; }
.section-head h2 i { background: var(--accent-strong) !important; border-radius: 6px !important; box-shadow: none !important; }

input,
select,
textarea,
.inp {
  background-color: #0f171c !important;
  border-color: var(--line) !important;
  border-radius: 6px !important;
  color: var(--text) !important;
}
input::placeholder,
textarea::placeholder { color: #73848d !important; }
input:focus,
select:focus,
textarea:focus,
.inp:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(84, 196, 173, .12); }

button,
a { transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; }
button:disabled { cursor: not-allowed; opacity: .55; }
.btn,
button.btn { border-radius: 6px !important; }
.btn-primary,
button.bg-blue-600,
button.bg-green-600 { background: var(--accent-strong) !important; color: #071411 !important; }
.btn-primary:hover,
button.bg-blue-600:hover,
button.bg-green-600:hover { background: #60a5fa !important; }
.btn-ghost { background: var(--surface-hover) !important; color: var(--text) !important; }
.btn-danger { border-radius: 6px !important; }
.badge { border-radius: 5px !important; padding: .25rem .5rem !important; }

table { border-collapse: collapse; }
thead { background: #10171c; }
thead th {
  color: #aebbc1 !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
tbody tr { border-color: rgba(155, 176, 185, .12) !important; }
tbody tr:hover { background: rgba(84, 196, 173, .045); }
td, th { vertical-align: middle; }

#auth-screen { background: transparent; }
#auth-screen > .panel { width: min(100%, 420px); padding: 2rem !important; }
#auth-screen h1 { letter-spacing: -.02em; }
#auth-screen button[type="submit"] {
  background: var(--accent-strong) !important;
  color: #071411 !important;
  border-radius: 6px !important;
}
#auth-screen button[type="submit"]:hover { background: #60a5fa !important; }

/* Admin workspace */
#main > aside {
  width: 248px !important;
  min-width: 248px;
  background: #10171c !important;
  border-color: var(--line) !important;
  box-shadow: 8px 0 28px rgba(0, 0, 0, .12);
}
#main > aside > div:first-child {
  min-height: 68px;
  display: flex;
  align-items: center;
  font-size: .98rem !important;
  letter-spacing: -.01em;
  border-color: var(--line) !important;
}
#tabs { padding: 1rem .75rem !important; }
.tab-btn {
  min-height: 42px;
  padding: .65rem .8rem !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  color: #9aabb3 !important;
  font-size: .84rem !important;
}
.tab-btn i { width: 1.25rem; color: #82959e; font-size: 1rem; }
.tab-btn:hover { background: #182229 !important; color: var(--text) !important; }
.tab-btn.active {
  background: rgba(84, 196, 173, .12) !important;
  border-color: rgba(84, 196, 173, .22) !important;
  color: #bfdbfe !important;
}
.tab-btn.active i { color: var(--accent); }
#main > aside > div:last-child { border-color: var(--line) !important; }
#main > aside > div:last-child button { min-height: 40px; }
#main > main { padding: 2rem clamp(1.25rem, 3vw, 3rem) !important; }
.tab-content { max-width: 1440px; margin: 0 auto; }
.tab-content > h2,
.tab-content > div:first-child h2 {
  color: var(--text) !important;
  font-size: 1.35rem !important;
  font-weight: 700;
  letter-spacing: -.02em;
}
.tab-content > h2 { margin-bottom: 1.2rem; }
.tab-content .panel { box-shadow: 0 8px 24px rgba(0, 0, 0, .13); }
.tab-content .grid { align-items: stretch; }
.tab-content .panel.p-5,
.tab-content .panel.p-6 { padding: 1.2rem !important; }
.tab-content h3 { color: var(--text) !important; }
.tab-content .text-blue-400,
.tab-content .text-blue-500 { color: var(--accent) !important; }
.tab-content .text-green-400 { color: #69d6a3 !important; }
.tab-content .overflow-x-auto { scrollbar-width: thin; scrollbar-color: #40515b transparent; }
.tab-content table { min-width: 680px; }
.tab-content th { padding-top: .85rem !important; padding-bottom: .85rem !important; }
.tab-content td { padding-top: .8rem !important; padding-bottom: .8rem !important; }
.tab-content td button[onclick*="openUserModal"],
.tab-content td button[onclick*="delUser"],
.tab-content td button[onclick*="delLog"] {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #172128;
}

/* Balance page */
#main.max-w-4xl { max-width: 1120px !important; }
#my-balance { color: #bfdbfe !important; }
#plans-list > div,
#pay-history > div,
#pix-result { border-color: var(--line) !important; border-radius: 6px !important; }

@media (max-width: 760px) {
  #main.h-screen { height: 100dvh !important; min-height: 100dvh; flex-direction: column !important; }
  #main > aside {
    width: 100% !important;
    min-width: 0;
    min-height: 0;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
  }
  #main > aside > div:first-child { min-height: 52px; padding: .65rem 1rem !important; }
  #tabs {
    display: flex;
    gap: .35rem !important;
    overflow-x: auto;
    padding: .5rem .65rem !important;
    scrollbar-width: none;
  }
  #tabs::-webkit-scrollbar { display: none; }
  .tab-btn { width: auto !important; min-width: max-content; min-height: 38px; padding: .5rem .65rem !important; }
  #main > main { min-height: 0; flex: 1; padding: 1.1rem .9rem !important; }
  .tab-content { gap: 1rem !important; }
  .tab-content > div:first-child { gap: .75rem; align-items: center; }
  .tab-content > div:first-child h2 { font-size: 1.2rem !important; }
  .tab-content .grid.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem !important; }
  .tab-content .panel.p-5 { padding: .85rem !important; }
  #main.max-w-4xl { padding: 1.1rem !important; }
  #my-balance { font-size: 2.4rem !important; }
}

@media (max-width: 420px) {
  #auth-screen > .panel { padding: 1.4rem !important; }
  .tab-btn { font-size: .76rem !important; }
  .tab-btn i { display: none; }
  #main.max-w-4xl .grid { gap: .85rem !important; }
  #main.max-w-4xl .panel { padding: 1rem !important; }
}

/* Main workspace */
#main-dashboard {
  flex-direction: row !important;
  background: #0b0c0e;
}
#main-dashboard > aside {
  width: 264px !important;
  min-width: 264px;
  background: #10171c !important;
  border-color: var(--line) !important;
  box-shadow: 8px 0 28px rgba(0, 0, 0, .12);
}
#main-dashboard > aside > div:first-child {
  min-height: 68px;
  padding: 1rem 1.2rem !important;
  font-size: 1rem !important;
  letter-spacing: -.02em;
  border-color: var(--line) !important;
}
#main-dashboard > aside > div:first-child i,
#main-dashboard #user-avatar { color: #071411 !important; background: var(--accent-strong) !important; }
#module-nav { padding: 1rem .75rem !important; }
#module-nav .mod-btn {
  min-height: 40px;
  padding: .6rem .75rem !important;
  border-radius: 6px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #9aabb3 !important;
}
#module-nav .mod-btn:hover { background: #182229 !important; color: var(--text) !important; }
#module-nav .mod-btn.active {
  background: rgba(84, 196, 173, .12) !important;
  border-color: rgba(84, 196, 173, .22) !important;
  color: #bfdbfe !important;
}
#main-dashboard > aside > div:last-child { border-color: var(--line) !important; }
#main-dashboard > aside > div:last-child button,
#main-dashboard > aside > div:last-child a {
  min-height: 38px;
  border-radius: 6px !important;
  background: #172128;
  color: #bdc9ce !important;
}
#main-dashboard > aside > div:last-child button:hover,
#main-dashboard > aside > div:last-child a:hover { background: #20222a !important; }
#main-dashboard > main { min-width: 0; background: transparent; }
#main-dashboard > main > div:not(#section-admin) { max-width: 1280px !important; padding-top: 2rem !important; padding-bottom: 2rem !important; }
#main-dashboard #view-modulos > div { gap: 1.25rem !important; }
#main-dashboard #view-modulos > div > div:first-child {
  min-height: 76px;
  border-color: var(--line) !important;
  background: var(--surface) !important;
  border-radius: 8px !important;
}
#main-dashboard #view-modulos > div > div:first-child .text-blue-500,
#main-dashboard #view-modulos > div > div:first-child span { color: var(--accent) !important; }
#main-dashboard #busca-modulos,
#main-dashboard #search-input {
  min-height: 46px;
  border-radius: 6px !important;
  border-color: var(--line) !important;
  background: #131a20 !important;
}
#main-dashboard #grid-modulos { gap: 2rem !important; }
#main-dashboard .section-card { margin-top: 0 !important; }
#main-dashboard .section-head h2 { font-size: 1.05rem !important; }
#main-dashboard .mod-card { border-radius: 8px !important; background: #131a20 !important; }
#main-dashboard .mod-card:hover { border-color: rgba(84, 196, 173, .45) !important; background: #172128 !important; transform: translateY(-1px); }
#main-dashboard .mod-btn.active { color: #bfdbfe !important; }
#main-dashboard .cpf-btn {
  border-color: rgba(84, 196, 173, .3) !important;
  background: rgba(84, 196, 173, .1) !important;
  color: #bfdbfe !important;
  border-radius: 5px !important;
}
#main-dashboard #section-consulta > div > div,
#main-dashboard #section-admin .panel,
#main-dashboard #results .panel { border-color: var(--line) !important; border-radius: 8px !important; }
#main-dashboard #section-admin { max-width: 1280px; margin: 0 auto; padding: 2rem clamp(1rem, 3vw, 2.5rem); }
#main-dashboard #section-admin h2 { font-size: 1.35rem !important; letter-spacing: -.02em; }
#main-dashboard #userDrop { background: var(--surface) !important; border-color: var(--line) !important; border-radius: 8px !important; }
#main-dashboard .nav-link.active { background: rgba(59, 130, 246, .12) !important; color: #bfdbfe !important; }
#main-dashboard .nav-link.active::after { background: var(--accent) !important; }

@media (max-width: 800px) {
  #main-dashboard { height: 100dvh !important; flex-direction: column !important; }
  #main-dashboard > aside {
    width: 100% !important;
    min-width: 0;
    max-height: 42dvh;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }
  #main-dashboard > aside > div:first-child { min-height: 52px; padding: .65rem 1rem !important; }
  #module-nav {
    display: flex;
    flex: 0 1 auto;
    gap: .35rem !important;
    overflow-x: auto;
    padding: .5rem .65rem !important;
    scrollbar-width: none;
  }
  #module-nav::-webkit-scrollbar { display: none; }
  #module-nav .mod-btn { width: auto !important; min-width: max-content; min-height: 36px; }
  #main-dashboard > aside > div:last-child { padding: .45rem .7rem !important; }
  #main-dashboard > aside > div:last-child > div:first-child { display: none; }
  #main-dashboard > aside > div:last-child > div:last-child { gap: .4rem; }
  #main-dashboard > aside > div:last-child button,
  #main-dashboard > aside > div:last-child a { padding: .5rem !important; font-size: .75rem !important; }
  #main-dashboard > main { min-height: 0; flex: 1; }
  #main-dashboard > main > div:not(#section-admin) { padding: 1rem !important; }
  #main-dashboard #section-admin { padding: 1rem; }
}

@media (max-width: 480px) {
  #main-dashboard > aside { max-height: 48dvh; }
  #main-dashboard > aside > div:first-child { display: none; }
  #module-nav .mod-btn { font-size: .74rem !important; }
  #module-nav .mod-btn i { display: none; }
  #main-dashboard #view-modulos > div > div:first-child { flex-wrap: wrap; }
  #main-dashboard #section-admin > div { gap: .8rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Account access */
#auth-screen.auth-shell {
  display: grid !important;
  min-height: 100dvh;
  padding: 24px;
  place-items: center;
  overflow: auto;
  background: #0b0e10;
}
#auth-screen.auth-shell.hidden,
#auth-screen.auth-shell[hidden] { display: none !important; }
.auth-form.hidden,
.auth-form[hidden],
#main-dashboard.hidden,
#main-dashboard[hidden] { display: none !important; }
#main-dashboard:not(.hidden) { display: grid !important; }
.admin-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.admin-chart-panel { min-width: 0; padding: 18px; border: 1px solid #283239; border-radius: 8px; background: #11171a; }
.admin-chart-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.admin-chart-heading h3 { color: #eef2f2; font-size: 14px; font-weight: 650; }
.admin-chart-heading p, .metric-note { margin-top: 4px; color: #849196; font-size: 11px; }
.admin-chart-heading strong { color: #e5ecea; font-size: 13px; font-variant-numeric: tabular-nums; }
.admin-chart-bars { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; gap: 7px; min-height: 164px; margin-top: 18px; }
.admin-chart-column { display: grid; grid-template-rows: 132px auto; justify-items: center; gap: 8px; min-width: 0; }
.admin-chart-track { display: flex; width: min(100%, 22px); height: 132px; align-items: end; overflow: hidden; border-radius: 5px; background: #1b2428; }
.admin-chart-track span { display: block; width: 100%; min-height: 2px; border-radius: 5px 5px 1px 1px; background: #55b995; transition: height .25s ease; }
.admin-chart-track span.signups { background: #6ca9e8; }
.admin-chart-column small { overflow: hidden; max-width: 100%; color: #7d898e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; text-transform: capitalize; }
.metric-note { line-height: 1.4; }
.presence-dot { display: inline-block; width: 7px; height: 7px; margin-left: 4px; border-radius: 50%; background: #65c792; box-shadow: 0 0 0 3px rgba(101, 199, 146, .12); vertical-align: 1px; }
.admin-error-state { display: grid; justify-items: start; gap: 8px; padding: 24px; border: 1px solid rgba(248, 113, 113, .2); border-radius: 8px; background: rgba(70, 26, 29, .18); }
.admin-error-state > i { color: #f87171; font-size: 22px; }
.admin-error-state p { color: #f3d5d5; font-weight: 600; }
.admin-error-state small { color: #ba9999; }
@media (max-width: 760px) { .admin-chart-grid { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .admin-chart-panel { padding: 14px 10px; } .admin-chart-bars { gap: 3px; } .admin-chart-heading { padding: 0 4px; } }
.admin-brand { min-height: 72px; padding: 13px 17px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid #252b30; }
.admin-brand-mark,.admin-workspace-mark,.admin-account-mark { display:grid; place-items:center; flex:none; width:36px; height:36px; border:1px solid #30383e; border-radius:9px; color:#f1f4f5; background:#171b1f; font-weight:750; }
.admin-brand strong,.admin-brand small,.admin-workspace strong,.admin-workspace small,.admin-account strong,.admin-account small { display:block; }
.admin-brand strong { font-size:13px; letter-spacing:.02em; }.admin-brand small,.admin-workspace small,.admin-account small { margin-top:3px; color:#77838d; font-size:9px; letter-spacing:.08em; }
.admin-workspace { margin:15px 13px 8px; padding:10px; display:flex; align-items:center; gap:10px; border:1px solid #252b30; border-radius:9px; background:#111518; }
.admin-workspace-mark { width:29px; height:29px; border-radius:7px; background:#f1f3f4; color:#171b1f; font-size:10px; }
.admin-workspace strong { margin-top:2px; font-size:11px; }.admin-workspace small { margin:0; font-size:8px; }.admin-workspace > i { margin-left:auto; color:#9da8ae; font-size:11px; }
.admin-nav-group { margin:10px 0 18px; }.admin-nav-group > small { display:block; margin:0 9px 7px; color:#65717a; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
#tabs { padding: 12px 10px !important; overflow-y:auto; }.tab-btn { width:100%; display:flex; align-items:center; gap:10px; min-height:40px; padding:8px 10px !important; text-align:left; font-size:12px !important; }
.tab-btn.active { color:#f4f6f7 !important; background:#1a2024 !important; border-color:#30383e !important; }.tab-btn.active i { color:#e3eaed; }
.admin-presence { margin:0 13px 12px; padding:12px 10px; border:1px solid #252b30; border-radius:9px; background:#101417; font-size:10px; }.admin-presence strong { color:#ecf0f1; }.admin-presence small { display:block; margin:5px 0 0 16px; color:#77838d; font-size:9px; }
.admin-main-shell { display:flex; flex-direction:column; min-width:0; padding:0 !important; background:#0b0d0f; }.admin-topbar { position:sticky; z-index:5; top:0; min-height:63px; padding:0 24px; display:flex; align-items:center; gap:13px; border-bottom:1px solid #242a2e; background:#0c0e10; }
.admin-topbar-title { min-width:195px; }.admin-topbar-title small { display:block; color:#717c84; font-size:8px; letter-spacing:.13em; }.admin-topbar-title strong { display:block; margin-top:3px; color:#e8ecee; font-size:13px; }
.admin-global-search { min-width:180px; max-width:390px; height:39px; margin-left:auto; padding:0 10px; display:flex; align-items:center; gap:10px; border:1px solid #252c31; border-radius:9px; color:#7f8a92; }.admin-global-search input { min-width:0; flex:1; outline:0; border:0; background:transparent; color:#e8ecee; font-size:11px; }.admin-global-search kbd { padding:3px 5px; border:1px solid #333b40; border-radius:4px; color:#a3adb3; font-size:9px; }
.admin-account { padding:5px 10px; display:flex; align-items:center; gap:8px; border:1px solid #252c31; border-radius:9px; }.admin-account-mark { width:27px; height:27px; border-radius:7px; background:#edf0f1; color:#111518; }.admin-account strong { color:#edf0f1; font-size:10px; }.admin-account small { font-size:8px; }
.admin-page-content { width:min(100%, 1420px); margin:0 auto; padding:27px 28px 44px; }.admin-overview-heading { padding-bottom:17px; display:flex; align-items:flex-end; justify-content:space-between; gap:15px; border-bottom:1px solid #242a2e; }.admin-eyebrow { margin-bottom:5px; color:#89949b; font-size:10px; letter-spacing:.13em; }.admin-overview-heading h2 { color:#f3f5f6; font-size:23px; font-weight:700; }.admin-overview-heading p:last-child { margin-top:5px; color:#89949b; font-size:11px; }
.admin-range { padding:3px; display:flex; gap:2px; border:1px solid #252c31; border-radius:9px; }.admin-range button { padding:7px 10px; border-radius:6px; color:#a6b0b5; font-size:10px; }.admin-range button.active { background:#e9edef; color:#171b1f; font-weight:650; }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:14px; margin-top:16px; }.admin-overview-main,.admin-overview-side { min-width:0; display:flex; flex-direction:column; gap:13px; }.admin-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.admin-kpis .metric { min-width:0; padding:13px 12px; display:flex; align-items:center; gap:10px; border:1px solid #272e33; border-radius:10px; background:#111518; }.admin-kpis .metric-icon { width:34px; height:34px; display:grid; place-items:center; border:1px solid #343d43; border-radius:8px; background:#191e22; color:#e9eff1; }.admin-kpis .metric-icon i { font-size:15px; }.admin-kpis .metric-label { color:#8d989f; font-size:9px; font-weight:650; letter-spacing:.04em; text-transform:uppercase; }.admin-kpis .metric-value { margin-top:3px; color:#f2f4f5; font-size:17px; font-weight:700; white-space:nowrap; }
.admin-performance { padding:16px; border-radius:11px; }.admin-performance .admin-chart-bars { height:245px; margin-top:15px; }.admin-performance .admin-chart-track { background:#171b1e; }.admin-performance .admin-chart-column small { max-width:100%; overflow:hidden; color:#758189; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.admin-chart-legend { margin-top:6px; display:flex; gap:12px; color:#87939a; font-size:9px; }.admin-chart-legend span { display:flex; align-items:center; gap:5px; }.legend-revenue,.legend-orders { width:7px; height:7px; display:inline-block; border-radius:50%; background:#e5ecee; }.legend-orders { border-radius:2px; background:#778187; }.admin-chart-caption { color:#738087; font-size:8px; }
.admin-performance .admin-chart-bars { grid-template-columns:repeat(var(--chart-count, 12),minmax(0,1fr)); overflow-x:auto; }.admin-performance .admin-chart-track { width:min(100%,26px); display:flex; justify-content:center; gap:2px; background:transparent; }.admin-performance .admin-chart-track span { width:42%; border-radius:3px 3px 1px 1px; }.admin-performance .admin-chart-track span.signups { background:#778187; }
#main > main.admin-main-shell { padding:0 !important; }
.admin-customer-panel { min-height:150px; padding:16px; }.admin-customer-stats { margin-top:20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.admin-customer-stats strong,.admin-customer-stats small { display:block; }.admin-customer-stats strong { color:#edf1f2; font-size:18px; }.admin-customer-stats small { margin-top:4px; color:#849098; font-size:9px; }
.admin-conversion { min-height:225px; padding:16px; }.admin-conversion .admin-chart-heading { align-items:center; }.admin-conversion h3 { color:#e9edef; font-size:12px; font-weight:650; }.conversion-value { margin:27px 0 13px; text-align:center; color:#eef1f2; font-size:30px; font-weight:700; }.conversion-value small { font-size:10px; font-weight:500; }.conversion-track { height:5px; overflow:hidden; border-radius:8px; background:#282f34; }.conversion-track span { height:100%; display:block; border-radius:8px; background:#d9e1e4; }.admin-conversion > p { margin-top:12px; display:flex; justify-content:space-between; color:#89949b; font-size:9px; }.admin-conversion > p b { color:#e8edef; font-weight:600; }
.admin-side-summary { padding:15px; }.admin-side-summary p { display:grid; gap:8px; }.admin-side-summary small { margin-top:3px; color:#859198; font-size:9px; }.admin-side-summary small i { margin-right:5px; }.admin-side-summary strong { display:flex; justify-content:space-between; color:#e5eaec; font-size:11px; }.admin-side-summary strong b { font-weight:650; }.admin-side-summary hr { margin:13px 0; border-color:#293136; }
#main.admin-sidebar-collapsed > aside { width:0 !important; min-width:0; overflow:hidden; border:0; }.admin-sidebar-collapsed .admin-brand,.admin-sidebar-collapsed .admin-workspace,.admin-sidebar-collapsed #tabs,.admin-sidebar-collapsed .admin-presence,.admin-sidebar-collapsed > aside > div:last-child { display:none; }
@media(max-width:1050px) { .admin-overview-grid { grid-template-columns:minmax(0,1fr) 235px; }.admin-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { #main.h-screen { flex-direction:column !important; }.admin-main-shell,#main > main.admin-main-shell { min-height:0; padding:0 !important; }.admin-topbar { min-height:55px; padding:0 10px; gap:8px; }.admin-topbar-title { min-width:0; flex:1; }.admin-global-search { max-width:180px; height:34px; }.admin-global-search kbd,.admin-account,.admin-topbar > .btn { display:none; }.admin-page-content { padding:17px 12px 30px; }.admin-overview-grid { grid-template-columns:1fr; }.admin-overview-side { display:grid; grid-template-columns:1fr 1fr; }.admin-conversion { min-height:190px; }.admin-range button { padding:7px 6px; font-size:9px; } #tabs { align-items:center; }.admin-nav-group { display:flex; flex:none; align-items:center; gap:4px; margin:0; }.admin-nav-group > small { display:none; } }
@media(max-width:480px) { .admin-overview-heading { align-items:flex-start; flex-direction:column; }.admin-range { width:100%; justify-content:space-between; }.admin-range button { flex:1; }.admin-kpis { gap:7px; }.admin-kpis .metric { padding:10px 8px; gap:7px; }.admin-kpis .metric-icon { width:28px; height:28px; }.admin-kpis .metric-value { font-size:14px; }.admin-overview-side { grid-template-columns:1fr; }.admin-customer-stats { gap:6px; }.admin-customer-stats small { font-size:8px; }.admin-performance .admin-chart-bars { height:190px; } }
.auth-layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  width: min(100%, 1010px);
  min-height: min(700px, calc(100dvh - 48px));
  overflow: hidden;
  border: 1px solid #283238;
  border-radius: 10px;
  background: #101417;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .48);
}
.auth-brand-panel {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 38px 36px 28px;
  border-right: 1px solid #253137;
  background-color: #111a1e;
  background-image: linear-gradient(rgba(130, 167, 174, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(130, 167, 174, .055) 1px, transparent 1px);
  background-size: 34px 34px;
}
.auth-brand-panel::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, rgba(17, 26, 30, .1), rgba(17, 26, 30, .82)), linear-gradient(0deg, rgba(17, 26, 30, .56), transparent 44%);
}
.auth-logo, .auth-brand-copy, .auth-brand-foot, .auth-brand-mark { position: relative; z-index: 1; }
.auth-logo { display: inline-flex; width: 176px; align-items: center; }
.auth-logo img, .auth-mobile-logo img { display: block; width: 100%; height: auto; object-fit: contain; }
.auth-brand-copy { max-width: 360px; margin: auto 0; padding: 56px 0; }
.auth-kicker, .auth-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #81d6c1; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.auth-kicker { padding: 7px 9px; border: 1px solid rgba(129, 214, 193, .23); border-radius: 5px; background: rgba(129, 214, 193, .07); }
.auth-kicker i { font-size: 14px; }
.auth-brand-copy h1 { margin-top: 24px; color: #f4f6f6; font-size: 34px; font-weight: 700; line-height: 1.14; }
.auth-brand-copy h1 span { color: #85d7c2; }
.auth-brand-copy p { max-width: 330px; margin-top: 16px; color: #a6b2b5; font-size: 14px; line-height: 1.7; }
.auth-brand-foot { display: flex; align-items: center; gap: 9px; color: #a5b0b3; font-size: 11px; }
.auth-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #6bc99b; box-shadow: 0 0 0 4px rgba(107, 201, 155, .1); }
.auth-foot-rule { width: 1px; height: 14px; margin: 0 4px 0 6px; background: #455157; }
.auth-brand-mark { position: absolute; right: 28px; bottom: 64px; display: grid; width: 106px; height: 106px; place-content: center; border: 1px solid rgba(133, 215, 194, .18); border-radius: 8px; color: rgba(133, 215, 194, .65); transform: rotate(-8deg); }
.auth-brand-mark::before, .auth-brand-mark::after { position: absolute; content: ""; border: 1px solid rgba(133, 215, 194, .15); border-radius: 6px; }
.auth-brand-mark::before { inset: 10px; }.auth-brand-mark::after { inset: 20px; }
.auth-brand-mark i { font-size: 36px; }
.auth-brand-mark span { position: absolute; right: -22px; width: 15px; height: 1px; background: #85d7c2; }
.auth-brand-mark span:nth-of-type(1) { top: 25px; }.auth-brand-mark span:nth-of-type(2) { top: 38px; width: 24px; }.auth-brand-mark span:nth-of-type(3) { top: 51px; width: 18px; }
.auth-form-panel { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 42px clamp(28px, 5vw, 58px); background: #101417; }
.auth-mobile-logo { display: none; }
.auth-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 4px; border: 1px solid #293238; border-radius: 6px; background: #0c1114; }
.auth-switch-btn { min-height: 39px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #99a5aa; font-size: 13px; font-weight: 600; }
.auth-switch-btn:hover { color: #e9f0ef; background: #182126; }
.auth-switch-btn.active { border-color: #35454a; background: #202b30; color: #f1f5f4; }
.auth-form-heading { margin: 30px 0 24px; }
.auth-eyebrow { color: #74ccb4; font-size: 10px; }
.auth-form-heading h2 { margin-top: 8px; color: #f3f5f5; font-size: 25px; font-weight: 700; line-height: 1.2; }
.auth-form-heading > p:last-child { margin-top: 7px; color: #8e9a9f; font-size: 13px; }
.auth-form { display: grid; gap: 17px; }
.auth-field { display: grid; min-width: 0; gap: 7px; color: #c4cccf; font-size: 12px; font-weight: 600; }
.auth-input-wrap { display: flex; min-width: 0; min-height: 47px; align-items: center; gap: 11px; padding: 0 13px; border: 1px solid #2b363b; border-radius: 6px; background: #0c1114; color: #809097; transition: border-color .16s, box-shadow .16s, background .16s; }
.auth-input-wrap:focus-within { border-color: #54bfa8; background: #0e1518; box-shadow: 0 0 0 3px rgba(84, 191, 168, .11); }
.auth-input-wrap > i { flex: 0 0 auto; font-size: 17px; }
.auth-input-wrap input { width: 100%; min-width: 0; height: 45px; padding: 0; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; color: #eef2f2; font-size: 13px; }
.auth-input-wrap input::placeholder { color: #627178; }
.auth-input-wrap input:focus { outline: 0; }
.auth-reveal { display: inline-grid; width: 30px; height: 32px; flex: 0 0 auto; place-items: center; border: 0; border-radius: 4px; background: transparent; color: #819098; }
.auth-reveal:hover { background: #1b252a; color: #dce5e4; }
.auth-reveal i { font-size: 17px; }
.auth-submit { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; padding: 0 16px; border: 1px solid #72d2ba; border-radius: 6px; background: #78d5bd; color: #0b1916; font-size: 13px; font-weight: 700; }
.auth-submit:hover { border-color: #9be5d2; background: #91e0cc; }
.auth-submit i { font-size: 17px; transition: transform .16s; }.auth-submit:hover i { transform: translateX(3px); }
.auth-form-foot { margin-top: 3px; color: #8d999e; font-size: 12px; text-align: center; }
.auth-form-foot button { border: 0; background: transparent; color: #7bd3bc; font-weight: 700; }
.auth-form-foot button:hover { color: #a6e9d7; text-decoration: underline; }
.auth-password-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.auth-password-grid .auth-input-wrap { gap: 7px; padding: 0 10px; }
.auth-password-grid .auth-input-wrap > i { font-size: 15px; }
.auth-password-grid .auth-input-wrap input { font-size: 12px; }
.auth-password-grid .auth-field { font-size: 11px; }
.auth-secure-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 26px; padding-top: 16px; border-top: 1px solid #222c30; color: #758287; font-size: 11px; }
.auth-secure-note i { color: #72cdb5; }
@media (max-width: 820px) {
  #auth-screen.auth-shell { padding: 14px; place-items: start center; }
  .auth-layout { grid-template-columns: 1fr; width: min(100%, 520px); min-height: 0; margin: auto 0; }
  .auth-brand-panel { min-height: 155px; padding: 18px 22px; border-right: 0; border-bottom: 1px solid #253137; background-size: 26px 26px; }
  .auth-brand-panel::after { background: linear-gradient(90deg, rgba(17,26,30,.12), rgba(17,26,30,.72)); }
  .auth-logo { display: none; }
  .auth-brand-copy { max-width: 330px; margin: 0; padding: 0; }
  .auth-brand-copy h1 { margin-top: 10px; font-size: 23px; }
  .auth-brand-copy h1 br, .auth-brand-copy p, .auth-brand-foot, .auth-brand-mark { display: none; }
  .auth-kicker { padding: 5px 7px; font-size: 9px; }
  .auth-form-panel { padding: 22px; }
  .auth-mobile-logo { display: none; }
  .auth-form-heading { margin: 21px 0 18px; }
  .auth-form-heading h2 { font-size: 22px; }
  .auth-form { gap: 14px; }
  .auth-secure-note { margin-top: 20px; }
}
@media (max-width: 430px) {
  #auth-screen.auth-shell { padding: 0; }
  .auth-layout { width: 100%; min-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .auth-brand-panel { min-height: 130px; padding: 17px 20px; }
  .auth-form-panel { justify-content: flex-start; padding: 20px; }
  .auth-password-grid { grid-template-columns: 1fr; gap: 14px; }
  .auth-input-wrap { min-height: 46px; }
}

/* Compact top navigation and wide content, matching the supplied reference. */
#main-dashboard { flex-direction: column !important; background: #0b0c0e !important; }
#main-dashboard > aside {
  width: 100% !important;
  min-width: 0;
  min-height: 64px;
  flex-direction: row !important;
  align-items: center;
  gap: .5rem;
  overflow: visible;
  padding: 0 max(1rem, calc((100vw - 80rem) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: rgba(11, 12, 14, .96) !important;
  box-shadow: none !important;
}
#main-dashboard > aside > div:first-child {
  flex: 0 0 auto;
  min-height: 64px;
  padding: .6rem .8rem !important;
  white-space: nowrap;
  font-size: 1.08rem !important;
}
#main-dashboard > aside > div:first-child i {
  padding: .4rem;
  border-radius: 7px;
  background: var(--accent) !important;
  color: #fff !important;
}
.dashboard-brand { flex: 0 0 auto; width: 170px; }
.dashboard-brand-logo { display: block; width: 154px; max-height: 48px; object-fit: contain; }
#module-nav {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: .35rem !important;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .45rem .25rem !important;
  scrollbar-width: none;
}
#module-nav::-webkit-scrollbar { display: none; }
#module-nav > * { flex: 0 0 auto; margin-top: 0 !important; }
#module-nav .mod-btn {
  width: auto !important;
  min-height: 38px;
  padding: .55rem .75rem !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #9aa1ad !important;
  white-space: nowrap;
}
#module-nav .mod-btn:hover { background: #1a1c22 !important; color: #fff !important; }
#module-nav .mod-btn.active { background: #1a1c22 !important; color: #fff !important; }
#module-nav .mod-btn.active::after {
  content: "";
  position: absolute;
  right: .75rem;
  bottom: -1px;
  left: .75rem;
  height: 2px;
  background: var(--accent);
}
#main-dashboard > aside > div:last-child {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .35rem 0 .35rem .5rem !important;
  border: 0 !important;
}
#main-dashboard > aside > div:last-child > div:first-child { margin: 0 !important; padding: .25rem !important; }
#main-dashboard > aside > div:last-child > div:last-child { gap: .25rem !important; }
#main-dashboard > aside > div:last-child button,
#main-dashboard > aside > div:last-child a {
  min-height: 36px;
  padding: .45rem .65rem !important;
  border: 1px solid var(--line);
  border-radius: 7px !important;
  background: #141519;
  color: #c4c8d0 !important;
  font-size: .76rem !important;
  white-space: nowrap;
}
#main-dashboard > aside > div:last-child button:hover,
#main-dashboard > aside > div:last-child a:hover { background: #1a1c22 !important; }
#main-dashboard #user-avatar { background: var(--accent) !important; color: #fff !important; }
#main-dashboard > main { min-height: 0; width: 100%; }
#main-dashboard > main > div:not(#section-admin) { max-width: 80rem !important; padding: 1.5rem 1rem !important; }
#main-dashboard #view-modulos > div { gap: 1.25rem !important; }
#main-dashboard #view-modulos > div > div:first-child {
  min-height: 76px;
  border-color: var(--line) !important;
  border-radius: 10px !important;
  background: var(--surface) !important;
}
#main-dashboard #view-modulos > div > div:first-child span { color: #60a5fa !important; }
#main-dashboard #busca-modulos,
#main-dashboard #search-input {
  min-height: 46px;
  border-color: var(--line) !important;
  border-radius: 10px !important;
  background: var(--surface) !important;
}
#main-dashboard #grid-modulos { gap: 1.75rem !important; }
#main-dashboard .section-card { margin-top: 0 !important; border-radius: 12px !important; }
#main-dashboard .section-head h2 { font-size: 1.08rem !important; }
#main-dashboard .mod-card { border-radius: 9px !important; background: #141519 !important; }
#main-dashboard .mod-card:hover { border-color: rgba(59, 130, 246, .6) !important; background: #1a1c22 !important; transform: translateY(-1px); }
#main-dashboard .cpf-btn { border-radius: 6px !important; }
#main-dashboard #section-consulta > div > div,
#main-dashboard #section-admin .panel,
#main-dashboard #results .panel { border-color: var(--line) !important; border-radius: 10px !important; }
#main-dashboard #section-admin { max-width: 80rem; margin: 0 auto; padding: 1.5rem 1rem; }
#main-dashboard #section-admin h2 { font-size: 1.35rem !important; letter-spacing: 0; }
#main-dashboard .module-cover-frame { height: 144px; }
#main-dashboard .module-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
#main-dashboard .mod-card:hover .module-cover { transform: scale(1.04); }

@media (max-width: 900px) {
  #main-dashboard > aside { padding: 0 .75rem !important; }
  #main-dashboard > aside > div:first-child { padding-right: .35rem !important; padding-left: .35rem !important; }
  #main-dashboard > aside > div:last-child > div:first-child > div:last-child { display: none; }
}
@media (max-width: 700px) {
  #main-dashboard { height: 100dvh !important; }
  #main-dashboard > aside {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 54px auto;
    gap: 0 .5rem;
    padding: 0 .75rem !important;
  }
  #main-dashboard > aside > div:first-child { display: flex !important; grid-column: 1; grid-row: 1; min-height: 54px; font-size: .98rem !important; }
  .dashboard-brand { width: 145px; }
  .dashboard-brand-logo { width: 132px; max-height: 42px; }
  #module-nav { grid-column: 1 / -1; grid-row: 2; margin: 0 -.25rem; padding: .35rem .1rem .55rem !important; }
  #module-nav .mod-btn { min-height: 34px; padding: .45rem .6rem !important; font-size: .77rem !important; }
  #module-nav .mod-btn i { display: none; }
  #main-dashboard > aside > div:last-child { grid-column: 2; grid-row: 1; padding: .25rem 0 !important; }
  #main-dashboard > aside > div:last-child > div:first-child { display: none; }
  #main-dashboard > aside > div:last-child > div:last-child button,
  #main-dashboard > aside > div:last-child > div:last-child a { width: 36px; min-width: 36px; padding: .4rem !important; font-size: 0 !important; }
  #main-dashboard > aside > div:last-child > div:last-child i { font-size: 1rem; }
  #main-dashboard > main > div:not(#section-admin) { padding: 1rem .8rem !important; }
  #main-dashboard #section-admin { padding: 1rem .8rem; }
}

/* Admin - editor de cupons */
.admin-coupon-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.admin-coupon-modal{max-height:92vh;overflow-y:auto;border:1px solid #2c3950;background:#121822;border-radius:18px}
#coupon-plan-row[hidden]{display:none!important}
