/* ════════════════════════════════════════════════════════════
   MIXKL DESIGN SYSTEM — GLOBAL CSS
   Fuente unica de verdad para toda la plataforma.
   Carga DESPUES de main.css — sobreescribe Bootstrap + custom.
   Preserva: Font Awesome, Bootstrap grid, JSGrid funcional.
   ════════════════════════════════════════════════════════════ */

/* ═══ AUTOFILL FIX — GLOBAL ═══ */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 9999px #1e1a13 inset !important;
  box-shadow: 0 0 0px 9999px #1e1a13 inset !important;
  -webkit-text-fill-color: #F2D9B0 !important;
  caret-color: #F2D9B0 !important;
  border: 1px solid rgba(242,217,176,0.14) !important;
  border-radius: 4px !important;
  transition: background-color 99999s ease-in-out 0s !important;
}
input:-webkit-autofill:hover {
  -webkit-box-shadow: 0 0 0px 9999px #1e1a13 inset !important;
  -webkit-text-fill-color: #F2D9B0 !important;
}
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 9999px #1e1a13 inset !important;
  -webkit-text-fill-color: #F2D9B0 !important;
}
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0px 9999px #1e1a13 inset !important;
  -webkit-text-fill-color: #F2D9B0 !important;
}

/* ═══ VARIABLES ═══ */
:root {
    --r: #EE2E25;
    --g: #29A275;
    --o: #EA8A23;
    --cr: #F2D9B0;
    --ye: #FFE197;
    --d1: #0f0e0a;
    --d2: #171410;
    --d3: #1e1a13;
    --d4: #262017;
    --d5: #2e2820;
    --mu: #7a6c58;
    --mu2: #5a4e3e;
    --mu3: #9e8e78;
    --br: rgba(242,217,176,0.07);
    --br2: rgba(242,217,176,0.14);
    --br3: rgba(242,217,176,0.24);
    --font-display: 'Syne', sans-serif;
    --font-body: 'DM Sans', sans-serif;
    --font-size-base: 14px;
}

/* ═══ RESET ═══ */
*, *::before, *::after { box-sizing: border-box; }

/* ═══ BASE ═══ */
html { font-size: var(--font-size-base); }

body {
    font-family: var(--font-body) !important;
    font-size: var(--font-size-base) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: var(--cr) !important;
    background: var(--d1) !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Forzar fuente en TODOS los elementos — excepto icon fonts */
*:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.glyphicon):not([class^="icon-"]),
input, select, textarea, button,
.container, .container-fluid,
.row, [class*="col-"],
.navbar, .nav, .modal,
.dropdown-menu, table,
.form-control, .btn,
.alert, .badge, .label {
    font-family: var(--font-body) !important;
}
/* Restaurar FontAwesome 4.7 (bundled in main.css) */
.fa, .fa::before { font-family: 'FontAwesome' !important; }
/* Restaurar FontAwesome 5 (CDN en GestorRutas) */
.fas, .fas::before { font-family: 'Font Awesome 5 Free' !important; font-weight: 900 !important; }
.far, .far::before { font-family: 'Font Awesome 5 Free' !important; font-weight: 400 !important; }
.fab, .fab::before { font-family: 'Font Awesome 5 Brands' !important; }
.fal, .fal::before { font-family: 'Font Awesome 5 Free' !important; font-weight: 300 !important; }
/* Restaurar Glyphicons */
.glyphicon, .glyphicon::before {
    font-family: 'Glyphicons Halflings' !important;
}
/* Restaurar icomoon */
[class^="icon-"], [class^="icon-"]::before,
[class*=" icon-"], [class*=" icon-"]::before {
    font-family: 'icomoon' !important;
}

/* ═══ SCROLLBARS ═══ */
::-webkit-scrollbar { width: 3px; height: 3px; }
::-webkit-scrollbar-track { background: var(--d2); }
::-webkit-scrollbar-thumb { background: var(--mu2); border-radius: 2px; }

