/* ═══════════════════════════════════════════════════════════════
   MIS VIAJES v1.0 — Estilos completos
   ═══════════════════════════════════════════════════════════════ */

/* ── Variables ─────────────────────────────────────────────────── */
.mv-wrapper {
    --mv-bg:        #f8fafc;
    --mv-card-bg:   #ffffff;
    --mv-surface:   #f1f5f9;
    --mv-border:    #e2e8f0;
    --mv-text:      #0f172a;
    --mv-text-2:    #475569;
    --mv-muted:     #94a3b8;
    --mv-primary:   #4f46e5;
    --mv-primary-h: #3730a3;
    --mv-danger:    #dc2626;
    --mv-success:   #16a34a;
    --mv-warning:   #d97706;
    --mv-radius:    12px;
    --mv-shadow:    0 1px 3px rgba(0,0,0,.08);
    --mv-shadow-md: 0 4px 16px rgba(0,0,0,.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--mv-text);
    background: var(--mv-bg);
    padding: 1.5rem;
    border-radius: var(--mv-radius);
    max-width: 1100px;
    margin: 0 auto;
}

/* ── Header ────────────────────────────────────────────────────── */
.mv-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.5rem; }
.mv-module-label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--mv-primary); margin-bottom:.25rem; }
.mv-page-title { font-size:1.75rem; font-weight:800; margin:0 0 .25rem; color:var(--mv-text); }
.mv-page-desc   { font-size:.875rem; color:var(--mv-text-2); margin:0; }

/* ── Cards ─────────────────────────────────────────────────────── */
.mv-card { background:var(--mv-card-bg); border:1px solid var(--mv-border); border-radius:var(--mv-radius); padding:1.25rem 1.5rem; margin-bottom:1.25rem; box-shadow:var(--mv-shadow); }
.mv-card-title { display:flex; align-items:center; gap:.5rem; font-size:1rem; font-weight:700; color:var(--mv-text); margin-bottom:1rem; }
.mv-card-icon  { font-size:1.1rem; }
.mv-card-table { padding:0; }
.mv-card-table-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.5rem; border-bottom:1px solid var(--mv-border); flex-wrap:wrap; gap:.5rem; }
.mv-card-table-header .mv-card-title { margin-bottom:0; }
.mv-cards-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.mv-card-half { margin-bottom:0; }
@media(max-width:768px){ .mv-cards-row { grid-template-columns:1fr; } }

