/*
 * Custom styles for Lembra AI
 * Tema: Verde Menta + Cinza
 */

@import "swiper/swiper-bundle.css";
@import "flashcards";
@import "skeleton.css";
@import "scroll_animations";

:root {
  --animation-duration: 0.3s;
  --p: 185 60% 35%;
  --s: 200 10% 85%;
  --a: 190 40% 55%;
  --primary: 185 60% 35%;
  --primary-content: 0 0% 100%;
  --secondary: 200 10% 85%;
  --secondary-content: 0 0% 20%;
  --accent: 190 40% 55%;
  --accent-content: 0 0% 100%;
  --neutral: 190 25% 25%;
  --neutral-content: 0 0% 95%;
  --base-100: 200 15% 97%;
  --base-200: 200 15% 94%;
  --base-300: 200 15% 91%;
  --base-content: 190 20% 25%;
  --info: 200 100% 50%;
  --success: 150 60% 40%;
  --warning: 150 60% 35%;
  --error: 0 85% 55%;
}

/* abyss2.0 - Dark blue theme with oklch colors */
[data-theme="abyss2.0"] {
  color-scheme: dark;
  --color-base-100: oklch(12% 0.02 250);
  --color-base-200: oklch(15% 0.02 250);
  --color-base-300: oklch(20% 0.02 250);
  --color-base-content: oklch(97% 0 0);
  --color-primary: oklch(65% 0.15 175);
  --color-primary-content: oklch(98% 0 0);
  --color-secondary: oklch(70% 0.15 150);
  --color-secondary-content: oklch(98% 0 0);
  --color-accent: oklch(68% 0.162 75.834);
  --color-accent-content: oklch(25% 0 0);
  --color-neutral: oklch(27% 0.02 250);
  --color-neutral-content: oklch(98% 0 0);
  --color-info: oklch(71% 0.143 215.221);
  --color-info-content: oklch(98% 0 0);
  --color-success: oklch(69% 0.17 162.48);
  --color-success-content: oklch(97% 0 0);
  --color-warning: oklch(75% 0.15 85);
  --color-warning-content: oklch(25% 0 0);
  --color-error: oklch(63% 0.237 25.331);
  --color-error-content: oklch(98% 0 0);
  --radius-selector: 2rem;
  --radius-field: 2rem;
  --radius-box: 2rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 2px;
  --depth: 1;
  --noise: 0;
  /* Fallback HSL values for older DaisyUI */
  --p: 175 60% 40%;
  --pc: 0 0% 98%;
  --s: 150 50% 45%;
  --sc: 0 0% 98%;
  --a: 75 50% 68%;
  --ac: 0 0% 25%;
  --n: 215 25% 27%;
  --nc: 0 0% 98%;
  --b1: 222 47% 11%;
  --b2: 217 33% 17%;
  --b3: 215 28% 17%;
  --bc: 0 0% 97%;
  --in: 200 70% 55%;
  --inc: 0 0% 98%;
  --su: 162 50% 50%;
  --suc: 0 0% 97%;
  --wa: 45 80% 55%;
  --wac: 0 0% 20%;
  --er: 0 70% 55%;
  --erc: 0 0% 98%;
}