/* ═══ SELECCIÓN ═══ */
::selection { background: var(--r); color: #fff; }

/* ═══ TIPOGRAFÍA ═══ */
h1, h2, h3, h4, h5, h6, .font-syne {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    color: var(--cr) !important;
}

/* ═══ TOPBAR GLOBAL ═══ */
.mixkl-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:54px;min-height:54px;background:var(--d2);border-bottom:1px solid var(--br2);flex-shrink:0;position:relative;z-index:100}
.mixkl-topbar-left{display:flex;align-items:center;gap:14px}
.mixkl-topbar-right{display:flex;align-items:center;gap:8px}
.mixkl-logo{display:flex;align-items:center;gap:9px;text-decoration:none!important;cursor:pointer!important;color:inherit!important}
.mixkl-logo:hover .mixkl-logo-name{opacity:0.85}
.mixkl-logo-mark{width:32px;height:32px;background:var(--r);clip-path:polygon(12% 0%,88% 0%,100% 12%,100% 88%,88% 100%,12% 100%,0% 88%,0% 12%);display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0;overflow:hidden!important}
.mixkl-logo-mark svg{width:18px;height:18px}
.mixkl-logo-name{font-family:var(--font-display)!important;font-weight:800!important;font-size:17px!important;letter-spacing:0.05em;color:var(--cr)!important}
.mixkl-logo-name b{color:var(--r)}
.mixkl-vsep{width:1px;height:20px;background:var(--br2);flex-shrink:0}
.mixkl-page-title{font-family:var(--font-display)!important;font-size:10px!important;font-weight:600!important;letter-spacing:0.18em;text-transform:uppercase;color:var(--mu)!important}
.mixkl-badge{font-family:var(--font-display)!important;font-size:9px!important;font-weight:700!important;letter-spacing:0.1em;text-transform:uppercase;padding:3px 9px;border-radius:3px}
.mixkl-badge-nuevo{background:rgba(41,162,117,0.12);color:var(--g);border:1px solid rgba(41,162,117,0.2)}
.mixkl-badge-ver{background:rgba(242,217,176,0.08);color:var(--mu3);border:1px solid var(--br2)}
.mixkl-badge-editar{background:rgba(234,138,35,0.12);color:var(--o);border:1px solid rgba(234,138,35,0.2)}
.mixkl-topbar .btn{height:32px!important;padding:0 14px!important;font-size:11px!important;font-weight:600!important;border-radius:4px!important;display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}

/* ═══ LINKS ═══ */
a { color: var(--o); text-decoration: none; }
a:hover, a:focus { color: var(--cr); text-decoration: none; }

/* ═══ LABELS ═══ */
label {
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--mu) !important;
    margin-bottom: 4px !important;
    display: block !important;
}

