/* Mordisquito · Pantone 4975 C (#3F2122) y 155 C (#EED0A0) */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Caveat:wght@600&family=Montserrat:wght@400;500;600;700&display=swap');

body, input, select, textarea, button, .btn { font-family: 'Montserrat', system-ui, sans-serif !important; }

/* ---------- Pantalla de acceso ---------- */
body.task-login,
html.dark-mode body.task-login {
  background:
    radial-gradient(circle at 15% 10%, rgba(238, 208, 160, .22), transparent 45%),
    radial-gradient(circle at 90% 90%, rgba(200, 121, 45, .18), transparent 40%),
    #3f2122 !important;
}
body.task-login #layout,
body.task-login #layout-content { background: transparent !important; }
body.task-login #login-form {
  background: #fbf6ee !important;
  color: #2a1718 !important;
  border-radius: 24px;
  padding: 30px 28px 22px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
  max-width: 400px;
  margin: 0 auto;
}
body.task-login #logo { max-width: 150px !important; max-height: 150px !important; margin: 0 auto 14px !important; }
body.task-login #login-form table td.title,
body.task-login #login-form label { color: #6b5550 !important; font-weight: 600; }
body.task-login #login-form input.form-control {
  background: #fff !important; color: #2a1718 !important;
  border: 1.5px solid #e2d3bd !important; border-radius: 12px !important; padding: .6rem .8rem !important; height: auto !important;
}
body.task-login #login-form .input-group-text { background: #f6e6c9 !important; border-color: #e2d3bd !important; color: #3f2122 !important; }
body.task-login #login-form button.mainaction { border-radius: 999px !important; padding: .75rem !important; font-weight: 700 !important; font-size: 1.05rem !important; }
body.task-login #login-footer,
body.task-login #login-footer a { color: #6b5550 !important; font-size: .8rem; }
.mq-eslogan { font-family: 'Caveat', cursive; font-size: 1.6rem; color: #c8792d; text-align: center; margin: 14px 0 0; }

/* ---------- Botones principales ---------- */
.btn-primary, button.mainaction, input.mainaction, a.button.mainaction, .button.mainaction,
.btn-primary:not(:disabled):not(.disabled):active {
  background-color: #3f2122 !important; border-color: #3f2122 !important; color: #eed0a0 !important;
}
.btn-primary:hover, button.mainaction:hover, .button.mainaction:hover { background-color: #5a3233 !important; border-color: #5a3233 !important; }
.btn-primary:focus, button.mainaction:focus { box-shadow: 0 0 0 .2rem rgba(238, 208, 160, .7) !important; }

/* ---------- Menú lateral ---------- */
#layout-menu, html.dark-mode #layout-menu { background-color: #3f2122 !important; }
#layout-menu .menu a, #layout-menu .menu a:before,
#layout-menu .special-buttons a, #layout-menu .special-buttons a:before { color: #f6e6c9 !important; }
#layout-menu .menu a.selected, #layout-menu .menu a:hover, #layout-menu .menu a:focus,
#layout-menu .special-buttons a:hover { background-color: #5a3233 !important; color: #eed0a0 !important; }
#layout-menu .menu a.selected:before { color: #eed0a0 !important; }
#layout-menu a.compose, #layout-menu .menu a.compose {
  background-color: #eed0a0 !important; color: #3f2122 !important; border-radius: 12px; margin: 6px;
}
#layout-menu a.compose:before { color: #3f2122 !important; }
#layout-menu #logo { max-width: 74px !important; max-height: 74px !important; margin: 12px auto !important; }

/* ---------- Listas y selección ---------- */
.listing li.selected, .listing li.selected > a,
table.records-table tr.selected td, table.records-table tr.focused td,
.listing li.focused, .listing li:hover > a { background-color: #f6e6c9 !important; color: #2a1718 !important; }
html.dark-mode .listing li.selected, html.dark-mode table.records-table tr.selected td { background-color: #5a3233 !important; color: #fbf6ee !important; }
.listing li.selected > a:before, table.records-table tr.selected td a { color: #3f2122 !important; }
.unreadcount, .msgcount, .listing li .unreadcount { background-color: #c8792d !important; color: #fff !important; }
table.messagelist tr.unread td.subject span.subject a { color: #3f2122 !important; }

/* ---------- Enlaces, foco y detalles ---------- */
a, .link, a.button.icon:hover { color: #7a4a3c; }
.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: #7a4a3c !important; box-shadow: 0 0 0 .2rem rgba(238, 208, 160, .6) !important;
}
.custom-control-input:checked ~ .custom-control-label:before,
.custom-switch .custom-control-input:checked ~ .custom-control-label:before { background-color: #3f2122 !important; border-color: #3f2122 !important; }
.header, .header .header-title { color: #3f2122; }
html.dark-mode .header, html.dark-mode .header .header-title { color: #eed0a0; }
.ui-dialog .ui-dialog-titlebar { border-bottom-color: #eed0a0 !important; }