/* MDVE · Shared visual system. Bootstrap supplies behavior and grid. */
:root {
  --mdve-primary:#2563eb; --mdve-primary-hover:#1d4ed8; --mdve-secondary:#13243b;
  --mdve-success:#16734a; --mdve-warning:#966006; --mdve-danger:#bd3043;
  --mdve-bg:#f3f5f9; --mdve-surface:#fff; --mdve-text:#203047;
  --mdve-muted:#647287; --mdve-border:#e1e6ef; --mdve-input-border:#8998ad;
  --mdve-blue-soft:#edf3ff; --mdve-green-soft:#eaf7ef; --mdve-amber-soft:#fff5df;
  --mdve-red-soft:#fff0f2; --mdve-nav-muted:#a8b8cc; --mdve-nav-active:#263f61;
  --mdve-radius:12px; --mdve-shadow:0 3px 16px rgba(24,45,78,.035);
  --mdve-sidebar:248px; --mdve-font:Inter,"Segoe UI",Arial,sans-serif;
  --mdve-chart-blue:#2563eb; --mdve-chart-green:#178263; --mdve-chart-red:#cf5263;
  --mdve-chart-amber:#c28b24; --mdve-chart-teal:#168493; --mdve-chart-slate:#667991;
  --bs-primary:#2563eb; --bs-primary-rgb:37,99,235; --bs-success-rgb:22,115,74;
  --bs-danger-rgb:189,48,67; --bs-warning-rgb:150,96,6; --bs-body-color:var(--mdve-text);
  --bs-body-font-family:var(--mdve-font); --bs-border-color:var(--mdve-border);
}
* { box-sizing:border-box; }
body { font-family:var(--mdve-font); color:var(--mdve-text); background:var(--mdve-bg); font-size:.9375rem; line-height:1.55; }
a { color:var(--mdve-primary); text-underline-offset:3px; }
h1,h2,h3,h4,h5,h6 { font-weight:650; line-height:1.3; letter-spacing:-.025em; overflow-wrap:anywhere; }
h1,.h3 { font-size:clamp(1.35rem,1.6vw,1.8rem); font-weight:700; }
h5 { font-size:1.075rem; } h6 { font-size:.94rem; }
button,input,select,textarea,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--mdve-primary); outline-offset:3px; }
[tabindex="-1"]:focus:not(:focus-visible) { outline:0; }
.text-muted,.text-gray-800 { color:var(--mdve-muted)!important; }
h1.text-gray-800,h2.text-gray-800,h4.text-gray-800,.h5.text-gray-800 { color:var(--mdve-text)!important; }
.font-weight-bold { font-weight:650; }
.mdve-skip { position:fixed; left:16px; top:-80px; background:var(--mdve-surface); padding:12px 20px; z-index:2000; border-radius:8px; }
.mdve-skip:focus { top:12px; }
.mdve-sidebar { width:var(--mdve-sidebar); position:fixed; inset:0 auto 0 0; z-index:1040; display:flex; flex-direction:column; background:var(--mdve-secondary); color:white; }
.mdve-brand { display:flex; align-items:center; gap:12px; padding:28px 22px 26px; color:white; text-decoration:none; }
.mdve-brand img { width:44px; height:44px; object-fit:contain; border-radius:10px; background:white; padding:3px; }
.mdve-brand strong { font-size:1.65rem; letter-spacing:.025em; display:block; line-height:1.1; }
.mdve-brand-dot { color:#73a2ff; }
.mdve-brand small { display:block; font-size:.6rem; letter-spacing:.16em; color:var(--mdve-nav-muted); margin-top:5px; }
.mdve-navigation { padding:0 14px 20px; overflow-y:auto; scrollbar-width:thin; flex:1; }
.mdve-nav-label { display:block; color:var(--mdve-nav-muted); font-size:.65rem; letter-spacing:.13em; font-weight:650; padding:20px 13px 10px; }
.mdve-nav-link,.mdve-nav-group summary { display:flex; align-items:center; gap:12px; min-height:46px; padding:10px 13px; border-radius:8px; color:#c6d1df; text-decoration:none; font-weight:500; font-size:.86rem; cursor:pointer; margin-bottom:3px; transition:background .16s,color .16s; }
.mdve-nav-link>i:first-child,.mdve-nav-group summary>i:first-child { width:19px; text-align:center; font-size:1rem; }
.mdve-nav-group summary { list-style:none; } .mdve-nav-group summary::-webkit-details-marker { display:none; }
.mdve-nav-group summary>i:last-child { margin-left:auto; font-size:.6rem; transition:transform .16s; }
.mdve-nav-group[open] summary>i:last-child { transform:rotate(180deg); }
.mdve-nav-link:hover,.mdve-nav-group summary:hover,.mdve-nav-group>a:hover { color:white; background:rgba(255,255,255,.06); }
.mdve-nav-link[aria-current],.mdve-nav-group.mdve-active>summary { background:var(--mdve-nav-active); color:white; box-shadow:inset 3px 0 0 #79a7ff; }
.mdve-nav-group>a { display:block; color:var(--mdve-nav-muted); font-size:.8rem; padding:9px 10px 9px 44px; min-height:38px; border-radius:7px; text-decoration:none; }
.mdve-nav-group>a[aria-current] { color:white; font-weight:650; background:rgba(255,255,255,.07); }
.mdve-nav-group>a>i { margin-right:5px; }
.mdve-sidebar-footer { display:flex; align-items:center; gap:11px; padding:20px 23px; border-top:1px solid #2a3a50; color:#cfdae8; font-size:.75rem; }
.mdve-sidebar-footer>i { color:#87a4cd; font-size:1.2rem; }
.mdve-sidebar-footer small { display:block; color:var(--mdve-nav-muted); font-size:.65rem; margin-top:3px; }
.mdve-workspace { margin-left:var(--mdve-sidebar); min-width:0; }
.mdve-topbar { min-height:80px; background:var(--mdve-surface); border-bottom:1px solid var(--mdve-border); padding:14px 36px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.mdve-topbar-context { display:flex; align-items:center; gap:12px; min-width:0; }
.mdve-breadcrumb { font-size:.78rem; color:var(--mdve-muted); }
.mdve-breadcrumb i { font-size:.55rem; margin:0 12px; color:#8291a5; }
.mdve-breadcrumb strong { color:var(--mdve-text); font-weight:500; }
.mdve-user { display:flex; gap:10px; align-items:center; padding:0; border:0; background:transparent; text-align:left; color:var(--mdve-text); min-height:44px; }
.mdve-avatar { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--mdve-primary); background:var(--mdve-blue-soft); }
.mdve-user-copy { max-width:185px; }
.mdve-user-copy strong { display:block; font-size:.78rem; font-weight:600; overflow-wrap:anywhere; }
.mdve-user-copy small { font-size:.64rem; color:var(--mdve-muted); letter-spacing:.05em; }
.mdve-user>i { font-size:.65rem; color:var(--mdve-muted); margin-left:12px; }
.mdve-content { padding:32px 36px 40px; max-width:1640px; margin:0 auto; min-height:calc(100vh - 140px); }
.mdve-content> .d-flex:first-child { flex-wrap:wrap; gap:16px; }
.mdve-content> .d-flex:first-child h2>i { display:none; }
.mdve-footer { max-width:1640px; margin:auto; padding:0 36px 24px; display:flex; justify-content:space-between; gap:12px; color:var(--mdve-muted); font-size:.72rem; }
.mdve-menu-toggle,.mdve-nav-close { display:none; border:0; background:transparent; width:44px; height:44px; }
.mdve-backdrop[hidden] { display:none; }
.dropdown-menu { border:1px solid var(--mdve-border); box-shadow:0 12px 35px #13243b1a; border-radius:10px; padding:6px; font-size:.85rem; }
.dropdown-item { border-radius:6px; padding:10px 12px; }
.dropdown-item i { width:18px; margin-right:6px; }
.card { border:1px solid var(--mdve-border); border-radius:var(--mdve-radius); box-shadow:var(--mdve-shadow); min-width:0; }
.card.shadow,.card.shadow-sm { box-shadow:var(--mdve-shadow)!important; }
.card-body { padding:24px; min-width:0; }
.card-header { background:var(--mdve-surface); border-bottom:1px solid var(--mdve-border); padding:20px 24px!important; border-radius:var(--mdve-radius) var(--mdve-radius) 0 0!important; }
.card-header.bg-dark,.card-header.bg-primary,.card-header.bg-warning,.card-header.bg-success { background:var(--mdve-surface)!important; color:var(--mdve-text)!important; }
.card-header .text-white,.card-header .text-primary,.card-header .text-danger { color:var(--mdve-text)!important; }
.card-header.bg-danger { background:var(--mdve-red-soft)!important; color:var(--mdve-danger)!important; }
.card-header.bg-danger .text-white { color:var(--mdve-danger)!important; }
.card-header h5 i,.card-header h6 i { margin-right:8px; color:var(--mdve-primary); }
.card-header.bg-danger i { color:var(--mdve-danger); }
.btn { --bs-btn-border-radius:8px; font-size:.84rem; font-weight:600; min-height:42px; padding:9px 15px; display:inline-flex; align-items:center; justify-content:center; gap:7px; line-height:1.4; transition:background .16s,border-color .16s,box-shadow .16s; }
.btn-primary,.btn-dark { --bs-btn-bg:var(--mdve-primary); --bs-btn-border-color:var(--mdve-primary); --bs-btn-hover-bg:var(--mdve-primary-hover); --bs-btn-hover-border-color:var(--mdve-primary-hover); --bs-btn-active-bg:var(--mdve-primary-hover); --bs-btn-active-border-color:var(--mdve-primary-hover); --bs-btn-color:white; }
.btn-secondary,.btn-outline-secondary { --bs-btn-bg:white; --bs-btn-color:var(--mdve-text); --bs-btn-border-color:var(--mdve-input-border); --bs-btn-hover-bg:#edf1f7; --bs-btn-hover-color:var(--mdve-text); --bs-btn-hover-border-color:var(--mdve-muted); }
.btn-success { --bs-btn-bg:var(--mdve-success); --bs-btn-border-color:var(--mdve-success); }
.btn-danger { --bs-btn-bg:var(--mdve-danger); --bs-btn-border-color:var(--mdve-danger); }
.btn-warning,.btn-outline-warning { --bs-btn-color:var(--mdve-primary); --bs-btn-bg:var(--mdve-blue-soft); --bs-btn-border-color:transparent; --bs-btn-hover-bg:#dce8ff; --bs-btn-hover-color:var(--mdve-primary-hover); --bs-btn-hover-border-color:transparent; }
.btn-info,.btn-outline-info { --bs-btn-bg:var(--mdve-blue-soft); --bs-btn-color:var(--mdve-primary); --bs-btn-border-color:transparent; --bs-btn-hover-bg:#dce8ff; --bs-btn-hover-color:var(--mdve-primary-hover); --bs-btn-hover-border-color:transparent; }
.btn-info.text-white { color:var(--mdve-primary)!important; }
.btn-outline-danger { --bs-btn-color:var(--mdve-danger); --bs-btn-border-color:#e5adb7; --bs-btn-hover-bg:var(--mdve-danger); --bs-btn-hover-border-color:var(--mdve-danger); }
.btn-sm { min-height:36px; padding:7px 10px; font-size:.78rem; }
.btn .text-white-50 { color:inherit!important; }
.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible { outline:3px solid var(--mdve-primary); outline-offset:3px; box-shadow:none; }
.form-control,.form-select { min-height:44px; border:1px solid var(--mdve-input-border); border-radius:8px; font-size:.9rem; color:var(--mdve-text); padding:10px 12px; background-color:var(--mdve-surface); }
.form-select { padding-right:35px; }
.form-control::placeholder { color:#748195; }
.form-control:focus,.form-select:focus { border-color:var(--mdve-primary); box-shadow:0 0 0 3px #2563eb15; }
.form-control:disabled,.form-control[readonly] { background:#f1f4f8!important; color:var(--mdve-muted); }
.form-label { font-size:.8rem; font-weight:600!important; color:var(--mdve-text); margin-bottom:7px; letter-spacing:0; }
.form-label.text-uppercase { text-transform:none!important; }
.input-group-text { background:#f3f6fa; border-color:var(--mdve-input-border); color:var(--mdve-muted); font-size:.85rem; border-radius:8px; }
textarea.form-control { min-height:96px; }
form h6.border-bottom { color:var(--mdve-text)!important; margin-top:26px!important; padding-bottom:12px!important; font-size:.84rem; }
form h6.border-bottom:first-child { margin-top:0!important; }
form h6.border-bottom i { color:var(--mdve-primary); margin-right:6px; }
form .d-flex.justify-content-between { flex-wrap:wrap; gap:12px; }
.table { --bs-table-color:var(--mdve-text); --bs-table-border-color:var(--mdve-border); --bs-table-striped-bg:transparent; --bs-table-hover-bg:#f6f9fe; font-size:.84rem; margin-bottom:0; vertical-align:middle; }
.table>:not(caption)>*>* { padding:15px 16px; border-bottom-width:1px; box-shadow:none; }
.table-bordered>:not(caption)>* { border-width:0; }
.table-bordered>:not(caption)>*>* { border-left:0; border-right:0; }
.table thead,.table thead.table-dark { --bs-table-bg:#f7f9fc; --bs-table-color:#526177; color:#526177; }
.table thead th { font-size:.7rem; font-weight:650; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; padding-top:13px; padding-bottom:13px; }
.table td { max-width:400px; overflow-wrap:anywhere; }
.table .btn { margin:2px; white-space:nowrap; }
.table td:has(>.btn),.table td:has(>.text-success),.table td.fw-bold { font-variant-numeric:tabular-nums; }
.table-responsive { border:1px solid var(--mdve-border); border-radius:9px; max-width:100%; scrollbar-width:thin; }
.table-responsive:has(.dataTables_wrapper) { border:0; border-radius:0; }
.mdve-table-scroll { overflow-x:auto; border:1px solid var(--mdve-border); border-radius:9px; margin:14px 0; }
.dataTables_wrapper>.row { --bs-gutter-x:0; align-items:center; gap:10px 0; }
div.dataTables_wrapper div.dataTables_filter label,div.dataTables_wrapper div.dataTables_length label { color:var(--mdve-muted); font-size:.78rem; }
div.dataTables_wrapper div.dataTables_filter input { width:210px; max-width:100%; margin-left:9px; }
div.dataTables_wrapper div.dataTables_length select { min-width:72px; }
div.dataTables_wrapper div.dataTables_info { font-size:.75rem; color:var(--mdve-muted); }
.page-link { color:var(--mdve-muted); font-size:.78rem; border:0; border-radius:6px; min-width:34px; min-height:34px; display:grid; place-items:center; }
.pagination { gap:4px; flex-wrap:wrap; }
.active>.page-link { background:var(--mdve-primary); }
.dataTables_empty,.mdve-empty-cell { padding:48px 20px!important; text-align:center; color:var(--mdve-muted)!important; }
.table td.dataTables_empty { background:white!important; box-shadow:none!important; }
.mdve-empty-icon { display:block; font-size:1.75rem; color:#7f97b8; margin-bottom:12px; }
.mdve-empty-title { display:block; color:var(--mdve-text); font-weight:600; margin-bottom:4px; }
.mdve-empty-description { font-size:.82rem; }
.badge { border-radius:6px; padding:6px 9px; font-weight:600; font-size:.72rem!important; line-height:1.3; letter-spacing:0; white-space:normal; }
.badge.bg-success { background:var(--mdve-green-soft)!important; color:var(--mdve-success)!important; }
.badge.bg-warning { background:var(--mdve-amber-soft)!important; color:var(--mdve-warning)!important; }
.badge.bg-danger { background:var(--mdve-red-soft)!important; color:var(--mdve-danger)!important; }
.badge.bg-primary,.badge.bg-info { background:var(--mdve-blue-soft)!important; color:var(--mdve-primary-hover)!important; }
.badge.bg-secondary,.badge.bg-dark { background:#edf1f6!important; color:#58677a!important; }
.alert { border-radius:9px; font-size:.86rem; overflow-wrap:anywhere; }
.alert-success { color:var(--mdve-success); background:var(--mdve-green-soft); border-color:#bddcc9; }
.alert-danger { color:var(--mdve-danger); background:var(--mdve-red-soft); border-color:#e9c0c7; }
.alert-warning { color:#785010; background:var(--mdve-amber-soft); border-color:#ebd5a8; }
.modal-content { border:0; border-radius:14px; box-shadow:0 20px 80px #13243b30; }
.modal-header,.modal-body,.modal-footer { padding:20px 24px; }
.swal2-popup { border-radius:16px; font-family:var(--mdve-font); }
.swal2-title { font-size:1.4rem; } .swal2-html-container { font-size:.94rem!important; }
.mdve-page-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:28px; flex-wrap:wrap; }
.mdve-eyebrow { display:block; font-size:.64rem; font-weight:700; color:var(--mdve-primary); letter-spacing:.14em; margin-bottom:8px; }
.mdve-page-heading p { font-size:.84rem; color:var(--mdve-muted); margin-top:6px; }
.mdve-heading-actions { display:flex; gap:10px; flex-wrap:wrap; }
.mdve-filter { padding:18px 22px!important; }
.mdve-filter .row { row-gap:14px; }
.mdve-filter-caption { font-size:.78rem; font-weight:600; margin-bottom:12px; }
.mdve-kpi { position:relative; border:1px solid var(--mdve-border)!important; padding:0!important; background:white!important; text-align:left!important; height:100%; }
.mdve-kpi .card-body { padding:22px; }
.mdve-kpi-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--mdve-blue-soft); color:var(--mdve-primary); margin-bottom:20px; }
.mdve-kpi-icon.success { background:var(--mdve-green-soft); color:var(--mdve-success); }
.mdve-kpi-icon.danger { background:var(--mdve-red-soft); color:var(--mdve-danger); }
.mdve-kpi-label { color:var(--mdve-muted)!important; font-size:.78rem; font-weight:500; text-transform:none!important; margin-bottom:8px; }
.mdve-kpi-value { font-size:clamp(1.3rem,1.7vw,1.95rem)!important; font-weight:700; letter-spacing:-.04em; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.mdve-kpi-context { display:block; color:var(--mdve-muted); font-size:.71rem; margin-top:10px; }
.mdve-report-kpi-icon>i { opacity:1!important; font-size:1.1rem; background:var(--mdve-blue-soft); border-radius:9px; padding:11px; }
.mdve-report-heading p { font-size:.83rem; }
.mdve-report-heading h1 i { display:none; }
.nav-tabs { gap:12px; border-color:var(--mdve-border); }
.nav-tabs .nav-link { font-size:.82rem; color:var(--mdve-muted); padding:12px 14px; border:0; border-bottom:2px solid transparent; }
.nav-tabs .nav-link.active { color:var(--mdve-primary); border-bottom-color:var(--mdve-primary); }
.mdve-profit { border:1px solid #c8d9f5!important; background:var(--mdve-blue-soft)!important; }
.mdve-chart-frame { position:relative; height:300px; width:100%; }
.mdve-chart-empty { min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--mdve-muted); text-align:center; padding:24px; }
.mdve-chart-empty[hidden] { display:none; }
.mdve-chart-empty i { font-size:2rem; margin-bottom:14px; color:#839bbc; }
.mdve-chart-empty strong { font-size:.9rem; color:var(--mdve-text); margin-bottom:6px; }
.mdve-chart-empty p { font-size:.8rem; max-width:250px; margin:0; }
.mdve-section-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; margin:8px 0 15px; }
.mdve-section-heading h2 { font-size:1rem; margin:0; }
.mdve-section-heading span { font-size:.74rem; color:var(--mdve-muted); }
.mdve-quick-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:26px; }
.mdve-quick-link { display:flex; gap:14px; align-items:center; padding:18px; background:white; border:1px solid var(--mdve-border); border-radius:10px; text-decoration:none; color:var(--mdve-text); transition:border-color .16s; }
.mdve-quick-link:hover { border-color:var(--mdve-primary); color:var(--mdve-text); }
.mdve-quick-link>i:first-child { width:38px; height:38px; display:grid; place-items:center; background:var(--mdve-blue-soft); color:var(--mdve-primary); border-radius:9px; }
.mdve-quick-link strong { font-size:.8rem; display:block; } .mdve-quick-link small { font-size:.71rem; color:var(--mdve-muted); }
.mdve-quick-link>i:last-child { font-size:.7rem; margin-left:auto; color:var(--mdve-muted); }
.mdve-auth { min-height:100vh; display:grid; place-items:center; padding:40px 24px; }
.mdve-auth-shell { width:100%; max-width:1060px; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--mdve-border); border-radius:20px; overflow:hidden; background:white; box-shadow:0 20px 60px #13243b0a; }
.mdve-auth-story { background:var(--mdve-secondary); color:white; padding:44px; display:flex; flex-direction:column; justify-content:space-between; min-height:600px; }
.mdve-auth-story .mdve-brand { padding:0; }
.mdve-auth-story h2 { font-size:2.4rem; line-height:1.17; max-width:340px; margin:28px 0 18px; }
.mdve-auth-story p { color:#b2c3d7; font-size:.94rem; }
.mdve-auth-story small { color:var(--mdve-nav-muted); font-size:.75rem; }
.mdve-route-graphic { display:flex; align-items:center; gap:0; margin:30px 0; }
.mdve-route-graphic span { width:52px; height:52px; border:1px solid #4c6c94; border-radius:13px; display:grid; place-items:center; color:#aecbff; background:#203854; }
.mdve-route-graphic b { flex:1; border-top:2px dashed #48658a; }
.mdve-auth-form { padding:54px 44px; display:flex; justify-content:center; flex-direction:column; }
.mdve-auth-form h1 { font-size:1.7rem; }
.mdve-auth-form>p { color:var(--mdve-muted); font-size:.87rem; margin-bottom:32px; }
.mdve-auth-footer { font-size:.74rem; color:var(--mdve-muted); border-top:1px solid var(--mdve-border); margin-top:28px; padding-top:22px; }
.mdve-auth-form .btn { width:100%; min-height:46px; }
.mdve-public-header { background:white; border-bottom:1px solid var(--mdve-border); padding:18px max(24px,calc((100vw - 1100px)/2)); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.mdve-public-header .mdve-brand { color:var(--mdve-text); padding:0; }
.mdve-public-header .mdve-brand small { color:var(--mdve-muted); }
.mdve-tracking { padding:48px 20px 60px; max-width:850px; margin:auto; }
.mdve-tracking .col-md-8 { width:100%; }
.mdve-tracking-logo { width:70px; height:70px; object-fit:contain; border-radius:14px; background:white; padding:6px; }
.mdve-tracking h1 { font-size:2rem; }
.mdve-tracking .input-group-lg>.form-control { font-size:1rem; }
.timeline { list-style:none; padding:0; position:relative; }
.timeline:before { position:absolute; top:15px; bottom:15px; left:19px; width:2px; background:var(--mdve-border); content:""; }
.timeline>li { position:relative; padding-left:58px; margin-bottom:20px; }
.timeline-badge { position:absolute; left:0; top:12px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--mdve-green-soft); color:var(--mdve-success); border:4px solid white; }
.timeline-panel { padding:16px; background:var(--mdve-bg); border:1px solid var(--mdve-border); border-radius:10px; }
.timeline-panel h6 { font-size:.8rem; }
.mdve-content .row>* { min-width:0; }
@media(min-width:1600px) { .mdve-content { padding-top:40px; } }
@media(max-width:1199px) { :root { --mdve-sidebar:224px; } .mdve-content { padding:28px 24px; } .mdve-topbar { padding:14px 24px; } .mdve-quick-links { gap:10px; } .mdve-quick-link { padding:14px; gap:10px; } }
@media(max-width:991px) {
  .mdve-sidebar { width:270px; transform:translateX(-100%); visibility:hidden; transition:transform .2s,visibility .2s; }
  .mdve-nav-open .mdve-sidebar { transform:translateX(0); visibility:visible; }
  .mdve-nav-open { overflow:hidden; }
  .mdve-workspace { margin-left:0; }
  .mdve-menu-toggle { display:grid; place-items:center; color:var(--mdve-text); background:var(--mdve-bg); border-radius:8px; flex-shrink:0; }
  .mdve-nav-close { display:grid; place-items:center; color:white; position:absolute; right:2px; top:0; }
  .mdve-backdrop { position:fixed; inset:0; background:#101f3580; border:0; z-index:1039; }
  .mdve-topbar { min-height:72px; padding:12px 20px; }
  .mdve-content { padding:26px 20px; }
  .mdve-breadcrumb { font-size:.74rem; }
  .mdve-auth-story,.mdve-auth-form { padding:32px; }
}
@media(max-width:767px) {
  .mdve-content { padding:24px 16px 32px; }
  .mdve-topbar { padding:10px 16px; gap:8px; }
  .mdve-breadcrumb { font-size:0; } .mdve-breadcrumb>i { display:none; } .mdve-breadcrumb strong { font-size:.8rem; }
  .mdve-user-copy { max-width:120px; } .mdve-user-copy strong { font-size:.7rem; } .mdve-user>i { margin-left:0; }
  .mdve-footer { padding:0 16px 20px; flex-wrap:wrap; }
  .mdve-footer>span:last-child { display:none; }
  .card-body { padding:18px; } .card-header { padding:17px 18px!important; }
  .mdve-content .row { --bs-gutter-x:1rem; }
  .mdve-content .row>[class*="col-md-"] { margin-bottom:12px; }
  .mdve-content .row>[class*="col-md-"]:last-child { margin-bottom:0; }
  .mdve-content> .d-flex:first-child { align-items:flex-start!important; }
  .mdve-content .text-end { text-align:left!important; }
  .mdve-page-heading { margin-bottom:20px; gap:16px; }
  .mdve-heading-actions { width:100%; } .mdve-heading-actions>.btn { flex:1; }
  .mdve-kpi-value { font-size:1.75rem!important; }
  .mdve-kpi .card-body { padding:20px; }
  .mdve-kpi-icon { float:right; margin:0 0 0 12px; }
  .mdve-quick-links { grid-template-columns:1fr; gap:10px; }
  .mdve-quick-link { padding:15px; }
  .mdve-section-heading>span { display:none; }
  .mdve-chart-frame { height:260px; }
  .table { font-size:.8rem; }
  .table>:not(caption)>*>* { padding:12px; }
  .table .btn-sm { min-width:44px; min-height:44px; }
  .dataTables_empty { padding:36px 12px!important; }
  .dataTables_empty>i,.dataTables_empty>span { display:block; width:calc(100vw - 100px); max-width:280px; text-align:center; }
  div.dataTables_wrapper div.dataTables_filter { text-align:left; margin-top:8px; }
  div.dataTables_wrapper div.dataTables_filter label { display:flex; align-items:center; }
  div.dataTables_wrapper div.dataTables_filter input { flex:1; min-width:0; }
  div.dataTables_wrapper div.dataTables_length { text-align:left; }
  div.dataTables_wrapper div.dataTables_info { text-align:left; padding-top:0; }
  div.dataTables_wrapper div.dataTables_paginate ul.pagination { justify-content:flex-start!important; margin-top:12px; }
  form .w-75 { width:100%!important; } form.p-4 { padding:16px!important; }
  .mdve-auth { padding:20px 16px; }
  .mdve-auth-shell { grid-template-columns:1fr; }
  .mdve-auth-story { min-height:auto; padding:24px; }
  .mdve-auth-story h2 { font-size:1.45rem; max-width:none; margin:24px 0 10px; }
  .mdve-auth-story p { margin-bottom:0; font-size:.82rem; }
  .mdve-auth-story>small,.mdve-route-graphic { display:none; }
  .mdve-auth-form { padding:30px 24px; }
  .mdve-auth-form h1 { font-size:1.4rem; }
  .mdve-tracking { padding:30px 16px; }
  .mdve-tracking .card-body { padding:20px!important; }
  .mdve-tracking .input-group { display:flex; gap:10px; }
  .mdve-tracking .input-group>.form-control { flex:1 1 100%; width:100%; border-radius:8px!important; }
  .mdve-tracking .input-group>.btn { width:100%; border-radius:8px!important; margin:0; }
  .mdve-public-header { padding:14px 16px; } .mdve-public-header .mdve-brand small { display:none; }
  .mdve-public-header .btn { font-size:.75rem; padding:8px 10px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .mdve-sidebar,.mdve-topbar,.mdve-footer,.mdve-heading-actions,.mdve-skip { display:none!important; } .mdve-workspace { margin:0; } .mdve-content { padding:0; } body { background:white; } .card { box-shadow:none!important; break-inside:avoid; } }

/* Fase de cierre visual: compatibilidad con vistas heredadas sin tocar su lógica PHP. */
.mdve-content > .d-flex.justify-content-between.align-items-center.mb-4 {
  margin-bottom:24px!important;
  padding-bottom:18px;
  border-bottom:1px solid var(--mdve-border);
}
.mdve-content > .d-flex.justify-content-between.align-items-center.mb-4 h2 {
  margin:0;
  color:var(--mdve-text)!important;
  font-size:clamp(1.25rem,1.55vw,1.65rem);
}
.mdve-content > .d-flex.justify-content-between.align-items-center.mb-4 h2 i { display:none; }
.mdve-content > .card,
.mdve-content > .row > [class*="col-"] > .card { overflow:hidden; }
.mdve-content .card > .table-responsive { border:0; border-radius:0; }
.mdve-content .card-body > .table-responsive:first-child:last-child { margin:-1px 0 0; }
.mdve-content .table-dark { --bs-table-bg:#f7f9fc; --bs-table-color:#526177; --bs-table-border-color:var(--mdve-border); }
.mdve-content .border-left-danger { border-left:4px solid var(--mdve-danger)!important; }
.mdve-content .bg-light { background:#fafbfd!important; }
.mdve-content hr { border-color:var(--mdve-border); opacity:1; }
.mdve-content .input-group-text { border-color:var(--mdve-input-border); background:#f7f9fc; color:var(--mdve-muted); }
.mdve-content textarea.form-control { min-height:110px; resize:vertical; }
.mdve-content .form-check-input { width:1.1em; height:1.1em; border-color:var(--mdve-input-border); }
.mdve-content .form-check-input:checked { background-color:var(--mdve-primary); border-color:var(--mdve-primary); }
.mdve-content .btn-group { flex-wrap:wrap; gap:5px; }
.mdve-content .btn-group > .btn { border-radius:8px!important; }
.mdve-content .card .card-footer { background:#fafbfd; border-top:1px solid var(--mdve-border); padding:16px 24px; }
.mdve-content .text-success { color:var(--mdve-success)!important; }
.mdve-content .text-danger { color:var(--mdve-danger)!important; }
.mdve-content .text-warning { color:var(--mdve-warning)!important; }
@media(max-width:767px) {
  .mdve-content > .d-flex.justify-content-between.align-items-center.mb-4 { align-items:stretch!important; }
  .mdve-content > .d-flex.justify-content-between.align-items-center.mb-4 > .btn { width:100%; }
  .mdve-content .card-body { overflow-wrap:anywhere; }
  .mdve-content .btn-group { width:100%; }
  .mdve-content .btn-group > .btn { flex:1 1 auto; }
}