/* ═══ BOTONES ═══ */
.btn {
    font-size: 12px !important;
    border-radius: 4px !important;
    transition: opacity 0.15s !important;
    box-shadow: none !important;
}
.btn:hover { opacity: 0.88; }
.btn:focus { outline: none !important; box-shadow: none !important; }
.btn-primary, .btn-danger, .btn_fill {
    background: var(--r) !important;
    color: #fff !important;
    border: none !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-danger:hover, .btn_fill:hover {
    background: #d42620 !important;
}
.btn-success {
    background: var(--g) !important;
    color: #fff !important;
    border: none !important;
}
.btn-warning {
    background: var(--o) !important;
    color: #fff !important;
    border: none !important;
}
.btn-default, .btn-secondary {
    background: transparent !important;
    color: var(--mu3) !important;
    border: 1px solid var(--br2) !important;
}
.btn-default:hover, .btn-secondary:hover {
    color: var(--cr) !important;
    border-color: var(--br3) !important;
    opacity: 1 !important;
}
.btn-info {
    background: var(--d3) !important;
    color: var(--cr) !important;
    border: 1px solid var(--br2) !important;
}
.btn-mixkl-red { background: var(--r); color: #fff; border: none; font-family: var(--font-display) !important; font-weight: 700; }
.btn-mixkl-orange { background: var(--o); color: #fff; border: none; font-family: var(--font-display) !important; font-weight: 700; }
.btn-mixkl-ghost { background: transparent; color: var(--mu3); border: 1px solid var(--br2); }
.btn-mixkl-ghost:hover { color: var(--cr); border-color: var(--br3); }

/* ═══ INPUTS ═══ */
input:not([type="checkbox"]):not([type="radio"]),
select, textarea, .form-control, .input_gral {
    background: var(--d3) !important;
    border: 1px solid var(--br2) !important;
    color: var(--cr) !important;
    border-radius: 4px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    max-width: none !important;
    box-shadow: none !important;
    height: auto !important;
}
input:focus, select:focus, textarea:focus, .form-control:focus {
    outline: none !important;
    border-color: var(--r) !important;
    box-shadow: none !important;
}
input::placeholder, .form-control::placeholder, textarea::placeholder {
    color: var(--mu) !important;
    opacity: 0.6;
}
select option, .form-control option {
    background: var(--d3) !important;
    color: var(--cr) !important;
}
input[type="checkbox"] {
    accent-color: var(--r) !important;
    width: 14px !important;
    height: 14px !important;
    padding: 0 !important;
}
.input_gral.disabled { opacity: 0.5; }

/* ═══ TABLAS ═══ */
.table, table {
    background: transparent !important;
    color: var(--cr) !important;
    border-color: var(--br) !important;
}
.table > thead > tr > th, thead th {
    background: var(--d4) !important;
    color: var(--mu2) !important;
    border-bottom: 1px solid var(--br2) !important;
    border-top: none !important;
    font-family: var(--font-display) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 8px 12px !important;
    text-align: left !important;
}
.table > tbody > tr > td, tbody td {
    border-top: 1px solid var(--br) !important;
    border-bottom: 1px solid var(--br) !important;
    color: var(--cr) !important;
    padding: 8px 12px;
    font-size: 12px;
    background: transparent !important;
}
.table > tbody > tr:hover > td, tbody tr:hover td {
    background: rgba(242,217,176,0.025) !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: rgba(242,217,176,0.015) !important;
}
.table-bordered, .table-bordered th, .table-bordered td {
    border-color: var(--br) !important;
}

/* ═══ CARDS / PANELS ═══ */
.card, .panel {
    background: var(--d2) !important;
    border: 1px solid var(--br) !important;
    border-radius: 6px !important;
    color: var(--cr) !important;
    box-shadow: none !important;
}
.card-header, .panel-heading, .panel-default > .panel-heading {
    background: var(--d3) !important;
    border-bottom: 1px solid var(--br2) !important;
    color: var(--cr) !important;
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
}
.panel-body, .card-body { background: var(--d2) !important; color: var(--cr) !important; }
.panel-footer { background: var(--d3) !important; border-color: var(--br) !important; }

/* ═══ MODALES BOOTSTRAP ═══ */
.modal-content {
    background: var(--d2) !important;
    border: 1px solid var(--br2) !important;
    border-radius: 8px !important;
    color: var(--cr) !important;
}
.modal-header {
    background: var(--d3) !important;
    border-bottom: 1px solid var(--br2) !important;
}
.modal-header .close { color: var(--cr) !important; opacity: 0.7; text-shadow: none !important; }
.modal-header .close:hover { color: var(--r) !important; opacity: 1; }
.modal-title, .modal-header h4 {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    color: var(--cr) !important;
}
.modal-body { background: var(--d2) !important; color: var(--cr) !important; }
.modal-footer { background: var(--d3) !important; border-top: 1px solid var(--br) !important; }
.modal-backdrop { background: rgba(0,0,0,0.7) !important; }
.modal-backdrop.in { opacity: 0.75 !important; }

/* Profile modal from layout */
.modal-container .content-modal {
    background: var(--d2) !important;
    border: 1px solid var(--br2) !important;
    border-radius: 10px !important;
    color: var(--cr) !important;
}
.modal-container .content-modal .title-modal { color: var(--cr) !important; font-family: var(--font-display); }
.modal-container .content-modal label { color: var(--mu) !important; }

/* ═══ HEADER / NAVBAR ═══ */
.main-header {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
.main-header nav a,
.main-header nav .list-menu-delivery li a,
.main-header nav .list-menu-delivery li .submenu li a {
    color: var(--cr) !important;
}
.main-header nav .list-menu-delivery li .submenu li { background: var(--d2) !important; }
.main-header nav .list-menu-delivery li .submenu li:hover { background: var(--r) !important; }
.menu-gral-masterdata { background: transparent !important; }
.menu-gral-masterdata ul li .submenu li { background: var(--d2) !important; }
.menu-gral-masterdata ul li .submenu li:hover { background: var(--r) !important; }
.navbar { background: var(--d2) !important; border-bottom: 1px solid var(--br2) !important; }
.navbar-brand { color: var(--cr) !important; font-weight: 800 !important; }
.navbar-nav > li > a { color: var(--mu3) !important; }
.navbar-nav > li > a:hover { color: var(--cr) !important; }

/* ═══ BADGES ═══ */
.badge {
    font-family: var(--font-display) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    padding: 3px 7px !important;
    border-radius: 10px !important;
}
.badge-success, .label-success { background: rgba(41,162,117,0.15) !important; color: var(--g) !important; }
.badge-danger, .label-danger { background: rgba(238,46,37,0.15) !important; color: var(--r) !important; }
.badge-warning, .label-warning { background: rgba(234,138,35,0.15) !important; color: var(--o) !important; }
.badge-primary, .label-primary { background: rgba(242,217,176,0.1) !important; color: var(--cr) !important; }
.label-default { background: var(--d4) !important; color: var(--cr) !important; }

/* ═══ ALERTAS ═══ */
.alert { border-radius: 4px !important; font-size: 12px !important; border: 1px solid !important; }
.alert-success { background: rgba(41,162,117,0.1) !important; border-color: rgba(41,162,117,0.25) !important; color: var(--g) !important; }
.alert-danger { background: rgba(238,46,37,0.1) !important; border-color: rgba(238,46,37,0.25) !important; color: var(--r) !important; }
.alert-warning { background: rgba(234,138,35,0.1) !important; border-color: rgba(234,138,35,0.25) !important; color: var(--o) !important; }
.alert-info { background: rgba(242,217,176,0.05) !important; border-color: var(--br2) !important; color: var(--cr) !important; }

/* ═══ DROPDOWNS ═══ */
.dropdown-menu {
    background: var(--d3) !important;
    border: 1px solid var(--br2) !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.5) !important;
}
.dropdown-menu > li > a { color: var(--cr) !important; font-size: 12px !important; }
.dropdown-menu > li > a:hover { background: var(--d4) !important; color: var(--cr) !important; }

/* ═══ PAGINATION ═══ */
.pagination > li > a, .pagination > li > span {
    background: var(--d3) !important;
    border-color: var(--br) !important;
    color: var(--cr) !important;
}
.pagination > li > a:hover { background: var(--d4) !important; }
.pagination > .active > a {
    background: var(--r) !important;
    border-color: var(--r) !important;
    color: #fff !important;
}

/* ═══ WELL ═══ */
.well { background: var(--d3) !important; border: 1px solid var(--br) !important; color: var(--cr) !important; border-radius: 6px !important; }

/* ═══ TEXT UTILITIES ═══ */
.text-muted { color: var(--mu) !important; }
.text-primary { color: var(--r) !important; }
.text-success { color: var(--g) !important; }
.text-warning { color: var(--o) !important; }
.text-danger { color: var(--r) !important; }
.text-info { color: var(--cr) !important; }

/* ═══ CONTAINERS ═══ */
.container, .container-fluid { color: var(--cr); }
.body-content { color: var(--cr); }

/* ═══ FOCUS GLOBAL ═══ */
*:focus { outline: none !important; box-shadow: none !important; }

/* ═══ JSGRID ═══ */
.jsgrid-header-cell { background: var(--d4) !important; color: var(--mu) !important; border-color: var(--br) !important; }
.jsgrid-cell { background: var(--d2) !important; color: var(--cr) !important; border-color: var(--br) !important; }
.jsgrid-alt-row .jsgrid-cell { background: rgba(242,217,176,0.015) !important; }
.jsgrid-selected-row .jsgrid-cell { background: rgba(238,46,37,0.08) !important; }
.jsgrid-pager { color: var(--cr) !important; }
.jsgrid-pager-current-page { color: var(--r) !important; font-weight: 700; }
.jsgrid-edit-button, .jsgrid-delete-button, .jsgrid-enable-button { filter: invert(1) brightness(0.8); }

/* ═══ ADMIN USERS ═══ */
.content-search-admin-users-monitoring { background: transparent !important; }
.content-search-admin-users-monitoring .nav_titles { color: var(--cr) !important; }
.content-search-admin-users-monitoring .nav_titles img { filter: invert(1) brightness(0.7); }
.content-search-admin-users-monitoring .span_gray { color: var(--mu) !important; }
.content-search-admin-users-monitoring .input_gral,
.content-search-admin-users-monitoring .select,
.content-search-admin-users-monitoring .search-admin-users-monitoring {
  background: var(--d3) !important; color: var(--cr) !important;
  border: 1px solid var(--br2) !important; border-radius: 4px !important;
}
.content-search-admin-users-monitoring .input_gral::placeholder,
.content-search-admin-users-monitoring .search-admin-users-monitoring::placeholder { color: var(--mu2) !important; }
.content-search-admin-users-monitoring .select option { background: var(--d2); color: var(--cr); }
.content-search-admin-users-monitoring .icon-search-admin-users-monitoring { filter: invert(1) brightness(0.6); }
.content-search-admin-users-monitoring .button-admin-users-add-new-client,
.content-search-admin-users-monitoring .btn-save-new-user {
  background: var(--r) !important; color: #fff !important;
  border: none !important; border-radius: 4px !important;
  font-family: var(--font-body) !important; font-size: 11px !important;
  font-weight: 600 !important; text-transform: uppercase !important;
  letter-spacing: .06em !important; padding: 8px 16px !important;
}
.content-search-admin-users-monitoring .button-admin-users-add-new-client:hover,
.content-search-admin-users-monitoring .btn-save-new-user:hover { opacity: 0.85; }
.content-form-new-users { background: var(--d3) !important; border: 1px solid var(--br) !important; border-radius: 6px !important; margin-top: 8px; padding: 12px !important; }
.content-message-correct-new-user .info-message,
.content-message-correct-update-new-user .info-message,
.content-message-error-new-user .info-message { background: var(--d3) !important; border: 1px solid var(--br) !important; color: var(--cr) !important; }

/* ═══ USER MENU ═══ */
.um-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;min-height:calc(100vh - 54px)}
.section-divider{display:flex;align-items:center;gap:16px;width:100%;max-width:900px;margin-bottom:24px}
.section-line{flex:1;height:1px;background:rgba(242,217,176,0.07);display:block}
.section-label{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#5a4e3e;white-space:nowrap}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;width:100%;max-width:900px}
.menu-card{background:var(--d2);border:1px solid var(--br);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:stretch;text-decoration:none;color:inherit}
.menu-card:hover{background:var(--d3);border-color:var(--br2)}
.menu-card-bar{width:3px;flex-shrink:0}
.menu-card-inner{display:flex;align-items:center;gap:16px;padding:20px 18px 20px 16px;flex:1}
.menu-card-icon{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.menu-card-icon svg{width:22px;height:22px}
.menu-card-text{flex:1}
.menu-card-title{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--cr);margin-bottom:4px;line-height:1.3}
.menu-card-desc{font-size:11px;color:var(--mu3);line-height:1.4}
.menu-card-arrow{font-size:14px;flex-shrink:0;transition:transform .15s}
.menu-card:hover .menu-card-arrow{transform:translateX(3px)}
.user-pill{display:flex;align-items:center;gap:8px;background:var(--d3);border:1px solid var(--br2);border-radius:20px;padding:4px 12px 4px 4px}
.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--r);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.user-name-pill{font-size:11px;font-weight:500;color:var(--cr);display:block}
.user-role-pill{font-size:9px;color:var(--mu3);display:block}
.user-pill{cursor:pointer;position:relative}
.user-pill-arrow{font-size:10px;color:var(--mu);margin-left:2px;transition:transform .15s}
.user-pill.open .user-pill-arrow{transform:rotate(180deg)}
.user-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--d3);border:1px solid var(--br2);border-radius:6px;min-width:180px;z-index:200;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.4)}
.user-pill.open .user-dropdown{display:block}
.user-dropdown-header{padding:10px 14px;border-bottom:1px solid var(--br)}
.user-dropdown-name{font-size:12px;font-weight:500;color:var(--cr)}
.user-dropdown-role{font-size:9px;color:var(--mu3);margin-top:2px}
.user-dropdown-item{display:block;width:100%;padding:9px 14px;font-size:11px;color:var(--mu3);background:none;border:none;text-align:left;cursor:pointer;text-decoration:none;transition:background .12s}
.user-dropdown-item:hover{background:var(--d4);color:var(--cr)}
.user-dropdown-item.logout{color:var(--r)}
.user-dropdown-item.logout:hover{background:rgba(238,46,37,0.08);color:var(--r)}

