/* Ajustes del portal. Conservar style.css como recurso original de Fillow. */
:root,
body[data-primary="color_1"] {
    --primary: #e53935;
    --primary-light: #fff0ef;
    --primary-hover: #c62828;
    --primary-dark: #b71c1c;
    --mc-brand-ink: #b71c1c;
    --mc-surface: #f7f8fa;
    --mc-heading: #242830;
    --rgba-primary-1: rgba(229, 57, 53, .1);
    --rgba-primary-2: rgba(229, 57, 53, .2);
    --rgba-primary-3: rgba(229, 57, 53, .3);
    --rgba-primary-4: rgba(229, 57, 53, .4);
    --rgba-primary-5: rgba(229, 57, 53, .5);
    --rgba-primary-6: rgba(229, 57, 53, .6);
    --rgba-primary-7: rgba(229, 57, 53, .7);
    --rgba-primary-8: rgba(229, 57, 53, .8);
    --rgba-primary-9: rgba(229, 57, 53, .9);
    --bs-primary: #e53935;
    --bs-primary-rgb: 229, 57, 53;
    --bs-link-color: #b71c1c;
    --bs-link-color-rgb: 183, 28, 28;
    --bs-link-hover-color: #8e1717;
    --bs-link-hover-color-rgb: 142, 23, 23;
    --bs-focus-ring-color: rgba(229, 57, 53, .25);
    --font-family-base: 'Unitea Sans', Arial, sans-serif;
    --font-family-title: 'Unitea Sans', Arial, sans-serif;
    --bs-body-font-family: 'Unitea Sans', Arial, sans-serif;
    --tryal-gradient: linear-gradient(135deg, #e53935, #b71c1c);
}
body, body[data-typography] { font-family: 'Unitea Sans', Arial, sans-serif; background: var(--mc-surface); color: #4b5563; }
h1, h2, h3, h4, h5, h6 { font-family: 'Unitea Sans', Arial, sans-serif; color: var(--mc-heading); }
button, input, select, textarea, .btn, .form-control, .form-select, .tooltip, .popover { font-family: 'Unitea Sans', Arial, sans-serif; }
a { color: var(--mc-brand-ink); }
a:hover { color: #8e1717; }
.text-primary { color: var(--mc-brand-ink) !important; }
.nav-header .brand-logo .mc-brand-logo { width: 6rem; max-width: none; height: auto; object-fit: contain; flex-shrink: 0; }
.mc-login-logo { display: inline-block; width: 13rem; max-width: 60%; height: auto; }
.nav-header .mc-brand { font-size: 1.3rem; font-weight: 600; color: var(--mc-heading); }
.mc-brand small { display: block; font-size: .8rem; font-weight: 400; }
.mc-menu-toggle { background: transparent; border: 0; padding: 0; }
.mc-menu-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: 6px; }
.skip-link:focus { position: fixed; top: .5rem; left: .5rem; z-index: 2000; background: white; padding: .75rem; }
.card h1 { font-size: clamp(1.4rem, 3vw, 2rem); }
.mc-login { background: radial-gradient(ellipse at top left, #ffe7e5, transparent 55%), var(--mc-surface); }
.mc-login .authincation { background: transparent; }
.mc-login .authincation-content { border-radius: 1.25rem; border-top: 4px solid var(--primary); box-shadow: 0 14px 48px rgba(36, 40, 48, .07); }
.mc-login-brand { font-size: 1.85rem; font-weight: 700; color: var(--mc-heading); }
.mc-account-link { display: flex; gap: .75rem; align-items: center; }
.mc-avatar, .mc-stat-icon { display: inline-flex; width: 3rem; height: 3rem; border-radius: 1rem; align-items: center; justify-content: center; }
.mc-avatar { background: var(--primary-light); color: var(--mc-brand-ink); }
.mc-stat-icon { font-size: 1.2rem; }
.mc-welcome { background: linear-gradient(135deg, #fff, #fff3f1); border-top: 3px solid var(--primary); }
.mc-reference { display: inline-block; min-width: 12rem; max-width: 24rem; overflow-wrap: anywhere; }
.mc-carrier-logo { width: 2.75rem; height: 2.75rem; object-fit: contain; border-radius: .5rem; flex-shrink: 0; }
.mc-shipments td { max-width: 21rem; }
.mc-location-choice { display: flex; align-items: start; padding: 1rem; border: 1px solid #e4e4e4; border-radius: .75rem; margin-bottom: .75rem; cursor: pointer; }
.mc-location-choice:has(input:checked) { border-color: var(--primary); background: var(--primary-light); }
.mc-location-choice input { flex-shrink: 0; }
.content-body h1 { font-size: clamp(1.4rem, 3vw, 1.85rem); }
.table th { white-space: nowrap; }
.mc-guide-frame { display: block; width: 100%; min-height: 600px; border: 0; background: transparent; }
.table .dropdown-menu { min-width: 16rem; }
.btn.btn-outline-primary.disabled { color: #666; border-color: #ccc; opacity: .65; }
/* Tonos profundos para que el texto pequeño contraste sobre blanco y en botones. */
.btn-primary {
    --bs-btn-bg: #c62828;
    --bs-btn-border-color: #c62828;
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: #b71c1c;
    --bs-btn-hover-border-color: #b71c1c;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #8e1717;
    --bs-btn-active-border-color: #8e1717;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: #c62828;
    --bs-btn-disabled-border-color: #c62828;
    --bs-btn-disabled-color: #fff;
    --bs-btn-focus-shadow-rgb: 229, 57, 53;
    background-color: #c62828;
    border-color: #c62828;
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus-visible { background-color: #b71c1c; border-color: #b71c1c; color: #fff; }
.btn-primary:active, .btn-primary.active { background-color: #8e1717 !important; border-color: #8e1717 !important; color: #fff !important; }
.btn-outline-primary { --bs-btn-color: #b71c1c; --bs-btn-border-color: #c62828; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #c62828; --bs-btn-hover-border-color: #c62828; --bs-btn-active-color: #fff; --bs-btn-active-bg: #b71c1c; --bs-btn-active-border-color: #b71c1c; --bs-btn-focus-shadow-rgb: 229, 57, 53; color: #b71c1c; border-color: #c62828; }
.btn-outline-primary:hover, .btn-outline-primary:focus-visible, .btn-outline-primary:active { color: #fff !important; background-color: #c62828 !important; border-color: #c62828 !important; }
.btn-link { color: var(--mc-brand-ink); }
.btn-link:hover { color: #8e1717; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem var(--rgba-primary-2); }
.form-check-input:checked { background-color: var(--primary-dark); border-color: var(--primary-dark); }
:where(a, button, input, select):focus-visible { outline: 2px solid var(--primary-dark); outline-offset: 3px; }
.light.badge-primary { color: var(--mc-brand-ink); background-color: var(--primary-light); }
.light.badge-info { color: #075985; background-color: #e7f4fc; }
.light.badge-secondary { color: #4b5563; background-color: #edf0f4; }
.alert-info { color: #075985; background-color: #eff8ff; border-color: #cfe8fb; }
body[data-nav-headerbg="color_1"] .nav-header { background: #fff; border-bottom: 1px solid #eceef1; }
body[data-headerbg="color_1"] .header { background: #fff; border-bottom: 1px solid #eceef1; }
.dlabnav .metismenu > li.mm-active > a, .dlabnav .metismenu > li:hover > a { color: var(--mc-brand-ink) !important; background: var(--primary-light) !important; }
.dlabnav .metismenu > li.mm-active > a i, .dlabnav .metismenu > li:hover > a i { color: var(--mc-brand-ink) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current { color: #fff !important; background: #c62828 !important; border-color: #c62828 !important; }
.dataTables_wrapper .dataTables_filter input:focus { outline: 2px solid var(--primary); outline-offset: 2px; }
[data-sidebar-style="mini"] .nav-header .brand-logo .mc-brand-logo,
[data-sidebar-style="overlay"] .nav-header .brand-logo .mc-brand-logo,
[data-sidebar-style="full"] .menu-toggle .nav-header .brand-logo .mc-brand-logo { width: 3.75rem; }
@media (max-width: 575.98px) {
    .mc-login .auth-form { padding: 1.5rem; }
    .header .dashboard_bar { font-size: 1rem; }
    .content-body .container-fluid { padding: 1rem; }
    .dataTables_wrapper .dataTables_filter { text-align: left; }
}
.mc-pickup-choice { cursor: pointer; }
.mc-pickup-choice:has(input:checked) { border-color: #e53935 !important; background: #fff5f5; }
.mc-message { background: #f6f7fa; border: 1px solid #eceef1; }
.mc-message-own { background: #fff5f5; border-color: #f6d7d6; }
.mc-message-advisor { border-left: 3px solid #e53935; }
.mc-comment-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.mc-incident-excerpt { min-width: 200px; max-width: 440px; overflow-wrap: anywhere; }
.mc-message .mc-comment-text, .mc-pickup-choice { color: #4b5563; }
/* Indicadores y consejos integrados con las tarjetas de Fillow. */
.mc-boltito-card { background: linear-gradient(145deg, #fff, #fff5f4); border-top: 3px solid var(--primary); }
.mc-boltito-image { width: 88px; height: 88px; object-fit: cover; border-radius: 1rem; flex-shrink: 0; }
.mc-boltito-cover { display: block; width: 100%; height: auto; border-radius: .9rem; margin-bottom: 20px; }
.mc-report-date { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.mc-report-date > .form-control { width: 100%; min-width: 0; margin-left: 0 !important; border-radius: .5rem !important; }
.mc-welcome .modal-dialog { max-width: 980px; }
.mc-welcome .modal-content { position: relative; display: grid; grid-template-columns: 44% 56%; border: 0; border-radius: 24px; overflow-y: auto; box-shadow: 0 24px 90px rgba(25,30,40,.24); }
.mc-welcome-close { position: absolute; top: 16px; right: 16px; z-index: 2; background-color: #fff; border-radius: 50%; padding: 12px; opacity: .8; }
.mc-welcome-art { position: relative; display: flex; align-items: center; background: #fff4ef; min-height: 420px; }
.mc-welcome-art > img:first-child { display: block; width: 100%; height: auto; }
.mc-welcome-art .mc-welcome-logo { position: absolute; top: 22px; left: 24px; width: 115px; height: auto; }
.mc-welcome-copy { padding: 46px 34px 32px; background: #fff; }
.mc-welcome-eyebrow { color: #b71c1c; font-size: .73rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 12px; }
.mc-welcome h2 { color: #242830; font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.12; margin: 0 0 20px; font-weight: 700; }
.mc-welcome h2 span { color: #e53935; }
.mc-welcome-copy > p { line-height: 1.6; }
.mc-welcome-help { display: flex; gap: 13px; padding: 16px; margin: 20px 0; border: 1px solid #f4d5d2; border-radius: 14px; background: #fff8f7; }
.mc-welcome-help > i { color: #c62828; font-size: 1.3rem; margin-top: 4px; }
.mc-welcome-help p { margin: 0; font-size: .92rem; line-height: 1.65; }
.mc-welcome-help a { color: #b71c1c; text-decoration: underline; text-underline-offset: 3px; }
.mc-welcome-feedback { font-size: .9rem; color: #626875; margin-bottom: 8px; }
.mc-welcome-promise { color: #252a34; margin-bottom: 24px; }
.mc-welcome-promise strong { color: #b71c1c; }
.mc-welcome-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.mc-welcome-actions .btn { padding: 11px 16px; font-size: .85rem; border-radius: 10px; }
@media (max-width: 767.98px) {
    .mc-welcome .modal-dialog { margin: 12px; max-width: none; height: calc(100% - 24px); }
    .mc-welcome .modal-content { display: block; border-radius: 18px; }
    .mc-welcome-art { min-height: 0; justify-content: center; padding-top: 8px; }
    .mc-welcome-art > img:first-child { width: auto; max-width: 100%; max-height: 210px; }
    .mc-welcome-art .mc-welcome-logo { width: 78px; top: 12px; left: 14px; }
    .mc-welcome-copy { padding: 24px; }
    .mc-welcome h2 { font-size: 1.9rem; }
}
.mc-boltito-tip { font-size: 1.1rem; line-height: 1.65; color: #374151; white-space: pre-wrap; overflow-wrap: anywhere; }
.mc-insight-progress { height: 8px; background: #f0f1f5; }
#mc-weekly-chart { min-height: 280px; }
@media (max-width: 575.98px) { .mc-boltito-image { width: 72px; height: 72px; } #mc-weekly-chart { min-height: 250px; } }
.mc-financial-concept { min-width: 260px; max-width: 650px; overflow-wrap: anywhere; }
.mc-financial-shipment { background: #fff5f5; border-left: 3px solid var(--primary); }
#movimientos { scroll-margin-top: 110px; }
.dlabnav .metismenu > li > a[href="welcome.php?panel=finanzas"] { display: flex !important; align-items: center; }
.dlabnav a[href="welcome.php?panel=finanzas"] > i { flex-shrink: 0; }
.mc-finance-export > summary { cursor: pointer; list-style: none; }
.mc-finance-export > summary::-webkit-details-marker { display: none; }
.mc-finance-export[open] > summary > i { transform: rotate(180deg); }
/* Detalle de guía: componentes Fillow/Bootstrap, sin abandonar la página actual. */
.mc-shipment-modal .modal-dialog { max-width: 1160px; }
.mc-shipment-modal .modal-body { background: #f6f7fb; padding: 24px; }
.mc-shipment-modal .modal-header { align-items: flex-start; }
.mc-shipment-detail .card { margin-bottom: 20px; }
.mc-shipment-detail .card-body { padding: 24px; }
.mc-shipment-summary { border-top: 3px solid var(--primary); }
.mc-shipment-address { height: 100%; background: #f6f7fb; padding: 16px; border-radius: 12px; overflow-wrap: anywhere; }
.mc-shipment-reference, .mc-shipment-text { overflow-wrap: anywhere; white-space: pre-wrap; }
.mc-shipment-tabs { gap: 8px; }
.mc-shipment-tabs .nav-link { border: 1px solid #e1e4eb; color: #4d5565; background: #fff; border-radius: 10px; }
.mc-shipment-tabs .nav-link.active { color: #fff; background: var(--primary); border-color: var(--primary); }
.mc-shipment-tabs .badge { color: inherit; background: rgba(128,128,128,.12); }
.mc-shipment-timeline li { position: relative; padding: 0 0 24px 28px; border-left: 2px solid #e3e6ef; margin-left: 8px; }
.mc-shipment-timeline li:last-child { border-color: transparent; }
.mc-shipment-event-dot { position: absolute; left: -7px; top: 4px; width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 4px #fff; }
.mc-shipment-total { padding: 16px; border-radius: 10px; background: #f6f7fb; height: 100%; }
.mc-shipment-total strong { font-size: 1.25rem; margin-top: 4px; }
.mc-shipment-financial td:nth-child(2) { min-width: 160px; max-width: 550px; }
.mc-shipment-related { padding: 18px 0; border-bottom: 1px solid #e8eaf0; }
.mc-shipment-related:last-child { border-bottom: 0; }
@media(max-width:575.98px) {
 .mc-shipment-modal .modal-dialog { margin: 0; max-width: none; }
 .mc-shipment-modal .modal-body { padding: 12px; }
 .mc-shipment-detail .card-body { padding: 18px; }
 .mc-shipment-tabs .nav-link { padding: 10px 12px; flex: 1 1 100%; text-align: left; }
}
/* Centro de notificaciones; los asuntos abiertos no desaparecen al leerlos. */
.mc-notification-bell { position: relative; width: 44px; height: 44px; padding: 8px; color: var(--mc-brand-ink); background: var(--primary-light); font-size: 1.1rem; }
.mc-notification-count { position: absolute; top: -5px; right: -7px; min-width: 21px; height: 21px; padding: 1px 4px; border-radius: 12px; background: #b71c1c; color: #fff; font-size: 11px; }
.mc-notification-dot { position: absolute; bottom: 3px; right: 3px; width: 9px; height: 9px; border: 1px solid #fff; border-radius: 50%; background: #087ea4; }
.mc-notification-dropdown { width: min(360px, calc(100vw - 24px)); max-height: 75vh; overflow-y: auto; }
.mc-notification-card { border-left: 3px solid #e1e5eb; }
.mc-notification-attention { border-left-color: #b77900; }
.mc-notification-unread h2 { font-weight: 700; }
.mc-notification-preference-summary { cursor: pointer; list-style: none; }
.mc-notification-preference-summary::-webkit-details-marker { display: none; }
.mc-notification-bell [hidden], #mc-notification-more[hidden] { display: none !important; }
[id^="pickup-order-"] { scroll-margin-top: 110px; }
@media (max-width: 575.98px) { .mc-notification-dropdown { position: fixed !important; top: 65px !important; right: 12px !important; left: auto !important; transform: none !important; } }

/* Agrupación de envíos por operaciones visibles de la cuenta. */
.mc-shipment-operation-head { background: #fff4f3; color: #242830; border-bottom: 1px solid #f4ddda; }
.mc-shipment-operation-head .text-muted { color: #68717e !important; }
.mc-shipment-operations td { color: #4b5563; }