[data-theme="abyss2.0"] body {
  background: linear-gradient(135deg, #0F172A 0%, #111827 50%, #0F172A 100%);
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .glass {
  background: rgba(13, 115, 119, 0.8);
}

[data-theme="abyss2.0"] .card,
[data-theme="abyss2.0"] .dropdown-content {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .card:hover {
  border-color: #0d7377;
  box-shadow: 0 12px 24px rgba(13, 115, 119, 0.15);
}

[data-theme="abyss2.0"] .navbar {
  background-color: #111827;
  border-bottom: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .btn-primary {
  background: linear-gradient(135deg, #0d7377 0%, #14a3a8 100%);
  border: 2px solid #0d7377;
  color: white !important;
  box-shadow: 0 4px 12px rgba(13, 115, 119, 0.3);
}

[data-theme="abyss2.0"] .btn-primary:hover {
  background: linear-gradient(135deg, #14a3a8 0%, #0d7377 100%);
  box-shadow: 0 6px 20px rgba(13, 115, 119, 0.5);
  border-color: #14a3a8;
}

[data-theme="abyss2.0"] .btn-secondary {
  background: linear-gradient(135deg, #22C55E 0%, #16A34A 100%);
  border: 2px solid #22C55E;
  color: white !important;
}

[data-theme="abyss2.0"] .btn-secondary:hover {
  background: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
  border-color: #4ADE80;
}

[data-theme="abyss2.0"] .btn-ghost {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .btn-ghost:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .btn-outline {
  border-color: #0d7377;
  color: #0d7377;
}

[data-theme="abyss2.0"] .btn-outline:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .input,
[data-theme="abyss2.0"] .textarea,
[data-theme="abyss2.0"] .select {
  background-color: #0F172A;
  border: 2px solid #1F2937;
  color: #E5E7EB;
}

/* Synthwave Button Styles */
[data-theme="synthwave"] .btn-primary {
  background: linear-gradient(135deg, #0d7377 0%, #14a3a8 100%);
  border: 2px solid #0d7377;
  color: white !important;
  box-shadow: 0 4px 12px rgba(13, 115, 119, 0.3);
}

[data-theme="synthwave"] .btn-primary:hover {
  background: linear-gradient(135deg, #14a3a8 0%, #0d7377 100%);
  box-shadow: 0 6px 20px rgba(13, 115, 119, 0.5);
  border-color: #14a3a8;
}

[data-theme="synthwave"] .btn-secondary {
  background: linear-gradient(135deg, #22C55E 0%, #16A34A 100%);
  border: 2px solid #22C55E;
  color: white !important;
}

[data-theme="synthwave"] .btn-secondary:hover {
  background: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
  border-color: #4ADE80;
}

[data-theme="synthwave"] .btn-ghost {
  color: #E5E7EB;
}

[data-theme="synthwave"] .btn-ghost:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="synthwave"] .btn-outline {
  border-color: #0d7377;
  color: #0d7377;
}

[data-theme="synthwave"] .btn-outline:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="synthwave"] .input,
[data-theme="synthwave"] .textarea,
[data-theme="synthwave"] .select {
  background-color: #0F172A;
  border: 2px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="synthwave"] .card {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="synthwave"] .card:hover {
  border-color: #0d7377;
  box-shadow: 0 12px 24px rgba(13, 115, 119, 0.15);
}

[data-theme="synthwave"] .navbar {
  background-color: #111827;
  border-bottom: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .input:focus,
[data-theme="abyss2.0"] .textarea:focus,
[data-theme="abyss2.0"] .select:focus {
  border-color: #0d7377;
  box-shadow: 0 0 0 3px rgba(13, 115, 119, 0.2);
}

[data-theme="abyss2.0"] .progress::-webkit-progress-value {
  background: linear-gradient(90deg, #0d7377 0%, #22C55E 100%);
}

[data-theme="abyss2.0"] .link {
  color: #0d7377;
}

[data-theme="abyss2.0"] .link:hover {
  color: #14a3a8;
}

[data-theme="abyss2.0"] .tab {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .tab:hover:not(.tab-disabled) {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .tab-active {
  color: #0d7377;
  border-color: #0d7377;
}

[data-theme="abyss2.0"] .divider {
  border-color: #1F2937;
  color: #9CA3AF;
}

[data-theme="abyss2.0"] .divider::before,
[data-theme="abyss2.0"] .divider::after {
  border-color: #1F2937;
}

[data-theme="abyss2.0"] .table-zebra tbody tr:nth-child(even) {
  background: rgba(13, 115, 119, 0.05);
}

[data-theme="abyss2.0"] .table tbody tr {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .table tbody tr:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .modal {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .alert {
  background-color: #111827;
  border-color: #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .collapse {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] kbd {
  background-color: #1F2937;
  border: 1px solid #0d7377;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .tooltip::before {
  background-color: #0d7377;
  color: white;
}

[data-theme="abyss2.0"] .checkbox {
  --chkbg: #0d7377;
  --chkfg: white;
  border-color: #1F2937;
}

[data-theme="abyss2.0"] .checkbox:checked {
  background-color: #0d7377;
  border-color: #0d7377;
}

[data-theme="abyss2.0"] .avatar {
  border: 2px solid #1F2937;
}

[data-theme="abyss2.0"] .badge {
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .file-input {
  background-color: #0F172A;
  border-color: #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .file-input:hover {
  border-color: #0d7377;
}

[data-theme="abyss2.0"] .stats {
  background-color: #111827;
  border: 1px solid #1F2937;
}

[data-theme="abyss2.0"] .hero {
  background-color: #0F172A;
  border: 1px solid #1F2937;
}

[data-theme="abyss2.0"] .text-base-content {
  color: #E5E7EB !important;
}

[data-theme="abyss2.0"] .text-base-content\/60,
[data-theme="abyss2.0"] .text-base-content\/70,
[data-theme="abyss2.0"] .text-base-content\/80,
[data-theme="abyss2.0"] .text-base-content\/90 {
  color: #9CA3AF !important;
}

[data-theme="abyss2.0"] .stat-title,
[data-theme="abyss2.0"] .stat-desc {
  color: #9CA3AF;
}

[data-theme="abyss2.0"] .stat-value {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .menu-title {
  color: #9CA3AF;
}

[data-theme="abyss2.0"] .card-title {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .card-body p,
[data-theme="abyss2.0"] .card-body span {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .form-control label {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .footer {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .footer-title {
  color: #E5E7EB;
}

/* Substituir cores amarelas por verde menta no Abyss */
[data-theme="abyss2.0"] .text-warning,
[data-theme="abyss2.0"] .bg-warning,
[data-theme="abyss2.0"] .text-warning-content {
  color: #22C55E !important;
  background-color: transparent !important;
}

[data-theme="abyss2.0"] .text-warning-content {
  color: #22C55E !important;
}

[data-theme="abyss2.0"] .btn-warning {
  background: #22C55E;
  border-color: #22C55E;
  color: white;
}

[data-theme="abyss2.0"] .btn-warning:hover {
  background: #16A34A;
  border-color: #16A34A;
}

/* ===========================================
   FORÇAR CORES DE TEXTO CONSISTENTES
   =========================================== */

/* TODOS OS TEMAS ESCUROS - Texto Branco */
html[data-theme="abyss2.0"],
html[data-theme="synthwave"] {
  --base-content: 210 40% 98% !important;
  color: #FFFFFF !important;
}

html[data-theme="abyss2.0"] body,
html[data-theme="synthwave"] body,
html[data-theme="abyss2.0"] .card,
html[data-theme="synthwave"] .card,
html[data-theme="abyss2.0"] .navbar,
html[data-theme="synthwave"] .navbar,
html[data-theme="abyss2.0"] .dropdown-content,
html[data-theme="synthwave"] .dropdown-content,
html[data-theme="abyss2.0"] .modal,
html[data-theme="synthwave"] .modal,
html[data-theme="abyss2.0"] .collapse,
html[data-theme="synthwave"] .collapse,
html[data-theme="abyss2.0"] .alert,
html[data-theme="synthwave"] .alert,
html[data-theme="abyss2.0"] .footer,
html[data-theme="synthwave"] .footer,
html[data-theme="abyss2.0"] p,
html[data-theme="synthwave"] p,
html[data-theme="abyss2.0"] span,
html[data-theme="synthwave"] span,
html[data-theme="abyss2.0"] h1,
html[data-theme="synthwave"] h1,
html[data-theme="abyss2.0"] h2,
html[data-theme="synthwave"] h2,
html[data-theme="abyss2.0"] h3,
html[data-theme="synthwave"] h3,
html[data-theme="abyss2.0"] h4,
html[data-theme="synthwave"] h4,
html[data-theme="abyss2.0"] h5,
html[data-theme="synthwave"] h5,
html[data-theme="abyss2.0"] h6,
html[data-theme="synthwave"] h6,
html[data-theme="abyss2.0"] .card-body,
html[data-theme="synthwave"] .card-body,
html[data-theme="abyss2.0"] .card-title,
html[data-theme="synthwave"] .card-title,
html[data-theme="abyss2.0"] .card-body p,
html[data-theme="synthwave"] .card-body p,
html[data-theme="abyss2.0"] .card-body span,
html[data-theme="synthwave"] .card-body span {
  color: #FFFFFF !important;
}

html[data-theme="abyss2.0"] .text-base-content,
html[data-theme="synthwave"] .text-base-content {
  color: #FFFFFF !important;
}

html[data-theme="abyss2.0"] .text-base-content\/60,
html[data-theme="abyss2.0"] .text-base-content\/70,
html[data-theme="abyss2.0"] .text-base-content\/80,
html[data-theme="abyss2.0"] .text-base-content\/90,
html[data-theme="synthwave"] .text-base-content\/60,
html[data-theme="synthwave"] .text-base-content\/70,
html[data-theme="synthwave"] .text-base-content\/80,
html[data-theme="synthwave"] .text-base-content\/90 {
  color: #B0B0B0 !important;
}

/* TODOS OS TEMAS CLAROS - Texto Preto */
html[data-theme="cmyk"] {
  --base-content: 0 0% 10% !important;
  color: #000000 !important;
}

html[data-theme="lofi"] body,
html[data-theme="cmyk"] body {
  color: #1F2937;
}

html[data-theme="lofi"] .card,
html[data-theme="cmyk"] .card,
html[data-theme="lofi"] .navbar,
html[data-theme="cmyk"] .navbar,
html[data-theme="lofi"] .dropdown-content,
html[data-theme="cmyk"] .dropdown-content,
html[data-theme="lofi"] .modal,
html[data-theme="cmyk"] .modal,
html[data-theme="lofi"] .collapse,
html[data-theme="cmyk"] .collapse,
html[data-theme="lofi"] .alert,
html[data-theme="cmyk"] .alert,
html[data-theme="lofi"] .footer,
html[data-theme="cmyk"] .footer {
  color: #1F2937 !important;
}

html[data-theme="lofi"] .text-base-content,
html[data-theme="cmyk"] .text-base-content {
  color: #1F2937 !important;
}

html[data-theme="lofi"] .menu-title,
html[data-theme="cmyk"] .menu-title {
  color: #000000 !important;
  opacity: 1 !important;
}

html[data-theme="lofi"] .text-base-content\/60,
html[data-theme="lofi"] .text-base-content\/70,
html[data-theme="lofi"] .text-base-content\/80,
html[data-theme="cmyk"] .text-base-content\/60,
html[data-theme="cmyk"] .text-base-content\/70,
html[data-theme="cmyk"] .text-base-content\/80 {
  color: #555555 !important;
}

/* Checkbox styles for light themes */
html[data-theme="lofi"] .checkbox,
html[data-theme="cmyk"] .checkbox {
  --chkbg: #1F2937;
  --chkfg: #ffffff;
  border: 2px solid #1F2937;
}

html[data-theme="lofi"] .checkbox:focus,
html[data-theme="cmyk"] .checkbox:focus {
  border-color: #1F2937;
}

html[data-theme="lofi"] .checkbox:checked,
html[data-theme="cmyk"] .checkbox:checked {
  background-color: #1F2937;
  border-color: #1F2937;
}

html[data-theme="lofi"] .checkbox:checked:focus,
html[data-theme="cmyk"] .checkbox:checked:focus {
  background-color: #1F2937;
  border-color: #1F2937;
}

/* Radio styles for light themes */
html[data-theme="lofi"] .radio,
html[data-theme="cmyk"] .radio {
  border: 2px solid #1F2937;
}

html[data-theme="lofi"] .radio:checked,
html[data-theme="cmyk"] .radio:checked {
  background-color: #1F2937;
  border-color: #1F2937;
}

html[data-theme="lofi"] .radio:checked:focus,
html[data-theme="cmyk"] .radio:checked:focus {
  background-color: #1F2937;
  border-color: #1F2937;
}

/* Toggle styles for light themes */
html[data-theme="lofi"] .toggle,
html[data-theme="cmyk"] .toggle {
  background-color: #cccccc;
  border-color: #1F2937;
}

html[data-theme="lofi"] .toggle:checked,
html[data-theme="cmyk"] .toggle:checked {
  background-color: #1F2937;
  border-color: #1F2937;
}

html[data-theme="lofi"] .toggle:focus,
html[data-theme="cmyk"] .toggle:focus {
  border-color: #1F2937;
}
[data-theme="cmyk"] .text-base-content\/80,
[data-theme="autumn"] .text-base-content\/60,
[data-theme="autumn"] .text-base-content\/70,
[data-theme="autumn"] .text-base-content\/80,
[data-theme="business"] .text-base-content\/60,
[data-theme="business"] .text-base-content\/70,
[data-theme="business"] .text-base-content\/80,
[data-theme="lemonade"] .text-base-content\/60,
[data-theme="lemonade"] .text-base-content\/70,
[data-theme="lemonade"] .text-base-content\/80,
[data-theme="winter"] .text-base-content\/60,
[data-theme="winter"] .text-base-content\/70,
[data-theme="winter"] .text-base-content\/80 {
  color: #555555 !important;
}

/* Elementos de texto específicos */
[data-theme="dark"],
[data-theme="abyss2.0"],
[data-theme="black"],
[data-theme="synthwave"],
[data-theme="forest"],
[data-theme="dracula"],
[data-theme="night"] {
  --tw-prose-body: #FFFFFF;
  --tw-prose-headings: #FFFFFF;
  --tw-prose-lead: #B0B0B0;
  --tw-prose-links: #14a3a8;
  --tw-prose-bold: #FFFFFF;
  --tw-prose-counters: #B0B0B0;
  --tw-prose-bullets: #B0B0B0;
  --tw-prose-hr: #374151;
  --tw-prose-quotes: #FFFFFF;
  --tw-prose-quote-borders: #374151;
  --tw-prose-captions: #B0B0B0;
}

[data-theme="light"],
[data-theme="lofi"],
[data-theme="cmyk"],
[data-theme="autumn"],
[data-theme="business"],
[data-theme="lemonade"],
[data-theme="winter"] {
  --tw-prose-body: #000000;
  --tw-prose-headings: #000000;
  --tw-prose-lead: #555555;
  --tw-prose-links: #0d7377;
  --tw-prose-bold: #000000;
  --tw-prose-counters: #555555;
  --tw-prose-bullets: #555555;
  --tw-prose-hr: #E5E7EB;
  --tw-prose-quotes: #000000;
  --tw-prose-quote-borders: #E5E7EB;
  --tw-prose-captions: #555555;
}

/* Chat bubble text colors - DaisyUI não define automaticamente */
.chat-bubble-primary {
  color: hsl(var(--pc)) !important;
}

.chat-bubble-secondary {
  color: hsl(var(--sc)) !important;
}

/* Prose dentro de chat bubbles deve herdar a cor do texto do bubble */
.chat-bubble .prose,
.chat-bubble .prose * {
  color: inherit !important;
  --tw-prose-body: currentColor;
  --tw-prose-headings: currentColor;
  --tw-prose-bold: currentColor;
  --tw-prose-links: currentColor;
  --tw-prose-quotes: currentColor;
}

/* Estilos para o botão de logout no dropdown menu */
.dropdown-content li form {
  width: 100%;
  margin: 0;
  padding: 0;
}

.dropdown-content li form button {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0.75rem 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: inherit;
  color: inherit;
  border-radius: 0.5rem;
  transition: background-color 0.2s;
}

.dropdown-content li form button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

[data-theme="abyss2.0"] .dropdown-content li form button:hover,
[data-theme="synthwave"] .dropdown-content li form button:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* Theme selector dropdown - cores específicas por tema */

/* Temas CLAROS (lofi, CMYK) - botões e texto PRETO */
/* Temas ESCUROS (synthwave, abyss) - botões e texto BRANCO */
/* ===========================================
   TYPOGRAPHY
   =========================================== */

h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  letter-spacing: -0.02em;
}

h1 {
  line-height: 1.1 !important;
}

body {
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===========================================
   HIDE SCROLLBARS GLOBALLY
   =========================================== */

/* Hide scrollbar for Chrome, Safari and Opera */
*::-webkit-scrollbar {
  display: none !important;
}

/* Hide scrollbar for IE, Edge and Firefox */
* {
  -ms-overflow-style: none !important;  /* IE and Edge */
  scrollbar-width: none !important;  /* Firefox */
}

/* ===========================================
   ANIMATIONS
   =========================================== */

@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  animation: marquee 50s linear infinite;
  display: flex;
  width: max-content;
}