/* Legacy menu cards (compat) */
.content-title-capturista h2{color:var(--cr)!important;font-family:var(--font-display)}
.opcion-alta-cliente-mitad,.opcion-content [class*="opcion-"]{border:1px solid var(--br)!important;border-radius:8px!important;background:var(--d2)!important}
.opcion-alta-cliente-mitad:hover,.opcion-content [class*="opcion-"]:hover{border-color:var(--r)!important;background:rgba(238,46,37,.03)!important}
.opcion-content-text p{color:var(--cr)!important}
.opcion-content-text p:last-child { color: var(--mu) !important; font-size: 11px; }

/* ═══ LOGIN ═══ */
.login-page{display:flex;min-height:100vh;background:var(--d1);overflow:hidden;align-items:stretch}
.login-left{width:52%;min-height:100vh;background:var(--d2);border-right:1px solid var(--br);display:flex;flex-direction:column;justify-content:center;gap:40px;padding:48px;position:relative;overflow:hidden}
.login-left::before,.login-left::after{display:none}
/* Marca de agua login — estampado disperso */
.login-watermark{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.lwm-i{position:absolute;background-image:url('../images/markers/mixkl-logo.png');background-size:contain;background-repeat:no-repeat;background-position:center;filter:brightness(0) invert(1)}
.login-left>*:not(.login-watermark){position:relative;z-index:1}
.login-accent-line{position:absolute;top:0;bottom:0;right:-1px;width:2px;background:linear-gradient(to bottom,transparent,rgba(242,217,176,0.14) 30%,rgba(238,46,37,0.3) 50%,rgba(242,217,176,0.14) 70%,transparent)}
.login-logo-mark{width:44px;height:44px;background:var(--r);clip-path:polygon(12% 0%,88% 0%,100% 12%,100% 88%,88% 100%,12% 100%,0% 88%,0% 12%);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.login-logo-mark svg{width:24px;height:24px}
.login-brand-name{font-family:var(--font-display);font-weight:800;font-size:32px;color:var(--cr);letter-spacing:0.05em}
.login-brand-name b{color:var(--r)}
.login-brand-tag{font-family:var(--font-display);font-size:9px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--mu);margin-top:6px}
.login-brand-desc{font-size:13px;color:var(--mu3);max-width:280px;line-height:1.6;margin-top:8px}
.login-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.login-pill{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px;border-radius:10px;border:1px solid var(--br2);color:var(--mu3);display:inline-block}
.login-pill.active{background:rgba(238,46,37,0.1);border-color:rgba(238,46,37,0.25);color:var(--r)}
.login-right{flex:1;background:var(--d1);padding:48px 44px;display:flex;flex-direction:column;justify-content:center;max-width:480px}
.login-eyebrow{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--mu);margin-bottom:12px}
.login-title{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--cr);line-height:1.2;margin-bottom:8px}
.login-subtitle{font-size:12px;color:var(--mu3);margin-bottom:32px}
.login-field{margin-bottom:18px}
.login-label{font-family:var(--font-display);font-size:8px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--mu);margin-bottom:6px;display:block}
.login-input,.login-input:focus,input[type="text"].login-input,input[type="password"].login-input{width:100%;background:var(--d3)!important;background-color:var(--d3)!important;border:1px solid var(--br2)!important;border-radius:4px!important;color:var(--cr)!important;-webkit-text-fill-color:var(--cr)!important;padding:10px 12px!important;font-family:var(--font-body)!important;font-size:13px!important;transition:border-color .15s;box-shadow:none!important}
.login-input:focus{outline:none!important;border-color:var(--r)!important}
.login-input::placeholder{color:var(--mu)!important}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px #1e1a13 inset!important;-webkit-text-fill-color:#F2D9B0!important;border:1px solid rgba(242,217,176,0.14)!important}
.login-btn{width:100%;padding:12px;background:transparent!important;background-color:transparent!important;color:#F2D9B0!important;border:1px solid rgba(242,217,176,0.35)!important;border-radius:4px;font-family:'Syne',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;transition:border-color .15s,color .15s;box-shadow:none!important}
.login-btn:hover{border-color:rgba(242,217,176,0.6)!important;color:#ffffff!important;background:transparent!important;opacity:1!important}
.login-error{background:rgba(238,46,37,0.08);border:1px solid rgba(238,46,37,0.2);border-radius:4px;padding:8px 12px;font-size:11px;color:var(--r);margin-bottom:12px}
.login-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--br);font-size:10px;color:var(--mu2);text-align:center}

