:root {
    color-scheme: dark;
    --brand: #f67464;
    --brand-soft: #ff9589;
    --brand-strong: #d94f43;
    --focus: #ffb3aa;
}
[data-theme="light"] { color-scheme: light; }

html { scroll-padding-top: 5rem; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
[x-cloak] { display: none !important; }
img { max-width: 100%; }
.brand-logo { display: block; width: auto; height: 2rem; object-fit: contain; }
.app-brand-logo { height: 1.55rem; max-width: 15rem; }
.logo-light { display: none; }
[data-theme="light"] .app-area .logo-dark { display: none; }
[data-theme="light"] .app-area .logo-light { display: block; }
.ui-icon { width: 1.1em; height: 1.1em; flex: 0 0 auto; vector-effect: non-scaling-stroke; }
.action { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 2.75rem; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 9999; padding: .75rem 1rem; background: var(--brand); color: #18110f; font-weight: 800; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--focus) !important; outline-offset: 3px; }
.text-brand-500 { color: var(--brand) !important; }
.bg-brand-500 { background-color: var(--brand) !important; color: #1d100e !important; }
.bg-brand-500:hover, .hover\:bg-brand-400:hover, .hover\:bg-brand-600:hover { background-color: var(--brand-soft) !important; }
.border-brand-500 { border-color: var(--brand) !important; }
.shadow-brand-500\/20 { --tw-shadow-color: rgb(246 116 100 / .2) !important; }
.prose a { color: var(--brand); }
.prose p { margin: 0 0 1.35em; }
.prose h2, .prose h3 { margin: 1.8em 0 .65em; font-weight: 800; }
.prose ul, .prose ol { margin: 1em 0 1.5em 1.5em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.social-link { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid #3f3f46; border-radius: 999px; color: #a1a1aa; transition: color .2s, border-color .2s, background-color .2s, transform .2s; }
.social-link:hover { color: var(--brand); border-color: var(--brand); background: rgb(246 116 100 / .08); transform: translateY(-2px); }
.feature-box { padding: 1.75rem; border: 1px solid #3f3f46; border-radius: 1rem; background: rgb(24 24 27 / .45); transition: border-color .2s, transform .2s, background-color .2s; }
.feature-box:hover { border-color: rgb(246 116 100 / .7); background: rgb(24 24 27 / .8); transform: translateY(-3px); }
.member-level { display: inline-flex; align-items: center; min-height: 1.25rem; padding: .1rem .4rem; border-radius: 999px; font-size: .625rem; line-height: 1; font-weight: 800; letter-spacing: .06em; }
.member-level.is-pro { color: #f67464; background: rgb(246 116 100 / .12); border: 1px solid rgb(246 116 100 / .35); }
.member-level.is-free { color: #a1a1aa; background: rgb(113 113 122 / .12); border: 1px solid rgb(113 113 122 / .35); }
.member-card { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.member-card:hover { transform: translateY(-3px); border-color: rgb(246 116 100 / .5); box-shadow: 0 18px 45px rgb(0 0 0 / .18); }
.badge-item { display: flex; align-items: center; gap: .85rem; min-width: 0; padding: .85rem; border: 1px solid #3f3f46; border-radius: .85rem; background: rgb(9 9 11 / .4); }

/* Tema claro: restrito às áreas de membros e administração. */
[data-theme="light"] body.app-area { background: #f7f4f3 !important; color: #3f3f46 !important; }
[data-theme="light"] .app-area .bg-dark-950,
[data-theme="light"] .app-area .bg-dark-900,
[data-theme="light"] .app-area .bg-dark-900\/80,
[data-theme="light"] .app-area .bg-zinc-950 { background-color: #fff !important; }
[data-theme="light"] .app-area .bg-zinc-900,
[data-theme="light"] .app-area .bg-zinc-900\/50,
[data-theme="light"] .app-area .bg-zinc-900\/80 { background-color: #fdfafa !important; }
[data-theme="light"] .app-area .bg-zinc-800 { background-color: #f0e9e7 !important; }
[data-theme="light"] .app-area .text-white,
[data-theme="light"] .app-area .text-zinc-200,
[data-theme="light"] .app-area .text-zinc-300 { color: #27272a !important; }
[data-theme="light"] .app-area .text-zinc-400 { color: #52525b !important; }
[data-theme="light"] .app-area .text-zinc-500,
[data-theme="light"] .app-area .text-zinc-600 { color: #71717a !important; }
[data-theme="light"] .app-area .border-zinc-900,
[data-theme="light"] .app-area .border-zinc-800,
[data-theme="light"] .app-area .border-zinc-700 { border-color: #ded6d3 !important; }
[data-theme="light"] .app-area input:not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] .app-area textarea,
[data-theme="light"] .app-area select { background: #fff !important; color: #27272a !important; border-color: #cfc5c1 !important; }
[data-theme="light"] .app-area .prose { color: #3f3f46 !important; }
[data-theme="light"] .app-area .prose h2,
[data-theme="light"] .app-area .prose h3,
[data-theme="light"] .app-area .prose strong { color: #18181b !important; }
[data-theme="light"] .app-area .ql-toolbar,
[data-theme="light"] .app-area .ql-container { background: #fff !important; color: #27272a !important; border-color: #cfc5c1 !important; }
[data-theme="light"] .badge-item { background: #fff; border-color: #ded6d3; }
[data-theme="light"] .theme-toggle { color: #d94f43 !important; }
button, a { -webkit-tap-highlight-color: transparent; }
@media (max-width: 767px) {
    .brand-logo { height: 1.65rem; max-width: 13rem; }
    .app-brand-logo { height: 1.35rem; max-width: 11rem; }
    .feature-box { padding: 1.35rem; }
    .mobile-stack { width: 100%; }
    .mobile-stack > * { width: 100%; }
    .admin-shell { padding: 1rem !important; }
    .responsive-table { display: block; overflow-x: auto; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
