@import url('https://fonts.googleapis.com/css2?family=Cardo:wght@400;700&family=Cinzel:wght@600;700&family=Inter:wght@400;600;700&display=swap');

body.theme-default {
  background-color: #f8f9fa;
}

body.theme-medieval {
  background: radial-gradient(circle at 20% 20%, #f5e8cf, #e7d7b8 35%, #d7c6a5);
  color: #2d1f12;
  font-family: 'Cardo', serif;
}

body.theme-medieval * {
  color: #2d1f12;
}

body.theme-medieval .navbar {
  background: linear-gradient(90deg, #3c2c1f, #2e2318);
  border-bottom: 4px solid #b3894d;
}

body.theme-medieval .navbar-brand span,
body.theme-medieval .navbar-nav .nav-link,
body.theme-medieval .navbar-text {
  color: #f4ead4 !important;
}

body.theme-medieval .navbar-nav .nav-link.active,
body.theme-medieval .navbar-nav .nav-link:focus,
body.theme-medieval .navbar-nav .nav-link:hover {
  color: #ffd88c !important;
}

body.theme-medieval .btn-primary,
body.theme-medieval .btn-outline-primary {
  background-color: #7c4d2a;
  border-color: #5f391f;
  color: #f8f1e1;
  box-shadow: 0 4px 0 #3b2415;
}

body.theme-medieval .btn-primary:hover,
body.theme-medieval .btn-outline-primary:hover {
  background-color: #9a663a;
  border-color: #744626;
  color: #fff9ed;
}

body.theme-medieval .btn-outline-primary {
  background: transparent;
  color: #7c4d2a;
  box-shadow: none;
}

body.theme-medieval .btn-outline-primary:hover {
  color: #fff9ed;
}

body.theme-medieval .card {
  background: #f7ecd4;
  border: 1px solid #c8a36f;
  box-shadow: 0 10px 20px rgba(51, 34, 18, 0.18);
}

body.theme-medieval .card-title,
body.theme-medieval h1,
body.theme-medieval h2,
body.theme-medieval h3,
body.theme-medieval h4,
body.theme-medieval h5,
body.theme-medieval h6 {
  font-family: 'Cinzel', serif;
  color: #3b2415;
  letter-spacing: 0.5px;
}

body.theme-medieval .table {
  background: #f7ecd4;
  border-color: #c8a36f;
}

body.theme-medieval .table > :not(caption) > * > * {
  background-color: transparent;
  border-color: #c8a36f;
}

body.theme-medieval .form-control,
body.theme-medieval .form-select,
body.theme-medieval .form-check-input {
  background-color: #fffaf0;
  border-color: #c8a36f;
  color: #2d1f12;
}

body.theme-medieval .form-control:focus,
body.theme-medieval .form-select:focus,
body.theme-medieval .form-check-input:focus {
  border-color: #b3894d;
  box-shadow: 0 0 0 0.25rem rgba(180, 132, 70, 0.35);
}

body.theme-medieval a {
  color: #7c4d2a;
}

body.theme-medieval a:hover {
  color: #9a663a;
}

body.theme-medieval .alert {
  border-color: #c8a36f;
  background-color: #fff7e3;
  color: #3b2415;
}

body.theme-medieval .badge.bg-primary {
  background-color: #7c4d2a !important;
}

body.theme-medieval .list-group-item {
  background: #fff7e3;
  border-color: #c8a36f;
}

body.theme-medieval .nav-tabs .nav-link {
  border-color: #c8a36f;
  color: #7c4d2a;
  background: #fffaf0;
}

body.theme-medieval .nav-tabs .nav-link.active {
  background: #f0e3c9;
  color: #3b2415;
  border-bottom-color: transparent;
}

body.theme-medieval .progress,
body.theme-medieval .progress-bar {
  background-color: #e6d3ab;
  color: #3b2415;
}

body.theme-medieval .progress-bar {
  background-image: linear-gradient(90deg, #b87a33, #8a5224);
}

body.theme-medieval .modal-content {
  background: #f7ecd4;
  border-color: #c8a36f;
}

body.theme-medieval-light {
  background: radial-gradient(circle at 25% 25%, #fff9ed, #f6e6c8 35%, #e6d4ac);
  color: #3b2415;
  font-family: 'Cardo', serif;
}

body.theme-medieval-light .navbar {
  background: linear-gradient(90deg, #c69a63, #a77545);
  border-bottom: 4px solid #8f5e33;
}

body.theme-medieval-light .navbar-brand span,
body.theme-medieval-light .navbar-nav .nav-link,
body.theme-medieval-light .navbar-text {
  color: #fff7e3 !important;
}

body.theme-medieval-light .navbar-nav .nav-link.active,
body.theme-medieval-light .navbar-nav .nav-link:focus,
body.theme-medieval-light .navbar-nav .nav-link:hover {
  color: #ffe0a6 !important;
}

body.theme-medieval-light .btn-primary,
body.theme-medieval-light .btn-outline-primary {
  background-color: #b6793c;
  border-color: #945f2d;
  color: #fffaf0;
  box-shadow: 0 4px 0 #70461f;
}

body.theme-medieval-light .btn-primary:hover,
body.theme-medieval-light .btn-outline-primary:hover {
  background-color: #c78b4c;
  border-color: #a46f36;
  color: #fff7e3;
}

body.theme-medieval-light .btn-outline-primary {
  background: transparent;
  color: #b6793c;
  box-shadow: none;
}

body.theme-medieval-light .btn-outline-primary:hover {
  color: #fff7e3;
}

body.theme-medieval-light .card {
  background: #fff6df;
  border: 1px solid #d3ad77;
  box-shadow: 0 10px 20px rgba(68, 41, 24, 0.15);
}

body.theme-medieval-light .card-title,
body.theme-medieval-light h1,
body.theme-medieval-light h2,
body.theme-medieval-light h3,
body.theme-medieval-light h4,
body.theme-medieval-light h5,
body.theme-medieval-light h6 {
  font-family: 'Cinzel', serif;
  color: #472b19;
  letter-spacing: 0.5px;
}

body.theme-medieval-light .table {
  background: #fff6df;
  border-color: #d3ad77;
}

body.theme-medieval-light .table > :not(caption) > * > * {
  background-color: transparent;
  border-color: #d3ad77;
}

body.theme-medieval-light .form-control,
body.theme-medieval-light .form-select,
body.theme-medieval-light .form-check-input {
  background-color: #fffaf0;
  border-color: #d3ad77;
  color: #3b2415;
}

body.theme-medieval-light .form-control:focus,
body.theme-medieval-light .form-select:focus,
body.theme-medieval-light .form-check-input:focus {
  border-color: #b6793c;
  box-shadow: 0 0 0 0.25rem rgba(182, 121, 60, 0.3);
}

body.theme-medieval-light a {
  color: #b6793c;
}

body.theme-medieval-light a:hover {
  color: #c78b4c;
}

body.theme-medieval-light .alert {
  border-color: #d3ad77;
  background-color: #fff8e7;
  color: #472b19;
}

body.theme-medieval-light .badge.bg-primary {
  background-color: #b6793c !important;
}

body.theme-medieval-light .list-group-item {
  background: #fff8e7;
  border-color: #d3ad77;
}

body.theme-medieval-light .nav-tabs .nav-link {
  border-color: #d3ad77;
  color: #b6793c;
  background: #fffaf0;
}

body.theme-medieval-light .nav-tabs .nav-link.active {
  background: #f8e8cf;
  color: #3b2415;
  border-bottom-color: transparent;
}

body.theme-medieval-light .progress,
body.theme-medieval-light .progress-bar {
  background-color: #f2dbb3;
  color: #3b2415;
}

body.theme-medieval-light .progress-bar {
  background-image: linear-gradient(90deg, #c78b4c, #a46f36);
}

body.theme-medieval-light .modal-content {
  background: #fff6df;
  border-color: #d3ad77;
}

body.theme-medieval-dark {
  background: radial-gradient(circle at 15% 15%, #2a1b14, #1f1410 40%, #120b08);
  color: #f1e6d2;
  font-family: 'Cardo', serif;
}

body.theme-medieval-dark .navbar {
  background: linear-gradient(90deg, #140d09, #20130c);
  border-bottom: 4px solid #8a5a2f;
}

body.theme-medieval-dark .navbar-brand span,
body.theme-medieval-dark .navbar-nav .nav-link,
body.theme-medieval-dark .navbar-text {
  color: #f1e6d2 !important;
}

body.theme-medieval-dark .navbar-nav .nav-link.active,
body.theme-medieval-dark .navbar-nav .nav-link:focus,
body.theme-medieval-dark .navbar-nav .nav-link:hover {
  color: #f7c77d !important;
}

body.theme-medieval-dark .btn-primary,
body.theme-medieval-dark .btn-outline-primary {
  background-color: #8a5a2f;
  border-color: #5e3d1f;
  color: #fff2dd;
  box-shadow: 0 4px 0 #2f1d10;
}

body.theme-medieval-dark .btn-primary:hover,
body.theme-medieval-dark .btn-outline-primary:hover {
  background-color: #a06a3b;
  border-color: #754b28;
  color: #fff7e8;
}

body.theme-medieval-dark .btn-outline-primary {
  background: transparent;
  color: #d8aa74;
  box-shadow: none;
}

body.theme-medieval-dark .btn-outline-primary:hover {
  color: #fff7e8;
}

body.theme-medieval-dark .card {
  background: #1c120d;
  border: 1px solid #8a5a2f;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

body.theme-medieval-dark .card-title,
body.theme-medieval-dark h1,
body.theme-medieval-dark h2,
body.theme-medieval-dark h3,
body.theme-medieval-dark h4,
body.theme-medieval-dark h5,
body.theme-medieval-dark h6 {
  font-family: 'Cinzel', serif;
  color: #f7c77d;
  letter-spacing: 0.5px;
}

body.theme-medieval-dark .table {
  background: #1c120d;
  border-color: #8a5a2f;
}

body.theme-medieval-dark .table > :not(caption) > * > * {
  background-color: transparent;
  border-color: #8a5a2f;
  color: #f1e6d2;
}

body.theme-medieval-dark .text-muted,
body.theme-medieval-dark .form-text {
  color: #d9c7a5 !important;
}

body.theme-medieval-dark .form-control,
body.theme-medieval-dark .form-select,
body.theme-medieval-dark .form-check-input {
  background-color: #120b08;
  border-color: #8a5a2f;
  color: #f1e6d2;
}

body.theme-medieval-dark .form-control::placeholder,
body.theme-medieval-dark .form-select::placeholder,
body.theme-medieval-dark .form-control::-webkit-input-placeholder,
body.theme-medieval-dark .form-control::-moz-placeholder,
body.theme-medieval-dark .form-control:-ms-input-placeholder,
body.theme-medieval-dark .form-control::-ms-input-placeholder {
  color: #e1d3b2;
  opacity: 1;
}

body.theme-medieval-dark .form-label,
body.theme-medieval-dark .form-check-label,
body.theme-medieval-dark label,
body.theme-medieval-dark legend,
body.theme-medieval-dark .input-group-text,
body.theme-medieval-dark .text-secondary {
  color: #f1e6d2 !important;
}

body.theme-medieval-dark .form-control:focus,
body.theme-medieval-dark .form-select:focus,
body.theme-medieval-dark .form-check-input:focus {
  border-color: #d8aa74;
  box-shadow: 0 0 0 0.25rem rgba(216, 170, 116, 0.25);
}

body.theme-medieval-dark * {
  color: #f1e6d2;
}

body.theme-medieval-dark a {
  color: #d8aa74;
}

body.theme-medieval-dark a:hover {
  color: #f7c77d;
}

body.theme-medieval-dark .alert {
  border-color: #8a5a2f;
  background-color: #1f130d;
  color: #f1e6d2;
}

body.theme-medieval-dark .badge.bg-primary {
  background-color: #8a5a2f !important;
}

body.theme-medieval-dark .list-group-item {
  background: #1a110c;
  border-color: #8a5a2f;
  color: #f1e6d2;
}

body.theme-medieval-dark .nav-tabs .nav-link {
  border-color: #8a5a2f;
  color: #d8aa74;
  background: #120b08;
}

body.theme-medieval-dark .nav-tabs .nav-link.active {
  background: #1f130d;
  color: #f7c77d;
  border-bottom-color: transparent;
}

body.theme-medieval-dark .progress,
body.theme-medieval-dark .progress-bar {
  background-color: #2a1b14;
  color: #f1e6d2;
}

body.theme-medieval-dark .progress-bar {
  background-image: linear-gradient(90deg, #a06a3b, #7f4f28);
}

body.theme-medieval-dark .modal-content {
  background: #1c120d;
  border-color: #8a5a2f;
}

body.theme-modern {
  background: linear-gradient(120deg, #f2f5fb, #e8ecf5);
  color: #0f172a;
  font-family: 'Inter', sans-serif;
}

body.theme-modern .navbar {
  background: linear-gradient(90deg, #2563eb, #4f46e5);
  border-bottom: 3px solid #0ea5e9;
}

body.theme-modern .navbar-brand span,
body.theme-modern .navbar-nav .nav-link,
body.theme-modern .navbar-text {
  color: #e2e8f0 !important;
}

body.theme-modern .navbar-nav .nav-link.active,
body.theme-modern .navbar-nav .nav-link:focus,
body.theme-modern .navbar-nav .nav-link:hover {
  color: #a5f3fc !important;
}

body.theme-modern .btn-primary,
body.theme-modern .btn-outline-primary {
  background-color: #2563eb;
  border-color: #1d4ed8;
  color: #f8fafc;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.3);
}

body.theme-modern .btn-primary:hover,
body.theme-modern .btn-outline-primary:hover {
  background-color: #1d4ed8;
  border-color: #1e40af;
  color: #e0f2fe;
}

body.theme-modern .btn-outline-primary {
  background: transparent;
  color: #2563eb;
  box-shadow: none;
}

body.theme-modern .btn-outline-primary:hover {
  color: #e0f2fe;
}

body.theme-modern .card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
  border-radius: 12px;
}

body.theme-modern .card-title,
body.theme-modern h1,
body.theme-modern h2,
body.theme-modern h3,
body.theme-modern h4,
body.theme-modern h5,
body.theme-modern h6 {
  font-family: 'Inter', sans-serif;
  color: #0f172a;
  letter-spacing: 0.2px;
}

body.theme-modern .table {
  background: #ffffff;
  border-color: #e2e8f0;
}

body.theme-modern .table > :not(caption) > * > * {
  background-color: transparent;
  border-color: #e2e8f0;
}

body.theme-modern .form-control,
body.theme-modern .form-select,
body.theme-modern .form-check-input {
  background-color: #f8fafc;
  border-color: #cbd5e1;
  color: #0f172a;
  border-radius: 10px;
}

body.theme-modern .form-control:focus,
body.theme-modern .form-select:focus,
body.theme-modern .form-check-input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.25);
}

body.theme-modern a {
  color: #2563eb;
}

body.theme-modern a:hover {
  color: #1d4ed8;
}

body.theme-modern .alert {
  border-color: #cbd5e1;
  background-color: #e0f2fe;
  color: #0f172a;
}

body.theme-modern .badge.bg-primary {
  background-color: #2563eb !important;
}

body.theme-modern .list-group-item {
  background: #ffffff;
  border-color: #e2e8f0;
}

body.theme-modern .nav-tabs .nav-link {
  border-color: #e2e8f0;
  color: #2563eb;
  background: #f8fafc;
}

body.theme-modern .nav-tabs .nav-link.active {
  background: #e2e8f0;
  color: #0f172a;
  border-bottom-color: transparent;
}

body.theme-modern .progress,
body.theme-modern .progress-bar {
  background-color: #e2e8f0;
  color: #0f172a;
}

body.theme-modern .progress-bar {
  background-image: linear-gradient(90deg, #2563eb, #0ea5e9);
}

body.theme-modern .modal-content {
  background: #ffffff;
  border-color: #e2e8f0;
  border-radius: 12px;
}

body.theme-modern-light {
  background: linear-gradient(120deg, #ffffff, #f4f7fb);
  color: #111827;
  font-family: 'Inter', sans-serif;
}

body.theme-modern-light .navbar {
  background: linear-gradient(90deg, #60a5fa, #4f46e5);
  border-bottom: 3px solid #38bdf8;
}

body.theme-modern-light .navbar-brand span,
body.theme-modern-light .navbar-nav .nav-link,
body.theme-modern-light .navbar-text {
  color: #e2e8f0 !important;
}

body.theme-modern-light .navbar-nav .nav-link.active,
body.theme-modern-light .navbar-nav .nav-link:focus,
body.theme-modern-light .navbar-nav .nav-link:hover {
  color: #dbeafe !important;
}

body.theme-modern-light .btn-primary,
body.theme-modern-light .btn-outline-primary {
  background-color: #4f46e5;
  border-color: #4338ca;
  color: #f8fafc;
  box-shadow: 0 8px 20px rgba(79, 70, 229, 0.25);
}

body.theme-modern-light .btn-primary:hover,
body.theme-modern-light .btn-outline-primary:hover {
  background-color: #4338ca;
  border-color: #3730a3;
  color: #eef2ff;
}

body.theme-modern-light .btn-outline-primary {
  background: transparent;
  color: #4f46e5;
  box-shadow: none;
}

body.theme-modern-light .btn-outline-primary:hover {
  color: #eef2ff;
}

body.theme-modern-light .card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.07);
  border-radius: 12px;
}

body.theme-modern-light .card-title,
body.theme-modern-light h1,
body.theme-modern-light h2,
body.theme-modern-light h3,
body.theme-modern-light h4,
body.theme-modern-light h5,
body.theme-modern-light h6 {
  font-family: 'Inter', sans-serif;
  color: #111827;
  letter-spacing: 0.2px;
}

body.theme-modern-light .table {
  background: #ffffff;
  border-color: #e5e7eb;
}

body.theme-modern-light .table > :not(caption) > * > * {
  background-color: transparent;
  border-color: #e5e7eb;
}

body.theme-modern-light .form-control,
body.theme-modern-light .form-select,
body.theme-modern-light .form-check-input {
  background-color: #f9fafb;
  border-color: #d1d5db;
  color: #111827;
  border-radius: 10px;
}

body.theme-modern-light .form-control:focus,
body.theme-modern-light .form-select:focus,
body.theme-modern-light .form-check-input:focus {
  border-color: #4f46e5;
  box-shadow: 0 0 0 0.25rem rgba(79, 70, 229, 0.2);
}

body.theme-modern-light a {
  color: #4f46e5;
}

body.theme-modern-light a:hover {
  color: #3730a3;
}

body.theme-modern-light .alert {
  border-color: #d1d5db;
  background-color: #eef2ff;
  color: #111827;
}

body.theme-modern-light .badge.bg-primary {
  background-color: #4f46e5 !important;
}

body.theme-modern-light .list-group-item {
  background: #ffffff;
  border-color: #e5e7eb;
}

body.theme-modern-light .nav-tabs .nav-link {
  border-color: #e5e7eb;
  color: #4f46e5;
  background: #f9fafb;
}

body.theme-modern-light .nav-tabs .nav-link.active {
  background: #e5e7eb;
  color: #111827;
  border-bottom-color: transparent;
}

body.theme-modern-light .progress,
body.theme-modern-light .progress-bar {
  background-color: #e5e7eb;
  color: #111827;
}

body.theme-modern-light .progress-bar {
  background-image: linear-gradient(90deg, #4f46e5, #38bdf8);
}

body.theme-modern-light .modal-content {
  background: #ffffff;
  border-color: #e5e7eb;
  border-radius: 12px;
}

body.theme-modern-dark {
  background: radial-gradient(circle at 30% 20%, #182033, #0f172a 45%, #0a1020);
  color: #e5e7eb;
  font-family: 'Inter', sans-serif;
}

body.theme-modern-dark * {
  color: #e5e7eb;
}

body.theme-modern-dark .navbar {
  background: linear-gradient(90deg, #0b1324, #111827);
  border-bottom: 3px solid #38bdf8;
}

body.theme-modern-dark .navbar-brand span,
body.theme-modern-dark .navbar-nav .nav-link,
body.theme-modern-dark .navbar-text {
  color: #e5e7eb !important;
}

body.theme-modern-dark .navbar-nav .nav-link.active,
body.theme-modern-dark .navbar-nav .nav-link:focus,
body.theme-modern-dark .navbar-nav .nav-link:hover {
  color: #67e8f9 !important;
}

body.theme-modern-dark .btn-primary,
body.theme-modern-dark .btn-outline-primary {
  background-color: #0ea5e9;
  border-color: #0284c7;
  color: #e0f2fe;
  box-shadow: 0 10px 24px rgba(14, 165, 233, 0.35);
}

body.theme-modern-dark .btn-primary:hover,
body.theme-modern-dark .btn-outline-primary:hover {
  background-color: #0284c7;
  border-color: #0369a1;
  color: #e0f2fe;
}

body.theme-modern-dark .btn-outline-primary {
  background: transparent;
  color: #67e8f9;
  box-shadow: none;
}

body.theme-modern-dark .btn-outline-primary:hover {
  color: #e0f2fe;
}

body.theme-modern-dark .card {
  background: #0f172a;
  border: 1px solid #1f2937;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
  border-radius: 12px;
}

body.theme-modern-dark .card-title,
body.theme-modern-dark h1,
body.theme-modern-dark h2,
body.theme-modern-dark h3,
body.theme-modern-dark h4,
body.theme-modern-dark h5,
body.theme-modern-dark h6 {
  font-family: 'Inter', sans-serif;
  color: #e5e7eb;
  letter-spacing: 0.2px;
}

body.theme-modern-dark .table {
  background: #0f172a;
  border-color: #1f2937;
}

body.theme-modern-dark .table > :not(caption) > * > * {
  background-color: transparent;
  border-color: #1f2937;
  color: #e5e7eb;
}

body.theme-modern-dark .text-muted,
body.theme-modern-dark .form-text {
  color: #cbd5e1 !important;
}

body.theme-modern-dark .form-control,
body.theme-modern-dark .form-select,
body.theme-modern-dark .form-check-input {
  background-color: #111827;
  border-color: #1f2937;
  color: #e5e7eb;
  border-radius: 10px;
}

body.theme-modern-dark .form-control::placeholder,
body.theme-modern-dark .form-select::placeholder,
body.theme-modern-dark .form-control::-webkit-input-placeholder,
body.theme-modern-dark .form-control::-moz-placeholder,
body.theme-modern-dark .form-control:-ms-input-placeholder,
body.theme-modern-dark .form-control::-ms-input-placeholder {
  color: #cbd5e1;
  opacity: 1;
}

body.theme-modern-dark .form-label,
body.theme-modern-dark .form-check-label,
body.theme-modern-dark label,
body.theme-modern-dark legend,
body.theme-modern-dark .input-group-text,
body.theme-modern-dark .text-secondary {
  color: #e5e7eb !important;
}

body.theme-modern-dark .form-control:focus,
body.theme-modern-dark .form-select:focus,
body.theme-modern-dark .form-check-input:focus {
  border-color: #0ea5e9;
  box-shadow: 0 0 0 0.25rem rgba(14, 165, 233, 0.2);
}

body.theme-modern-dark a {
  color: #67e8f9;
}

body.theme-modern-dark a:hover {
  color: #22d3ee;
}

body.theme-modern-dark .alert {
  border-color: #1f2937;
  background-color: #111827;
  color: #e5e7eb;
}

body.theme-modern-dark .badge.bg-primary {
  background-color: #0ea5e9 !important;
}

body.theme-modern-dark .list-group-item {
  background: #111827;
  border-color: #1f2937;
  color: #e5e7eb;
}

body.theme-modern-dark .nav-tabs .nav-link {
  border-color: #1f2937;
  color: #67e8f9;
  background: #0b1020;
}

body.theme-modern-dark .nav-tabs .nav-link.active {
  background: #111827;
  color: #e5e7eb;
  border-bottom-color: transparent;
}

body.theme-modern-dark .progress,
body.theme-modern-dark .progress-bar {
  background-color: #1f2937;
  color: #e5e7eb;
}

body.theme-modern-dark .progress-bar {
  background-image: linear-gradient(90deg, #0ea5e9, #38bdf8);
}

body.theme-modern-dark .modal-content {
  background: #0f172a;
  border-color: #1f2937;
  border-radius: 12px;
}