@media (max-width:768px){
.login-page{flex-direction:column}
.login-left{width:100%;padding:28px 24px;min-height:auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;border-right:none;border-bottom:1px solid var(--br)}
.login-left::before,.login-left::after,.login-accent-line,.brand-bottom{display:none}
.login-logo-mark{width:32px!important;height:32px!important;margin-bottom:0!important}
.login-brand-name{font-size:20px!important}
.login-brand-tag,.login-brand-desc,.login-pills{display:none}
.login-right{flex:1;padding:32px 24px;max-width:none}
}
@media (max-width:480px){
.login-right{padding:24px 20px}
.login-title{font-size:18px!important}
}

/* Login mobile */
.mobile-logo-header{display:none}
@media (max-width:768px){
.login-left{display:none!important}
.login-right{width:100%!important;height:100vh!important;min-height:100vh!important;padding:40px 32px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important;background:var(--d2)!important;overflow:hidden!important}
.login-right::before{content:''!important;position:absolute!important;inset:0!important;background-image:url('../images/markers/mixkl-logo.png')!important;background-size:60px!important;background-repeat:repeat!important;filter:brightness(0) invert(1)!important;opacity:0.04!important;transform:rotate(-15deg) scale(1.2)!important;pointer-events:none!important;z-index:0!important}
.login-right::after{content:''!important;position:absolute!important;inset:0!important;background:rgba(23,20,16,0.75)!important;pointer-events:none!important;z-index:1!important}
.login-right>*{position:relative!important;z-index:2!important}
.mobile-logo-header{display:flex!important;flex-direction:column;align-items:center;margin-bottom:28px}
.mobile-logo-mark{width:52px;height:52px;background:var(--r);clip-path:polygon(12% 0%,88% 0%,100% 12%,100% 88%,88% 100%,12% 100%,0% 88%,0% 12%);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.mobile-logo-mark img{width:28px;height:28px;object-fit:contain;filter:brightness(0) invert(1)}
.mobile-logo-name{font-family:'Syne',sans-serif;font-weight:800;font-size:24px;color:var(--cr)}
.mobile-logo-name b{color:var(--r)}
.mobile-logo-tag{font-size:9px;color:var(--mu);letter-spacing:0.14em;text-transform:uppercase;margin-top:3px}
.login-eyebrow,.login-title,.login-subtitle,.login-footer{text-align:center!important}
}

/* ═══ BOOTSTRAP SELECT ═══ */
.bootstrap-select .dropdown-toggle { background: var(--d3) !important; color: var(--cr) !important; border-color: var(--br2) !important; }

/* ═══ NAIVE UI ═══ */
.n-button--primary-type { background: var(--r) !important; }

/* ═══ LEAFLET.DRAW ═══ */
.leaflet-draw-toolbar a {
    background-color: rgba(15,14,10,0.9) !important;
    border: 1px solid rgba(242,217,176,0.14) !important;
}
.leaflet-draw-toolbar a:hover { background-color: rgba(238,46,37,0.2) !important; }
.leaflet-draw-actions { background: transparent !important; box-shadow: none !important; border: none !important; padding-left: 0 !important; }
.leaflet-draw-actions li { background: transparent !important; float: none !important; display: inline-block !important; }
.leaflet-draw-actions li a {
    background-color: #1e1a13 !important;
    color: #F2D9B0 !important;
    border: 1px solid rgba(242,217,176,0.18) !important;
    font-family: var(--font-display) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    padding: 4px 10px !important;
    border-radius: 3px !important;
    text-shadow: none !important;
}
.leaflet-draw-actions li a:hover { background-color: #EE2E25 !important; color: #fff !important; border-color: #EE2E25 !important; }

/* ═══ LEAFLET POPUP/TOOLTIP MIXKL ═══ */
.mixkl-popup .leaflet-popup-content-wrapper {
    background: rgba(15,14,10,0.92) !important;
    border: 1px solid rgba(242,217,176,0.2) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.mixkl-popup .leaflet-popup-content {
    color: #F2D9B0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    margin: 5px 9px !important;
}
.mixkl-popup .leaflet-popup-tip-container {
    display: none !important;
}
.mixkl-popup .leaflet-popup-tip {
    display: none !important;
}
.mixkl-popup .leaflet-popup-close-button {
    display: none !important;
}
/* Fallback general para puntas sueltas */
.leaflet-popup-tip {
    background: rgba(15,14,10,0.92) !important;
    box-shadow: none !important;
}
.leaflet-tooltip::before {
    border-color: transparent !important;
}
.leaflet-div-icon {
    background: transparent !important;
    border: none !important;
}
.mixkl-tooltip {
    background: rgba(15,14,10,0.92) !important;
    border: 1px solid rgba(242,217,176,0.2) !important;
    border-radius: 4px !important;
    color: #F2D9B0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    padding: 4px 8px !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}
.leaflet-tooltip.mixkl-tooltip::before {
    border-top-color: rgba(15,14,10,0.92) !important;
    border-width: 5px !important;
}

/* ═══ GEOCODER ═══ */
.leaflet-control-geocoder { background: rgba(15,14,10,0.88) !important; border: 1px solid var(--br2) !important; border-radius: 4px !important; }
.leaflet-control-geocoder-form input {
    background: var(--d3) !important; color: var(--cr) !important; caret-color: var(--cr) !important; -webkit-text-fill-color: var(--cr) !important;
    border: 1px solid var(--br2) !important; border-radius: 4px !important; font-size: 11px !important; padding: 5px 8px !important; height: 30px !important; box-shadow: none !important;
}
.leaflet-control-geocoder-alternatives {
    max-height: 200px !important; overflow-y: auto !important; z-index: 9999 !important;
    background: var(--d3) !important; border: 1px solid var(--br2) !important; border-radius: 4px !important; box-shadow: none !important;
}
.leaflet-control-geocoder-alternatives li { border-bottom: 1px solid var(--br) !important; color: var(--cr) !important; }
.leaflet-control-geocoder-alternatives a { color: var(--cr) !important; font-size: 11px !important; padding: 7px 10px !important; display: block !important; background: transparent !important; }
.leaflet-control-geocoder-alternatives a:hover { background: var(--d4) !important; }

/* ═══ MODAL BÚSQUEDA ═══ */
#searchModalOverlay {
    position: fixed; inset: 0; background: rgba(10,9,7,0.75); z-index: 9999;
    display: none; align-items: center; justify-content: center;
}
#searchModalOverlay.visible { display: flex; }
#searchModalOverlay .mb-box {
    width: min(1000px, 92vw); height: min(640px, 85vh);
    background: var(--d2); border: 1px solid var(--br2); border-radius: 8px;
    display: flex; flex-direction: column; overflow: hidden;
}
#searchModalOverlay .mb-header { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; background: var(--d3); border-bottom: 1px solid var(--br); flex-shrink: 0; }
#searchModalOverlay .mb-title { font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--cr); }
#searchModalOverlay .mb-close { width: 26px; height: 26px; background: transparent; border: 1px solid var(--br2); border-radius: 3px; color: var(--mu); font-size: 12px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#searchModalOverlay .mb-close:hover { border-color: var(--r); color: var(--r); }
#searchModalOverlay .mb-body { display: flex; flex: 1; overflow: hidden; min-height: 0; }
#searchModalOverlay .mb-filters { width: 220px; min-width: 220px; background: var(--d3); border-right: 1px solid var(--br); padding: 16px 14px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; }
#searchModalOverlay .mb-label { font-family: var(--font-display); font-size: 8px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mu); margin-bottom: 5px; display: block; }
#searchModalOverlay .mb-input { width: 100%; background: var(--d4) !important; border: 1px solid var(--br2) !important; color: var(--cr) !important; border-radius: 4px !important; padding: 7px 10px !important; font-size: 12px !important; max-width: none !important; }
#searchModalOverlay .mb-input:focus { border-color: var(--r) !important; }
#searchModalOverlay .mb-input::placeholder { color: var(--mu2); }
#searchModalOverlay .mb-hint { font-size: 9px; color: var(--mu2); margin-top: 4px; line-height: 1.4; }
#searchModalOverlay .mb-divider { height: 1px; background: var(--br); }
#searchModalOverlay .mb-instructions { background: var(--d4); border: 1px solid var(--br); border-radius: 4px; padding: 10px; }
#searchModalOverlay .mb-instructions-title { font-family: var(--font-display); font-size: 8px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mu); margin-bottom: 8px; }
#searchModalOverlay .mb-instr-item { display: flex; gap: 6px; margin-bottom: 6px; align-items: flex-start; }
#searchModalOverlay .mb-instr-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--o); margin-top: 4px; flex-shrink: 0; }
#searchModalOverlay .mb-instr-text { font-size: 10px; color: var(--mu3); line-height: 1.4; }
#searchModalOverlay .mb-map-col { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
#searchModalOverlay .mb-map-header { padding: 7px 12px; background: var(--d3); border-bottom: 1px solid var(--br); font-family: var(--font-display); font-size: 8px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mu); flex-shrink: 0; }
#searchModalOverlay #searchMap { flex: 1; min-height: 0; height: 100%; }
#searchModalOverlay .mb-map-hint { padding: 6px 10px; background: var(--d3); border-top: 1px solid var(--br); font-size: 9px; color: var(--mu); flex-shrink: 0; }
#searchModalOverlay .mb-footer { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 16px; background: var(--d3); border-top: 1px solid var(--br2); flex-shrink: 0; }
#searchModalOverlay .mb-btn-cancel { padding: 6px 16px; background: transparent; border: 1px solid var(--br2); color: var(--mu3); border-radius: 4px; font-size: 11px; cursor: pointer; }
#searchModalOverlay .mb-btn-cancel:hover { border-color: var(--br3); color: var(--cr); }
#searchModalOverlay .mb-btn-search { padding: 6px 20px; background: var(--r); color: #fff; border: none; border-radius: 4px; font-size: 11px; font-weight: 700; cursor: pointer; font-family: var(--font-display); letter-spacing: 0.04em; }
#searchModalOverlay .mb-btn-search:hover { opacity: 0.88; }

@media (max-width: 768px) {
    #searchModalOverlay .mb-box { width: 96vw; height: 90vh; }
    #searchModalOverlay .mb-filters { width: 160px; min-width: 160px; }
}
@media (max-height: 600px) {
    #searchModalOverlay .mb-box { height: 95vh; }
}

/* ═══ PRESERVE — NO tocar ═══ */
/* .leaflet-* (CDN) — solo se sobreescriben los explícitos arriba */
/* .fa, .fa-* (bundled in main.css) */
/* .glyphicon-* (bundled in main.css) */