/* ── Badges ────────────────────────────────────────────────────── */
.mv-badge       { display:inline-block; padding:.18em .6em; border-radius:999px; font-size:.72rem; font-weight:700; letter-spacing:.03em; }
.mv-badge-cat   { background:#ede9fe; color:#5b21b6; }
.mv-badge-usd   { background:#dbeafe; color:#1e40af; }
.mv-badge-local { background:#dcfce7; color:#15803d; }
.mv-badge-etiq  { background:#fef3c7; color:#92400e; }
.mv-badge-tc    { background:#f0f9ff; color:#0369a1; border:1px solid #bae6fd; }

/* ── Colores de valor ──────────────────────────────────────────── */
.mv-color-pos  { color:#16a34a; }
.mv-color-neg  { color:#dc2626; }
.mv-color-usd  { color:#2563eb; }
.mv-monto      { font-weight:600; font-size:.95rem; }
.mv-monto-pos  { color:#16a34a; }
.mv-monto-neg  { color:#dc2626; }
.mv-monto-usd  { color:#1e40af; }
.mv-tc-val     { font-family:monospace; font-weight:600; color:#1e3a5f; }

/* ── Alertas ───────────────────────────────────────────────────── */
.mv-alert         { padding:1rem 1.25rem; border-radius:var(--mv-radius); margin-bottom:1.25rem; font-size:.9rem; }
.mv-alert-warning { background:#fefce8; border:1px solid #fde047; color:#713f12; }

/* ── Banner viaje activo ───────────────────────────────────────── */
.mv-viaje-banner { display:flex; align-items:center; gap:.75rem; background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%); color:#fff; padding:.85rem 1.25rem; border-radius:10px; margin-bottom:1.25rem; font-size:.95rem; font-weight:500; box-shadow:0 2px 8px rgba(37,99,235,.25); }
.mv-viaje-banner .mv-btn { margin-left:auto; background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.3); }
.mv-viaje-banner .mv-btn:hover { background:rgba(255,255,255,.25); }

/* ── Viajes grid ───────────────────────────────────────────────── */
.mv-viajes-grid    { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1rem; padding:1rem; }
.mv-empty-viajes   { text-align:center; padding:3rem 1rem; color:var(--mv-muted); font-size:1rem; }
.mv-viaje-card     { background:var(--mv-card-bg); border:1px solid var(--mv-border); border-radius:var(--mv-radius); overflow:hidden; transition:box-shadow .2s,border-color .2s; }
.mv-viaje-card:hover { box-shadow:var(--mv-shadow-md); }
.mv-viaje-card-activo { border-color:#2563eb; box-shadow:0 0 0 2px rgba(37,99,235,.2); }
.mv-viaje-card-header { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.9rem 1.1rem; background:var(--mv-surface); border-bottom:1px solid var(--mv-border); flex-wrap:wrap; }
.mv-viaje-card-nombre  { font-weight:700; font-size:.95rem; display:flex; align-items:center; gap:.4rem; }
.mv-activo-dot         { color:#2563eb; font-size:.65rem; }
.mv-viaje-card-actions { display:flex; gap:.35rem; flex-wrap:wrap; }
.mv-viaje-card-body    { padding:.9rem 1.1rem; display:flex; flex-direction:column; gap:.4rem; }
.mv-viaje-row          { display:flex; align-items:flex-start; gap:.5rem; font-size:.85rem; color:var(--mv-text-2); }
.mv-viaje-icon         { width:1.4rem; text-align:center; flex-shrink:0; font-size:.95rem; }
.mv-viaje-notas        { font-style:italic; opacity:.8; }

/* ── Formularios ───────────────────────────────────────────────── */
.mv-form-grid   { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.mv-grid-3      { grid-template-columns:repeat(3,1fr); }
.mv-grid-4      { grid-template-columns:repeat(4,1fr); }
.mv-col-full    { grid-column:1/-1; }
.mv-form-group  { display:flex; flex-direction:column; gap:.35rem; }
.mv-form-group label { font-size:.8rem; font-weight:600; color:var(--mv-text-2); }
.mv-form-group input,
.mv-form-group select,
.mv-form-group textarea { width:100%; padding:.5rem .75rem; border:1px solid var(--mv-border); border-radius:8px; font-size:.9rem; color:var(--mv-text); background:var(--mv-card-bg); transition:border-color .2s; box-sizing:border-box; }
.mv-form-group input:focus,
.mv-form-group select:focus,
.mv-form-group textarea:focus { outline:none; border-color:var(--mv-primary); box-shadow:0 0 0 3px rgba(79,70,229,.12); }
.mv-form-group textarea { resize:vertical; }
.mv-form-inline { display:flex; gap:.5rem; align-items:center; }
.mv-form-inline input { flex:1; }
.mv-form-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1rem; }
.mv-optional   { font-weight:400; color:var(--mv-muted); font-size:.75rem; }
.mv-char-count { font-size:.75rem; color:var(--mv-muted); text-align:right; display:block; margin-top:.2rem; }

/* Prefix wrap */
.mv-prefix-wrap { display:flex; align-items:stretch; border:1px solid var(--mv-border); border-radius:8px; overflow:hidden; }
.mv-prefix      { display:flex; align-items:center; padding:0 .65rem; background:var(--mv-surface); font-size:.75rem; font-weight:700; color:var(--mv-text-2); white-space:nowrap; border-right:1px solid var(--mv-border); }
.mv-prefix-usd  { background:#1e3a5f; color:#fff; }
.mv-prefix-wrap input { border:none; border-radius:0; flex:1; }
.mv-prefix-wrap input:focus { box-shadow:none; }
.mv-prefix-wrap:focus-within { border-color:var(--mv-primary); box-shadow:0 0 0 3px rgba(79,70,229,.12); }

/* Calculado */
.mv-calculado-wrap  { display:flex; flex-direction:column; justify-content:center; min-height:40px; padding:.45rem .75rem; background:var(--mv-surface); border:1px solid var(--mv-border); border-radius:8px; }
.mv-calculado       { font-size:.95rem; font-weight:600; color:var(--mv-muted); transition:color .2s; }
.mv-calculado.mv-calculado-ok { color:var(--mv-success); }
.mv-calculado-sub   { font-size:.7rem; color:var(--mv-muted); }

/* ── Botones ───────────────────────────────────────────────────── */
.mv-btn          { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem 1rem; border-radius:8px; font-size:.875rem; font-weight:600; cursor:pointer; border:1px solid transparent; transition:background .15s,border-color .15s,opacity .15s; white-space:nowrap; }
.mv-btn:disabled { opacity:.55; cursor:not-allowed; }
.mv-btn-primary   { background:var(--mv-primary); color:#fff; } .mv-btn-primary:hover:not(:disabled)  { background:var(--mv-primary-h); }
.mv-btn-secondary { background:var(--mv-surface); color:var(--mv-text); border-color:var(--mv-border); } .mv-btn-secondary:hover:not(:disabled) { background:var(--mv-border); }
.mv-btn-danger    { background:#fee2e2; color:var(--mv-danger); border-color:#fca5a5; } .mv-btn-danger:hover:not(:disabled) { background:#fca5a5; }
.mv-btn-outline   { background:transparent; color:#fff; border-color:rgba(255,255,255,.4); } .mv-btn-outline:hover:not(:disabled) { background:rgba(255,255,255,.1); }
.mv-btn-sm        { padding:.3rem .65rem; font-size:.78rem; }

/* ── Mensajes ──────────────────────────────────────────────────── */
.mv-mensaje    { padding:.65rem 1rem; border-radius:8px; font-size:.875rem; margin-top:.75rem; }
.mv-mensaje-ok    { background:#dcfce7; color:#15803d; border:1px solid #86efac; }
.mv-mensaje-error { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.mv-error { color:var(--mv-danger); font-size:.9rem; padding:.5rem 0; }

/* ── Tabla ─────────────────────────────────────────────────────── */
.mv-table-wrap  { overflow-x:auto; }
.mv-table-wrap table { width:100%; min-width:0; border-collapse:collapse; font-size:.875rem; }
.mv-table-wrap th { background:var(--mv-surface); padding:.65rem 1rem; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--mv-text-2); text-align:left; border-bottom:2px solid var(--mv-border); white-space:nowrap; }
.mv-table-wrap td { padding:.7rem 1rem; border-bottom:1px solid var(--mv-border); vertical-align:middle; color:var(--mv-text); }
.mv-table-wrap tr:last-child td { border-bottom:none; }
.mv-table-wrap tr:hover td { background:var(--mv-surface); }
.mv-th-monto    { text-align:right; }
.mv-td-monto    { text-align:right; font-variant-numeric:tabular-nums; }
.mv-th-acciones { width:140px; text-align:center; }
.mv-td-acciones { text-align:center; }
.mv-actions-col { display:flex; justify-content:center; gap:.35rem; }
.mv-loading-row td, .mv-empty-row td { text-align:center; color:var(--mv-muted); padding:2rem; }

/* Table footer */
.mv-table-footer { padding:.9rem 1.5rem; border-top:1px solid var(--mv-border); }
.mv-total-row    { display:flex; gap:2rem; flex-wrap:wrap; align-items:center; }
.mv-total-item   { display:flex; flex-direction:column; gap:.15rem; }
.mv-total-label  { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--mv-muted); }
.mv-total-value  { font-size:1.1rem; font-weight:700; color:var(--mv-text); }

/* ── Paginación ────────────────────────────────────────────────── */
.mv-pagination { display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.75rem; }
.mv-page-btn   { padding:.3rem .7rem; border-radius:6px; border:1px solid var(--mv-border); background:var(--mv-card-bg); font-size:.8rem; cursor:pointer; color:var(--mv-text-2); transition:background .15s; }
.mv-page-btn.active { background:var(--mv-primary); color:#fff; border-color:var(--mv-primary); }
.mv-page-btn:hover:not(.active) { background:var(--mv-surface); }

/* ── Stats ─────────────────────────────────────────────────────── */
.mv-stats-row   { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.25rem; }
.mv-stats-3     { grid-template-columns:repeat(3,1fr); }
.mv-stats-4     { grid-template-columns:repeat(4,1fr); }
@media(max-width:900px){ .mv-stats-row,.mv-stats-3,.mv-stats-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .mv-stats-row,.mv-stats-3,.mv-stats-4 { grid-template-columns:1fr; } }
.mv-stat-card   { background:var(--mv-card-bg); border:1px solid var(--mv-border); border-radius:var(--mv-radius); padding:1rem 1.25rem; box-shadow:var(--mv-shadow); border-top:3px solid var(--mv-border); }
.mv-stat-green  { border-top-color:#16a34a; }
.mv-stat-red    { border-top-color:#dc2626; }
.mv-stat-blue   { border-top-color:#2563eb; }
.mv-stat-orange { border-top-color:#ea580c; }
.mv-stat-gray   { border-top-color:var(--mv-muted); }
.mv-stat-label  { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--mv-muted); margin-bottom:.4rem; }
.mv-stat-value  { font-size:1.35rem; font-weight:800; color:var(--mv-text); line-height:1.1; }
.mv-stat-sub    { font-size:.72rem; color:var(--mv-muted); margin-top:.2rem; }

/* ── Section titles ────────────────────────────────────────────── */
.mv-section-title { font-size:.85rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--mv-muted); margin:1.5rem 0 .75rem; padding-bottom:.4rem; border-bottom:2px solid var(--mv-border); }
.mv-section-usd   { border-color:#bfdbfe; color:#1e40af; }
.mv-section-local { border-color:#bbf7d0; color:#15803d; }

/* ── Presupuesto ───────────────────────────────────────────────── */
.mv-presupuesto-card .mv-card-title { margin-bottom:.75rem; }
.mv-ppto-wrap   { display:flex; flex-direction:column; gap:.5rem; }
.mv-ppto-row    { display:flex; justify-content:space-between; align-items:center; font-size:.9rem; }
.mv-ppto-label  { color:var(--mv-text-2); font-weight:500; }
.mv-ppto-value  { font-weight:700; }
.mv-ppto-barra-wrap { display:flex; align-items:center; gap:.75rem; margin-top:.25rem; }
.mv-ppto-barra  { flex:1; height:10px; background:var(--mv-surface); border-radius:999px; overflow:hidden; border:1px solid var(--mv-border); }
.mv-ppto-barra-fill { height:100%; background:#16a34a; border-radius:999px; transition:width .4s; }
.mv-ppto-alerta .mv-ppto-barra-fill  { background:#d97706; }
.mv-ppto-peligro .mv-ppto-barra-fill { background:#dc2626; }
.mv-ppto-pct    { font-size:.85rem; font-weight:700; min-width:3rem; text-align:right; }

/* ── Sortable list ─────────────────────────────────────────────── */
.mv-sortable-list   { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.mv-sortable-item   { display:flex; align-items:center; gap:.75rem; padding:.65rem 1rem; background:var(--mv-surface); border:1px solid var(--mv-border); border-radius:8px; cursor:default; transition:box-shadow .15s; }
.mv-sortable-item.sortable-chosen { box-shadow:var(--mv-shadow-md); background:var(--mv-card-bg); }
.mv-drag-handle     { cursor:grab; color:var(--mv-muted); font-size:1.1rem; flex-shrink:0; user-select:none; }
.mv-drag-handle:active { cursor:grabbing; }
.mv-sortable-nombre { flex:1; font-size:.9rem; font-weight:500; }
.mv-sortable-actions{ display:flex; gap:.35rem; }
.mv-hint-drag       { font-size:.72rem; font-weight:400; color:var(--mv-muted); margin-left:.5rem; }
.mv-empty-list      { color:var(--mv-muted); font-size:.9rem; padding:.75rem; text-align:center; }

/* ── Notas / Diario ────────────────────────────────────────────── */
.mv-nota-card    { background:var(--mv-card-bg); border:1px solid var(--mv-border); border-radius:var(--mv-radius); padding:1.1rem 1.25rem; margin-bottom:1rem; box-shadow:var(--mv-shadow); border-left:4px solid var(--mv-primary); }
.mv-nota-header  { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; margin-bottom:.65rem; flex-wrap:wrap; }
.mv-nota-fecha-titulo { display:flex; flex-direction:column; gap:.2rem; }
.mv-nota-fecha   { font-size:.78rem; font-weight:700; color:var(--mv-primary); }
.mv-nota-titulo  { font-size:1rem; font-weight:700; color:var(--mv-text); }
.mv-nota-acciones{ display:flex; gap:.35rem; }
.mv-nota-contenido { font-size:.9rem; color:var(--mv-text); line-height:1.65; white-space:pre-wrap; }
.mv-empty-notas  { text-align:center; padding:3rem 1rem; color:var(--mv-muted); }

/* ── Comparador ────────────────────────────────────────────────── */
.mv-comp-headers  { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; margin-bottom:1.25rem; }
.mv-comp-header   { background:var(--mv-card-bg); border:1px solid var(--mv-border); border-radius:var(--mv-radius); padding:1rem 1.25rem; text-align:center; }
.mv-comp-a        { border-top:3px solid var(--mv-primary); }
.mv-comp-b        { border-top:3px solid #ea580c; }
.mv-comp-vs       { font-size:1.5rem; font-weight:900; color:var(--mv-muted); text-align:center; }
.mv-comp-header-nombre { font-size:1rem; font-weight:700; }
.mv-comp-header-destino{ font-size:.82rem; color:var(--mv-text-2); }
.mv-comp-col-a    { color:var(--mv-primary); font-weight:600; }
.mv-comp-col-b    { color:#ea580c; font-weight:600; }

/* ── Spinner ───────────────────────────────────────────────────── */
.mv-spinner { display:inline-block; width:16px; height:16px; border:2px solid var(--mv-border); border-top-color:var(--mv-primary); border-radius:50%; animation:mv-spin .7s linear infinite; }
@keyframes mv-spin { to { transform:rotate(360deg); } }
.mv-loading-inline { display:flex; align-items:center; gap:.5rem; padding:2rem; color:var(--mv-muted); font-size:.9rem; }

/* ── Charts ────────────────────────────────────────────────────── */
.mv-chart-wrap    { position:relative; height:280px; margin-top:.5rem; }
.mv-chart-lg      { height:340px; }

/* ── Responsive ────────────────────────────────────────────────── */
@media(max-width:768px){
    .mv-wrapper { padding:1rem; }
    .mv-form-grid,.mv-grid-3,.mv-grid-4 { grid-template-columns:1fr 1fr; }
    .mv-col-full { grid-column:1/-1; }
    .mv-comp-headers { grid-template-columns:1fr; }
    .mv-comp-vs { display:none; }
}
@media(max-width:480px){
    .mv-form-grid,.mv-grid-3,.mv-grid-4 { grid-template-columns:1fr; }
    .mv-viaje-card-header { flex-direction:column; align-items:flex-start; }
    .mv-total-row { gap:1rem; }
}

/* ═══════════════════════════════════════════════════════════════
   MIS VIAJES v1.1 — Estilos nuevos
   ═══════════════════════════════════════════════════════════════ */

/* ── Banner info / estado ──────────────────────────────────────── */
.mv-banner-info  { display:flex; flex-direction:column; gap:.2rem; flex:1; }
.mv-banner-estado{ font-size:.8rem; }
.mv-estado { display:inline-block; padding:.15em .6em; border-radius:999px; font-size:.75rem; font-weight:600; }
.mv-estado-futuro    { background:rgba(255,255,255,.2); color:#fff; }
.mv-estado-curso     { background:rgba(22,163,74,.25); color:#bbf7d0; }
.mv-estado-terminado { background:rgba(255,255,255,.15); color:rgba(255,255,255,.8); }

/* ── Viaje emoji ────────────────────────────────────────────────── */
.mv-viaje-emoji  { font-size:1.3rem; flex-shrink:0; }
.mv-banner-emoji { font-size:1.4rem; }
.mv-emoji-input  { font-size:1.2rem; letter-spacing:.1em; }

/* ── Formulario grid variante 4-1-3 ─────────────────────────────── */
.mv-grid-4-1-3 { grid-template-columns: minmax(80px,1fr) 2fr 1.5fr; }
.mv-span-2     { grid-column: span 2; }
@media(max-width:768px){ .mv-grid-4-1-3 { grid-template-columns:1fr 1fr; } .mv-span-2 { grid-column:span 1; } }
@media(max-width:480px){ .mv-grid-4-1-3 { grid-template-columns:1fr; } }

/* ── Selector rápido de moneda ──────────────────────────────────── */
.mv-hint-link { font-size:.72rem; font-weight:400; color:var(--mv-primary); cursor:pointer; margin-left:.4rem; user-select:none; }
.mv-hint-link:hover { text-decoration:underline; }
.mv-moneda-quick { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.35rem; margin-top:.5rem; padding:.75rem; background:var(--mv-surface); border:1px solid var(--mv-border); border-radius:10px; max-height:220px; overflow-y:auto; }
.mv-moneda-btn { display:flex; align-items:center; gap:.4rem; padding:.35rem .6rem; border:1px solid var(--mv-border); border-radius:6px; background:var(--mv-card-bg); cursor:pointer; font-size:.78rem; text-align:left; transition:background .15s,border-color .15s; }
.mv-moneda-btn:hover { background:var(--mv-primary); color:#fff; border-color:var(--mv-primary); }
.mv-moneda-btn strong { font-weight:700; min-width:32px; }
.mv-moneda-btn span { color:inherit; opacity:.8; font-size:.72rem; }

/* ── Shortcode [mv_balance] ─────────────────────────────────────── */
.mv-balance-selector-wrap { background:var(--mv-surface); border:1px solid var(--mv-border); border-radius:10px; padding:.75rem 1.25rem; margin-bottom:1.25rem; }
.mv-balance-selector-row  { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.mv-balance-selector-label{ font-size:.9rem; font-weight:600; color:var(--mv-text-2); white-space:nowrap; }
.mv-balance-selector-row select { flex:1; min-width:200px; padding:.45rem .75rem; border:1px solid var(--mv-border); border-radius:8px; font-size:.9rem; }

.mv-balance-seccion-titulo { font-size:.85rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; padding-bottom:.4rem; margin:1rem 0 .75rem; border-bottom:2px solid var(--mv-border); }
.mv-balance-usd-titulo   { color:#1e40af; border-color:#bfdbfe; }
.mv-balance-local-titulo { color:#15803d; border-color:#bbf7d0; }

.mv-balance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1rem; }
@media(max-width:600px){ .mv-balance-grid { grid-template-columns:1fr; } }

.mv-balance-card { display:flex; align-items:center; gap:1rem; background:var(--mv-card-bg); border:1px solid var(--mv-border); border-radius:var(--mv-radius); padding:1.1rem 1.25rem; box-shadow:var(--mv-shadow); }
.mv-balance-card-icon { font-size:1.5rem; font-weight:900; width:2.2rem; text-align:center; flex-shrink:0; opacity:.6; }
.mv-balance-green { border-left:4px solid #16a34a; }
.mv-balance-red   { border-left:4px solid #dc2626; }
.mv-balance-blue  { border-left:4px solid #2563eb; }
.mv-balance-label { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--mv-muted); margin-bottom:.25rem; }
.mv-balance-hint  { font-weight:400; text-transform:none; letter-spacing:0; }
.mv-balance-valor { font-size:1.25rem; font-weight:800; color:var(--mv-text); }

.mv-balance-extra { display:flex; gap:1.5rem; flex-wrap:wrap; background:var(--mv-surface); border:1px solid var(--mv-border); border-radius:10px; padding:.9rem 1.25rem; margin:1rem 0; }
.mv-balance-extra-item { display:flex; flex-direction:column; gap:.3rem; flex:1; min-width:160px; }
.mv-balance-extra-label{ font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--mv-muted); }
.mv-balance-extra-val  { font-size:1rem; font-weight:700; color:var(--mv-text); }
.mv-balance-extra-sub  { font-size:.78rem; color:var(--mv-text-2); }

.mv-balance-actions { display:flex; gap:.75rem; margin-top:.75rem; }

/* ── Mobile drag handle touch area ─────────────────────────────── */
.mv-drag-handle {
    cursor: grab;
    color: var(--mv-muted);
    font-size: 1.3rem;
    flex-shrink: 0;
    user-select: none;
    padding: .5rem .6rem;  /* área táctil más grande en mobile */
    margin: -.5rem -.3rem;
    border-radius: 6px;
    touch-action: none;
}
.mv-drag-handle:active { cursor: grabbing; background: var(--mv-border); }

/* ── Viaje card estado badge ────────────────────────────────────── */
.mv-viaje-card-body .mv-estado { font-size:.72rem; }











/* ═══════════════════════════════════════════════════════════════
   MIS VIAJES v1.2.3 — Categoría badge debajo del monto
   El resto del layout mobile es puro JS inline styles
   ═══════════════════════════════════════════════════════════════ */

/* Badge categoría debajo del monto en desktop */
.mv-cat-sub { display: block; margin-top: .2rem; line-height: 1; }
.mv-cat-sub .mv-badge { font-size: .65rem; padding: .1em .4em; opacity: .85; }

/* Limpiar artefactos anteriores */
.mv-fix-banner      { display: none !important; }
.mv-btn-icon        { display: none !important; }
.mv-btn-icon-danger { display: none !important; }
