/* TRAVSA · F1 — complementos al sistema de diseño del prototipo */
.nav-group{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7f9dbd;padding:14px 12px 5px;}
.sidebar-collapsed .nav-group{display:none;}
.nav a.soon{opacity:.45;cursor:default;}
.nav a.soon:hover{background:transparent;color:#cdddec;}
.soon-tag{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.12);color:#cfe0ef;padding:1px 6px;border-radius:5px;}
.sidebar-collapsed .soon-tag{display:none;}
.inline-form{display:inline;margin:0;}
.side-link{display:flex;align-items:center;gap:11px;width:100%;padding:8px 12px;border:none;background:none;border-radius:8px;color:#9fb8d4;font:inherit;font-size:13.5px;cursor:pointer;text-align:left;}
.side-link:hover{background:rgba(255,255,255,.09);color:#fff;}
.sidebar-collapsed .side-link{justify-content:center;}
.sidebar-collapsed .side-link .lbl{display:none;}
.top-title{font-size:15px;font-weight:600;color:var(--ink);}
.user{text-decoration:none;color:inherit;}
.flash{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;margin-bottom:14px;font-size:13.5px;border:1px solid transparent;}
.flash .material-symbols-outlined{font-size:20px;}
.flash-success{background:#e3f0e6;color:#1f5c37;border-color:#c5e1cd;}
.flash-error{background:var(--red-bg);color:var(--red);border-color:#f0c6c1;}
.flash-info{background:var(--blue-050);color:var(--oxford);border-color:var(--blue-100);}
.form .flash{margin-bottom:16px;}
.form-row textarea{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:9px 10px;font:inherit;font-size:13.5px;resize:vertical;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px rgba(0,75,138,.12);}
.form-row input:disabled{background:var(--canvas);color:var(--muted);}
.form-row label em{color:var(--red);font-style:normal;}
.hint{display:block;color:var(--muted);font-size:11.5px;margin-top:4px;}
.form-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 16px;border-top:1px solid var(--line);background:#fff;border-radius:0 0 12px 12px;}
.form-foot.sticky{position:sticky;bottom:0;margin-top:16px;border:1px solid var(--line);border-radius:12px;box-shadow:0 -6px 18px -12px rgba(0,0,0,.2);z-index:5;}
.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0;cursor:pointer;}
.check code{font-size:10.5px;color:var(--muted);background:var(--canvas);padding:1px 5px;border-radius:4px;margin-left:auto;}
.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.card-check{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0;align-items:flex-start;}
.card-check span{display:flex;flex-direction:column;}
.card-check small{color:var(--muted);font-size:11.5px;}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.linkbtn{border:none;background:none;color:var(--sand);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
.filterbar input.filter-input{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 10px;font:inherit;font-size:13px;min-width:240px;}
.actions{text-align:right;white-space:nowrap;}
.actions .btn{margin-left:4px;}
.muted{color:#9aa6b2;}
.nowrap{white-space:nowrap;}
.empty-sm{padding:26px;text-align:center;color:var(--muted);font-size:13px;}
.pager{display:flex;gap:6px;justify-content:center;margin-top:16px;}
.pager a{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;font-size:13px;text-decoration:none;color:var(--ink);background:#fff;}
.pager a.on{background:var(--sand);color:#fff;border-color:var(--sand);}
.table.bordered{border:1px solid var(--line);border-radius:8px;}
.input-sm{width:90px;height:32px;border:1px solid var(--line-2);border-radius:7px;padding:0 8px;font:inherit;}
.rate-table input{width:100%;height:34px;border:1px solid var(--line-2);border-radius:7px;padding:0 8px;font:inherit;font-size:13px;}
.rate-table .input-num{max-width:140px;text-align:right;}
.dl{display:grid;grid-template-columns:170px 1fr;gap:8px 14px;margin:0;font-size:13px;}
.dl dt{color:var(--muted);}
.dl dd{margin:0;color:var(--ink);}
.phase{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);}
.phase:last-child{border-bottom:none;}
.phase b{display:block;font-size:13.5px;}
.phase span{font-size:12px;color:var(--muted);}
.phase .material-symbols-outlined{color:#b9c3cd;}
.phase.done .material-symbols-outlined{color:#1f7a45;}
.phase.now .material-symbols-outlined{color:var(--sand);}
.changes{white-space:pre-wrap;font-size:11px;background:var(--canvas);padding:8px;border-radius:6px;max-width:460px;overflow:auto;}
details summary{cursor:pointer;color:var(--sand);}
body.bare{background:var(--canvas);display:flex;align-items:center;justify-content:center;min-height:100vh;}
.errbox{text-align:center;max-width:460px;margin:60px auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:14px;}
.errbox .errcode{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.1em;}
.errbox .material-symbols-outlined{font-size:44px;color:var(--sand);margin:10px 0;}
.errbox h1{font-size:20px;margin-bottom:6px;}
.errbox p{color:var(--muted);font-size:13.5px;margin-bottom:18px;}
@media(max-width:900px){.checkgrid{grid-template-columns:1fr;} .dl{grid-template-columns:1fr;}}
input[type="hidden"]{display:none!important;}
form.inline-form{display:inline-flex;}
/* ===== F2 · Cotización y Gira 360 ===== */
.chip.green{background:#e3f0e6;color:#1f7a45;}
.viewtabs a{border:none;background:transparent;font-size:13px;font-weight:600;color:var(--muted);padding:6px 12px;border-radius:7px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.viewtabs a.active{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);}
.viewtabs a .material-symbols-outlined{font-size:17px;}
.qtabs{display:flex;flex-wrap:wrap;margin:4px 0 16px;}
.qtabs a small{font-weight:500;color:var(--muted);margin-left:4px;}
.opt-table td{vertical-align:top;}
.row-accepted td{background:#f1f8f3;}
.warn-line{display:flex;align-items:center;gap:4px;color:var(--amber);font-size:11.5px;font-weight:600;margin-top:3px;}
.warn-line .material-symbols-outlined{font-size:15px;}
.add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line);}
.add-row select,.add-row input{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;background:#fff;}
.add-row select{min-width:260px;}
.input-xs{width:64px;}
.scroll-x{overflow-x:auto;}
.matrix th{white-space:nowrap;}
.cell-in{width:64px;height:30px;border:1px solid var(--line-2);border-radius:6px;text-align:right;padding:0 6px;font:inherit;}
.matrix tr.tot td,.table tr.tot td{font-weight:700;background:#f7f9fc;}
.nights-box{background:var(--blue-050);color:var(--oxford);border-radius:9px;padding:9px 12px;font-size:13px;margin-top:4px;}
.btn.danger{color:var(--red);}
fieldset{border:none;margin:0;padding:0;min-width:0;}
.artist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
.artist-grid.wide{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.artist-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;text-decoration:none;color:inherit;}
.artist-card:hover{border-color:var(--blue-100);}
.artist-card .avatar{width:42px;height:42px;border-radius:12px;background:var(--oxford);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;}
.artist-card.big .avatar{width:52px;height:52px;font-size:17px;}
.artist-card b{display:block;font-size:14px;}
.artist-card span{display:block;font-size:12px;color:var(--muted);}
a.kcard{display:block;text-decoration:none;color:inherit;}
.kcol.k-borrador{border-top-color:#8a94a3;}.kcol.k-enviada{border-top-color:#2b7ec2;}.kcol.k-negociacion{border-top-color:#e0a63a;}
.kcol.k-aceptada{border-top-color:#1f7a45;}.kcol.k-rechazada{border-top-color:#b3261e;}
.accept-city{margin-bottom:22px;}
.accept-city h3{display:flex;align-items:center;gap:6px;font-size:15px;margin-bottom:10px;flex-wrap:wrap;}
.sel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;}
label.selcard{display:flex;flex-direction:column;gap:3px;}
label.selcard input{position:absolute;top:14px;right:14px;width:18px;height:18px;accent-color:var(--sand);}
label.selcard:has(input:checked){border-color:var(--sand);box-shadow:0 0 0 2px rgba(0,75,138,.18);}
label.selcard .price{font-size:17px;font-weight:700;color:var(--oxford);margin-top:6px;}
label.selcard .why{font-size:11.5px;color:var(--red);font-weight:600;}
label.selcard.disabled{opacity:.55;cursor:not-allowed;}
/* impresión de cotización */
.print-body{background:#eef1f5;}
.print-bar{position:sticky;top:0;display:flex;justify-content:flex-end;padding:10px 16px;background:#eef1f5;z-index:5;}
.print-page{max-width:980px;margin:0 auto 30px;background:#fff;padding:36px 40px;border-radius:12px;box-shadow:0 10px 30px -18px rgba(0,0,0,.3);}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--oxford);padding-bottom:16px;margin-bottom:16px;}
.doc-head img{height:44px;}
.doc-meta{text-align:right;font-size:12.5px;color:var(--muted);}
.doc-meta .doc-title{font-size:18px;font-weight:700;color:var(--oxford);margin-bottom:4px;}
.doc-meta b{color:var(--ink);}
.doc-client{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:18px;font-size:13px;}
.doc-client span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;}
.doc-city{margin-bottom:22px;page-break-inside:avoid;}
.doc-city h2{font-size:16px;color:var(--oxford);margin-bottom:3px;}
.doc-sub{font-size:12px;color:var(--muted);margin:4px 0 8px;}
.doc-table{border:1px solid var(--line);font-size:12px;}
.doc-table th{background:var(--blue-050);}
.doc-foot{border-top:1px solid var(--line);padding-top:12px;font-size:11.5px;color:var(--muted);}
.doc-agency{margin-top:10px;font-weight:600;color:var(--oxford);}
@media print{.print-bar{display:none;} .print-body{background:#fff;} .print-page{box-shadow:none;margin:0;padding:0;max-width:none;}}
/* ===== v1.0.1 · Ajustes de formularios ===== */
/* Textarea con estilo en cualquier lugar (antes solo dentro de .form-row) */
textarea{width:100%;min-height:84px;border:1px solid var(--line-2);border-radius:8px;padding:9px 10px;font:inherit;font-size:13.5px;line-height:1.45;color:var(--ink);background:#fff;resize:vertical;box-sizing:border-box;}
textarea:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px rgba(0,75,138,.12);}
/* Casillas de verificación: tamaño normal y color de marca (antes heredaban el tamaño de los campos de tarifa) */
input[type="checkbox"],input[type="radio"]{width:16px;height:16px;min-width:16px;padding:0;margin:0;accent-color:var(--sand);cursor:pointer;vertical-align:middle;box-shadow:none;}
.rate-table input[type="checkbox"]{width:16px;height:16px;border:none;}
.rate-table .check{margin:0;}
/* ===== v1.0.2 · Diseño responsivo ===== */
/* Las columnas del grid pueden encogerse; las tablas anchas hacen scroll dentro de su tarjeta */
.grid > *{min-width:0;}
.card-b.flush{overflow-x:auto;-webkit-overflow-scrolling:touch;}
/* KPIs: cuadrícula adaptable, los montos no se cortan */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;}
.kpis .kpi{min-width:0;}
.kpi.ico .kbody{min-width:0;}
.kpi.ico .v{font-size:19px;white-space:nowrap;overflow:visible;text-overflow:clip;}
/* Encabezado de página: título y botones se acomodan en lugar de aplastarse */
.pagehead{flex-wrap:wrap;}
.pagehead > div:first-child{min-width:0;flex:1 1 320px;}
.head-actions{flex-wrap:wrap;flex-shrink:1;}
.nav-backdrop{display:none;}

@media (max-width:900px){
  /* El menú es un panel deslizable; el contenido usa todo el ancho */
  .layout,.layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr);}
  .sidebar{display:flex!important;position:fixed;top:0;left:0;bottom:0;width:262px;height:100%;z-index:60;transform:translateX(-105%);transition:transform .22s ease;}
  .layout.nav-open .sidebar{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.35);}
  .layout.nav-open .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(10,20,35,.45);z-index:55;}
  .topbar{padding:0 12px;gap:10px;}
  .top-title{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .top-right{flex-shrink:0;}
  .user > div:last-child{display:none;}
  .content{padding:16px 14px 32px;}
  .pagehead{flex-direction:column;align-items:stretch;gap:12px;}
  .pagehead h1{font-size:21px;line-height:1.25;}
  .head-actions .btn,.head-actions .inline-form{flex:1 1 auto;}
  .head-actions .inline-form .btn{width:100%;}
  .head-actions .btn{justify-content:center;}
  /* KPIs: dos por fila, icono arriba */
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .kpi.ico{flex-direction:column;gap:8px;padding:12px;}
  .kpi.ico .kpi-ic{width:34px;height:34px;}
  .kpi.ico .v{font-size:17px;}
  /* Formularios y filtros en una columna */
  .form-2,.checkgrid{grid-template-columns:1fr;}
  .filterbar{flex-wrap:wrap;}
  .filterbar .filter-input,.filterbar select{flex:1 1 100%;min-width:0;width:100%;}
  .add-row select,.add-row input{flex:1 1 100%;min-width:0;}
  .add-row .input-xs{flex:0 0 72px;}
  /* Ruta de la gira en vertical */
  .citytl{flex-direction:column;}
  .citytl .cc{margin-right:0;margin-bottom:10px;min-width:0;}
  .citytl .cc::after{display:none;}
  .qtabs{overflow-x:auto;flex-wrap:nowrap;}
  .qtabs a{white-space:nowrap;}
  /* Documento al cliente */
  .print-page{padding:18px 14px;border-radius:0;}
  .doc-head{flex-direction:column;gap:10px;}
  .doc-meta{text-align:left;}
  .doc-city{overflow-x:auto;}
  .doc-client{gap:12px 20px;}
}
@media (max-width:420px){
  .kpis{grid-template-columns:1fr 1fr;}
}
/* v1.0.2 · Tabla de opciones compacta y KPIs con ícono en la esquina */
.opt-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.opt-tags .chip{font-size:10.5px;}
.opt-table td.amounts{white-space:nowrap;}
.opt-table td.amounts b{display:block;font-size:14px;color:var(--ink);}
.opt-table td.amounts span{display:block;font-size:11.5px;color:var(--muted);font-weight:500;}
.opt-table td.amounts span.mg{color:#1f7a45;}
.matrix th{white-space:normal;line-height:1.2;font-size:10px;}
.matrix td,.matrix th{padding-left:6px;padding-right:6px;}
.matrix .cell-in{width:50px;}
.kpis{grid-template-columns:repeat(auto-fit,minmax(172px,1fr));}
.kpi.ico{display:block;position:relative;padding:14px 16px;}
.kpi.ico .kpi-ic{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:9px;}
.kpi.ico .kpi-ic .material-symbols-outlined{font-size:18px;}
.kpi.ico .l{padding-right:40px;min-height:28px;}
.kpi.ico .v{font-size:19px;margin-top:4px;}
@media (max-width:900px){
  .kpi.ico{padding:12px;}
  .kpi.ico .kpi-ic{width:28px;height:28px;top:10px;right:10px;}
  .kpi.ico .l{padding-right:32px;}
  .kpi.ico .v{font-size:17px;}
}
.breakdown td,.breakdown th{padding-left:8px;padding-right:8px;}
.breakdown td.num{white-space:nowrap;font-size:12.5px;}
.breakdown th{white-space:normal;line-height:1.2;}
@media (max-width:900px){
  /* En columna, la base flexible del título no debe convertirse en altura */
  .pagehead > div:first-child{flex:0 0 auto;}
}
/* ===== v1.1.0 · F3 Reservaciones ===== */
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;}
textarea.mono{font-size:12px;white-space:pre;}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.mini-progress{height:6px;background:var(--line);border-radius:4px;overflow:hidden;max-width:140px;margin-bottom:3px;}
.mini-progress i{display:block;height:100%;background:#1f7a45;border-radius:4px;}
.mini-progress.big{height:8px;max-width:none;flex:1;}
.confirm-bar{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--muted);margin:-6px 0 16px;}
.import-box{margin-bottom:14px;}
.import-box summary{cursor:pointer;padding:12px 16px;font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:8px;color:var(--sand);list-style:none;}
.import-box summary::-webkit-details-marker{display:none;}
.rooming-group{margin-bottom:14px;}
.rooming td{vertical-align:top;}
.rooming .res-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;align-items:center;}
.rooming .note-in{color:var(--amber);font-weight:600;}
.row-cancel td{opacity:.5;text-decoration:line-through;}
.row-cancel td:last-child,.row-cancel td:nth-last-child(2){text-decoration:none;}
.rooming-total{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);}
.rooming-total b{font-size:18px;color:var(--oxford);}
.occ-bar{display:flex;height:10px;background:var(--canvas);border-radius:5px;overflow:hidden;}
.occ-bar i.p{background:var(--sand);}
.occ-bar i.c{background:#e0a63a;}
.chan{font-weight:700;}
.chan-whatsapp{color:#1f7a45;}.chan-correo{color:var(--sand);}.chan-telefono{color:#5b4a8a;}
.log-capture{background:var(--canvas);border-radius:10px;padding:12px;margin-top:12px;}
.log-capture .t{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.balance-card .tot.due td{color:var(--red);}
.balance-card .tot.ok td{color:#1f7a45;}
td.num.due{color:var(--red);font-weight:600;}
a.alertitem{text-decoration:none;color:inherit;}
a.alertitem:hover{border-color:var(--blue-100);}
/* ===== v1.2.0 · F4 Finanzas ===== */
.hbar-row{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;font-size:12.5px;margin-bottom:8px;}
.hbar-row span{color:var(--muted);}
.hbar-row b{font-size:12.5px;white-space:nowrap;}
.hbar{height:9px;background:var(--canvas);border-radius:5px;overflow:hidden;}
.hbar i{display:block;height:100%;background:var(--sand);border-radius:5px;}
.hbar.ok i{background:#1f7a45;}
.hbar.late i{background:var(--red);}
.aging-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.aging-cell{border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.aging-cell span{display:block;font-size:11.5px;color:var(--muted);}
.aging-cell b{display:block;font-size:15px;margin:3px 0 6px;}
.aging-cell.late b{color:var(--red);}
.statement td{padding-top:9px;padding-bottom:9px;}
.statement tr.grp td{background:var(--blue-050);color:var(--oxford);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
.statement tr.result td{background:var(--oxford);color:#fff;font-weight:700;font-size:15px;}
.statement tr.result.neg td{background:var(--red);}
.kpi .sub.due,.due{color:var(--red);}
.steps-line{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.step-opt{display:flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;}
.step-opt:has(input:checked){background:var(--blue-050);border-color:var(--sand);color:var(--oxford);}
.fin-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.fin-strip > div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.fin-strip span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
.fin-strip b{display:block;font-size:17px;margin:3px 0;}
.fin-strip small{color:var(--muted);font-size:11.5px;}
.filterbar label.small{margin-left:4px;}
.filterbar input[type="date"]{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;}
@media (max-width:900px){
  .aging-grid,.fin-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hbar-row{grid-template-columns:100px 1fr auto;}
  .filterbar input[type="date"]{flex:1 1 45%;}
}
/* ===== v1.3.0 · F5 Facturación CFDI ===== */
.rep-form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;}
.rep-form select{height:30px;border:1px solid var(--line-2);border-radius:7px;font:inherit;font-size:12px;max-width:150px;padding:0 6px;}
.btn.danger-bg{background:var(--red);border-color:var(--red);color:#fff;}
.flash code,.card code{background:var(--canvas);padding:1px 5px;border-radius:5px;font-size:12px;word-break:break-all;}
label.card-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;}
label.card-check span{display:flex;flex-direction:column;gap:2px;}
label.card-check small{color:var(--muted);font-size:12px;}
label.card-check:has(input:checked){border-color:var(--sand);background:var(--blue-050);}
.flash-success{background:#e3f0e6;color:#1f5f38;}
/* ===== v1.4.0 · Catálogo de hoteles v2 ===== */
.form-row.span-2{grid-column:1 / -1;}
.sub-h{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--oxford);margin:16px 0 8px;padding-top:12px;border-top:1px dashed var(--line);}
.sub-h .small{font-weight:500;}
.repeater{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.rep-rows{display:flex;flex-direction:column;gap:8px;width:100%;}
.rep-row{display:flex;gap:6px;align-items:center;width:100%;flex-wrap:wrap;}
.rep-row input,.rep-row select,.rep-card input{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 9px;font:inherit;font-size:13px;background:#fff;min-width:0;}
.rep-row input:first-child,.rep-variant input[name$="[label]"],.rep-tax input:first-child{flex:1 1 180px;}
.rep-variant select{flex:0 1 170px;}
.rep-card{border:1px solid var(--line);border-radius:10px;padding:10px;width:100%;background:var(--canvas);}
.rep-card .form-2{gap:8px;}
.rep-card input{width:100%;}
.rep-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.hours-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.hours-row input[type=time],.bf-day input[type=time]{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;}
.bf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 12px;}
.bf-day{display:grid;grid-template-columns:78px 1fr 1fr;gap:6px;align-items:center;font-size:12.5px;}
.bf-day input{min-width:0;width:100%;}
.variant-row td{background:var(--canvas);font-size:12.5px;}
.bf-table{margin-top:10px;font-size:12px;}
.bf-table th,.bf-table td{padding:6px 5px;}
.bank-form{margin-top:10px;}
.edit-row td{border-top:none;padding-top:0;}
details > summary{cursor:pointer;list-style:none;}
details > summary::-webkit-details-marker{display:none;}

/* ---------- v1.5.0 · Hoteles v3 ---------- */
[hidden]{display:none !important;}
.form-2 .sub-h.span-2,.form-2 .span-2{grid-column:1 / -1;}
.form-2 > .sub-h{margin:6px 0 0;}
.phone-row{display:flex;gap:6px;align-items:center;}
.phone-row select,.rep-phone select.dial{height:36px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:13px;padding:0 6px;background:#fff;flex:0 0 150px;max-width:150px;min-width:0;}
.phone-row input{flex:1 1 auto;min-width:0;}
.rep-row .dial{flex:0 0 140px;max-width:140px;}
.rep-phone input[name$="[number]"]{flex:1 1 140px;}
.rep-phone select.input-sm{flex:0 0 106px;}
.phones{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);}
.phones .rep-rows{gap:6px;margin-bottom:4px;}
.rep-head{display:flex;gap:6px;padding:0 2px 4px;color:var(--muted);}
.rep-rate{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(160px,1.6fr) 96px 96px 64px 36px;gap:6px;align-items:center;}
.rep-rate input,.rep-rate select{width:100%;}
.rep-rate .check{font-size:12px;white-space:nowrap;}
.rep-row.rep-rate input:first-child{flex:none;}
.rep-fee select{flex:0 1 220px;height:34px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:13px;}
.rep-fee input:first-child{flex:1 1 200px;}
.dist-cell{display:inline-flex;flex-direction:column;gap:2px;}
.dist-cell .hint{margin:0;font-size:11px;line-height:1.1;}
.js-dist-eq{color:var(--sand);}
.bf-grid-3{grid-template-columns:1fr;}
.bf-grid-3 .bf-day{grid-template-columns:78px 1fr 1fr 1fr;}
.bf-grid-3 .bf-day input:not([type=time]){height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;}
.bf-head small{color:var(--muted);font-size:11px;}
.ocr-box{border:1px dashed var(--line-2);border-radius:10px;padding:10px;background:var(--canvas);display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.ocr-box input[type=file]{font-size:12.5px;max-width:100%;}
.ocr-status{color:var(--muted);}
.ocr-status.ok{color:#1b7f4b;}
.ocr-status.warn{color:#9a6400;}
.ocr-status.busy::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border:2px solid var(--sand);border-right-color:transparent;border-radius:50%;animation:ocrspin .8s linear infinite;vertical-align:-1px;}
@keyframes ocrspin{to{transform:rotate(360deg);}}
.ocr-filled{background:#fff8e1 !important;box-shadow:0 0 0 2px #f5c76b inset;}
.file-current{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.phone-line{display:flex;align-items:center;gap:4px;white-space:nowrap;}
.phone-line .material-symbols-rounded,.phone-line .material-symbols-outlined{font-size:15px;}
.table-scroll{overflow-x:auto;}
@media (max-width:900px){
  .rep-rate{grid-template-columns:1fr 1fr;}
  .rep-rate input[name$="[label]"]{grid-column:1 / -1;}
  .rep-head.rep-rate{display:none;}
  .bf-grid-3 .bf-day{grid-template-columns:64px 1fr 1fr 1fr;}
  .phone-row select,.rep-phone select.dial,.rep-row .dial{flex-basis:110px;max-width:110px;}
}
/* v1.5.0 · ajustes de repetidores: casillas a tamaño normal y teléfono en una línea */
.rep-row input[type="checkbox"],.rep-row input[type="radio"],.rep-card input[type="checkbox"],.rep-card input[type="radio"]{width:16px;height:16px;min-width:16px;padding:0;border:none;flex:none;box-shadow:none;}
.rep-row.rep-phone{display:grid;grid-template-columns:140px minmax(0,1fr) 104px 34px;grid-template-areas:"dial num kind x";gap:6px;}
.rep-phone > select.dial{grid-area:dial;max-width:none;width:100%;}
.rep-phone > input{grid-area:num;width:100%;}
.rep-phone > select.input-sm{grid-area:kind;width:100%;}
.rep-phone > button{grid-area:x;}
.rep-foot .check{gap:6px;}
@media (max-width:900px){
  .rep-row.rep-phone{grid-template-columns:110px minmax(0,1fr) 34px;grid-template-areas:"dial num num" "kind kind x";}
}
.rep-head.rep-rate{display:grid;width:100%;box-sizing:border-box;padding:0 0 4px;}
@media (max-width:900px){
  .rep-head.rep-rate{display:none;}
  .rep-rate > select{grid-column:1 / -1;}
  .sub-h .small{display:block;width:100%;margin-left:0;}
}
@media (max-width:900px){ .rep-rows > .rep-rate{padding-bottom:10px;border-bottom:1px dashed var(--line-2);} }
/* v1.5.0 · fila de venue: nombre | distancia (con equivalencia debajo) | minutos | quitar */
.rep-row.rep-venue{display:grid;grid-template-columns:minmax(0,1fr) 110px 76px 34px;gap:6px;align-items:start;}
.rep-venue > input,.rep-venue .dist-cell input{width:100%;flex:none;height:34px;}
.rep-venue .dist-cell{display:flex;flex-direction:column;min-width:0;}
.rep-venue .dist-cell .hint:empty{display:none;}
@media (max-width:900px){ .rep-row.rep-venue{grid-template-columns:minmax(0,1fr) 92px 64px 34px;} }

/* ---------- v1.7.0 · Google, mapas, vuelos, paradas y documentos ---------- */
.gsearch{border:1px dashed var(--line-2);border-radius:10px;padding:10px;margin-bottom:12px;background:var(--canvas);}
.gsearch-row{display:flex;gap:6px;margin:6px 0 4px;}
.gsearch-row input{flex:1;min-width:0;height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 9px;font:inherit;font-size:13px;background:#fff;}
.gsearch-inline{border:none;padding:0;margin:4px 0 0;background:none;}
.gsearch-inline .gsearch-row{margin:0;}
.gresults{display:flex;flex-direction:column;gap:4px;margin-top:4px;}
.gres{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer;font:inherit;font-size:13px;}
.gres:hover{border-color:var(--sand);background:#f3f7fb;}
.gres .small{color:var(--muted);}
.gmsg{color:var(--muted);margin-top:2px;}
.geo-ok{color:#1b7f4b;display:flex;align-items:center;gap:4px;margin:-4px 0 10px;}
.geo-ok .material-symbols-rounded,.geo-ok .material-symbols-outlined{font-size:16px;}
.venue-cell{display:flex;flex-direction:column;gap:2px;min-width:0;}
.rep-venue .venue-cell .geo-ok{margin:0;font-size:11px;}
/* v1.8.0 · el nombre del venue no hereda la base de 180px del primer input de la fila (en columna se volvía altura) */
.rep-venue .venue-cell > input{flex:none;width:100%;height:34px;}
.airport-pick{border:1px dashed var(--line-2);border-radius:10px;padding:10px;background:var(--canvas);}
.airport-pick .gsearch-row{flex-wrap:wrap;}
.airport-pick .gsearch-row input{flex:1 1 220px;}
.gres .chip{margin-left:6px;vertical-align:1px;}
.gres.is-current{border-color:var(--sand);}
.map-card{margin-bottom:16px;}
.map-card > summary{cursor:pointer;list-style:none;}
.map-card > summary::-webkit-details-marker{display:none;}
.gmap,.gmap-canvas{width:100%;height:360px;border-radius:10px;}
.gmap{background:#eef2f6;position:relative;overflow:hidden;}
.gmap-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;text-align:center;color:var(--muted);font-size:13px;}
.map-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.map-legend .lg{display:inline-flex;align-items:center;gap:5px;}
.map-legend i{width:12px;height:12px;border-radius:50%;display:inline-block;}
.lg-hotel i{background:#00366F;} .lg-airport i{background:#B26B00;} .lg-venue i{background:#C2185B;}
@media (max-width:900px){ .gmap,.gmap-canvas{height:280px;} }
.venue-cell > input{width:100%;height:34px;}
.subtabs{display:flex;gap:4px;flex-wrap:wrap;padding:8px 16px 0;border-bottom:1px solid var(--line);}
.subtabs button{border:1px solid var(--line);border-bottom:none;background:var(--canvas);border-radius:8px 8px 0 0;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.subtabs button.active{background:#fff;color:var(--oxford);border-color:var(--line-2);box-shadow:0 2px 0 #fff;}
.bd-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.rep-row.rep-date{display:grid;grid-template-columns:160px minmax(0,1fr) 34px;gap:6px;}
.rep-date input{width:100%;}
@media (max-width:900px){ .rep-row.rep-date{grid-template-columns:140px minmax(0,1fr) 34px;} }
.seg-radio{display:flex;gap:16px;flex-wrap:wrap;} .client-toggle{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:14px;background:var(--canvas);} .client-toggle span{display:flex;flex-direction:column;} .client-toggle small{color:var(--muted);font-weight:400;}
.form-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;}
.est-box{margin-top:6px;padding-top:10px;border-top:1px dashed var(--line);}
.pax-card{margin-bottom:2px;}
.pax-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px;}
.pax-grid .fp-name{grid-column:span 2;}
.pax-money{grid-template-columns:repeat(6,minmax(0,1fr));}
.fp{display:flex;flex-direction:column;gap:3px;min-width:0;}
.fp > span{font-size:11px;color:var(--muted);font-weight:600;}
.fp input,.fp select{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;background:#fff;min-width:0;width:100%;}
.pax-tot b{font-size:13px;color:var(--oxford);padding-top:8px;}
.pax-more{margin:2px 0 4px;} .pax-more summary{cursor:pointer;color:var(--sand);}
.paste-box{margin-top:12px;border:1px dashed var(--line-2);border-radius:10px;padding:10px;}
.paste-box summary{cursor:pointer;display:flex;align-items:center;gap:6px;}
.paste-box textarea{width:100%;margin-top:8px;font:12px/1.4 ui-monospace,monospace;}
@media (max-width:900px){
  .form-3{grid-template-columns:1fr 1fr;}
  .pax-grid,.pax-money{grid-template-columns:1fr 1fr;}
}
.add-transport > summary{list-style:none;cursor:pointer;display:inline-flex;margin-bottom:8px;} .add-transport > summary::-webkit-details-marker{display:none;} .add-transport form{margin-top:4px;}
.track{display:flex;flex-direction:column;gap:10px;}
.track-stop{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;break-inside:avoid;}
.track-n{width:28px;height:28px;border-radius:50%;background:var(--oxford);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none;}
.track-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.track-t{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.st-cancelado{opacity:.6;} .st-cancelado .track-n{background:#b42318;} .st-reagendado .track-n{background:#b26b00;} .st-libre .track-n{background:#6b7280;}
.pax-row td{padding-top:0;color:var(--muted);}
.share-body .print-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.share-missing{text-align:center;padding:60px 16px;} .share-missing h1{font-size:22px;margin:16px 0 8px;}
tr.muted td{opacity:.55;}
@media print{ .map-card{break-inside:avoid;} .map-card .gmap{height:300px;} }
.internal-flag{display:flex;align-items:center;gap:6px;background:#fff4e5;border:1px solid #f5c76b;color:#7a4b00;border-radius:8px;padding:8px 12px;font-size:12.5px;margin:8px 0 14px;}
.doc-h3{font-size:14px;margin:14px 0 4px;color:var(--oxford);} .doc-h3 small{font-weight:500;color:var(--muted);font-size:12px;}
.small-table th,.small-table td{font-size:11.5px;padding:5px 6px;}
.share-url{width:100%;min-width:220px;height:32px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:12px ui-monospace,monospace;background:var(--canvas);}
.stop-panel td{background:var(--canvas);} .stop-forms form{padding:12px 4px 4px;} .radio-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px;} .cc.st-cancelado{opacity:.55;} .cc .step .chip{margin-left:4px;}

/* ===== v1.8.0 · transportes por tipo, venue y aeropuerto ===== */
.form-3 > .span-2{grid-column:span 2;}
.form-3 > .span-3,.tf-total.span-3{grid-column:1 / -1;}
@media (max-width:900px){ .form-3 > .span-2{grid-column:1 / -1;} }
.tf-money{margin-top:4px;padding-top:12px;border-top:1px dashed var(--line-2);}
.tf-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;background:var(--canvas);border-radius:10px;padding:10px 12px;}
.tf-total > span:first-child{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.tf-total b{font-size:18px;color:var(--oxford);}
.transport-table td{vertical-align:top;}
.transport-table td b .material-symbols-rounded,.transport-table td b .material-symbols-outlined{font-size:18px;vertical-align:-4px;}
.transport-table .chip{margin-left:4px;}
.transport-table .mg,.small.mg{color:#1f7a45;}
tr.row-cancelled td{opacity:.55;}
tr.row-cancelled td.actions{opacity:1;}
.rep-row.rep-tpax{display:grid;grid-template-columns:minmax(0,2fr) 90px minmax(0,1fr) minmax(0,1.4fr) 34px;gap:6px;}
.rep-row.rep-tpax input{width:100%;flex:none;}
@media (max-width:900px){ .rep-row.rep-tpax{grid-template-columns:minmax(0,1fr) 90px 34px;} .rep-row.rep-tpax input:nth-child(3),.rep-row.rep-tpax input:nth-child(4){grid-column:1 / 3;} }
.dist-col div{white-space:nowrap;}
.venue-search .gsearch-row input{font-size:14px;}
.recalc-form{max-width:100%;}
.recalc-form .btn{white-space:normal;height:auto;min-height:32px;text-align:left;padding-top:6px;padding-bottom:6px;}
.venue-cell .gsearch-inline{width:100%;}
.transport-table td.amounts{white-space:nowrap;}
.transport-table td.amounts b,.transport-table td.amounts span{display:block;}
.transport-table td.amounts span{font-size:12px;color:var(--muted);}
.transport-table td.amounts span.mg{color:#1f7a45;}

/* ===== v1.9.0 · modales del sistema, botones de peligro y mapa general ===== */
.btn.btn-primary.danger{color:#fff;}
.btn.btn-primary.danger-bg:hover{filter:brightness(.92);}
.tmodal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;}
.tmodal[hidden]{display:none;}
.tmodal-back{position:absolute;inset:0;background:rgba(0,30,61,.45);backdrop-filter:blur(2px);}
.tmodal-box{position:relative;width:100%;max-width:420px;background:#fff;border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(0,30,61,.28);animation:tmIn .14s ease-out;}
.tmodal-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--blue-100);color:var(--oxford);margin-bottom:12px;}
.tmodal-box.is-danger .tmodal-ic{background:var(--red-bg);color:var(--red);}
.tmodal-box h3{margin:0 0 6px;font-size:17px;color:var(--oxford);}
.tmodal-box p{margin:0 0 18px;font-size:14px;line-height:1.5;color:var(--ink,#1f2937);}
.tmodal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
html.tmodal-open{overflow:hidden;}
@keyframes tmIn{from{opacity:0;transform:translateY(6px) scale(.98);}to{opacity:1;transform:none;}}
@media (max-width:480px){ .tmodal{align-items:flex-end;padding:0;} .tmodal-box{max-width:none;border-radius:16px 16px 0 0;padding-bottom:22px;} .tmodal-actions .btn{flex:1;justify-content:center;} }
.fx-suggest{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;color:var(--muted);}
.fx-suggest .fx-opt{display:inline-flex;align-items:center;gap:4px;}
.fx-suggest b{color:var(--oxford);}
.btn.btn-xs{height:24px;padding:0 8px;font-size:12px;border-radius:6px;}
.ov-dist{font-size:11.5px;margin:0 0 4px 22px;}

/* ===== v1.10.0 · hoteles sugeridos cerca del venue ===== */
.hotel-suggest{border-top:1px dashed var(--line-2);}
.hotel-suggest .hs-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;}
.hotel-suggest .gsearch-row{margin:0;}
.hotel-suggest select{height:32px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;font:inherit;font-size:13px;background:#fff;}
.hs-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;}
.hs-card{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;}
.hs-card.is-cat{border-color:#b9cde3;background:#f6f9fc;}
.hs-main{min-width:0;}
.hs-meta{color:var(--ink,#1f2937);margin-top:2px;}
.hs-dist{color:var(--oxford);font-weight:600;margin-top:2px;}
.hs-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;}
@media (max-width:640px){ .hs-card{flex-direction:column;} .hs-side{align-items:flex-start;flex-direction:row;flex-wrap:wrap;} }

/* ===== v1.11.0 · unidades visibles en venues ===== */
.unit-in{position:relative;display:block;min-width:0;}
.unit-in input{width:100%;height:34px;padding-right:32px !important;}
.unit-in .u{position:absolute;right:8px;top:9px;font-size:11px;font-weight:600;color:var(--muted);pointer-events:none;}
.rep-venue .unit-in input{flex:none;}

.flights-table tr.opt-group td{background:var(--canvas);font-size:13px;}
.flights-table tr.opt-off td{opacity:.6;}
.flights-table .opt-tags{margin-top:4px;display:flex;gap:4px;flex-wrap:wrap;}
.rates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;}
.rate-cell{display:flex;flex-direction:column;gap:2px;font-weight:600;}
.rate-cell input{height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 9px;font:inherit;font-weight:400;}

/* ===== v1.11.0 · propuesta interactiva del cliente ===== */
.opt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:8px 0 12px;}
.opt-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;break-inside:avoid;page-break-inside:avoid;font-weight:400;margin:0;}
.opt-card.is-choosable{cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.opt-card.is-choosable:hover{border-color:var(--sand);}
.opt-card.is-picked,.opt-card:has(input[type=radio]:checked){border-color:var(--sand);box-shadow:0 0 0 2px rgba(0,75,138,.15);}
.opt-card-head{display:flex;align-items:flex-start;gap:10px;}
.opt-card-head input[type=radio]{margin-top:3px;width:18px;height:18px;}
.opt-card-title{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.opt-card-title b{font-size:14px;color:var(--oxford);}
.opt-rates{width:100%;border-collapse:collapse;font-size:12.5px;}
.opt-rates td{padding:4px 0;border-bottom:1px dashed var(--line);}
.opt-rates td.num{text-align:right;white-space:nowrap;}
.opt-rates .opt-total td{border-bottom:none;padding-top:6px;}
.opt-incl{background:var(--canvas);border-radius:8px;padding:8px 10px;}
.opt-incl-t{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.opt-incl ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12.5px;}
.opt-incl li,.opt-notes{display:flex;gap:6px;align-items:flex-start;}
.opt-incl .material-symbols-outlined,.opt-notes .material-symbols-outlined{font-size:16px;color:var(--sand);margin-top:1px;}
.opt-notes{font-size:12.5px;background:#fff8e6;border-radius:8px;padding:7px 10px;color:#6b4a00;}
.flight-opts tr.is-picked td{background:#eef6ee;}
.flight-opts .w-radio{width:30px;text-align:center;}
.flight-opts label{cursor:pointer;margin:0;font-weight:inherit;}
.choice-banner{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:10px 14px;margin:0 0 16px;font-size:13px;}
.choice-banner.is-ok{background:#e8f5ec;color:#1d5e33;} .choice-banner.is-error{background:var(--red-bg);color:var(--red);} .choice-banner.is-info{background:var(--blue-050);color:var(--oxford);}
.choice-help{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--oxford);background:var(--blue-050);border-radius:10px;padding:9px 12px;}
.choice-send{border:1px solid var(--line);border-radius:12px;padding:14px;}
@media print{ .no-print{display:none!important;} .opt-cards{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .opt-cards{grid-template-columns:1fr;} }
.hotel-suggest .gsearch-row{flex-wrap:wrap;} .hotel-suggest .js-hs-chain{flex:1 1 220px;}
.summary-table tfoot td{background:var(--blue-050);font-weight:600;}
.sum-note{color:#6b4a00;background:#fff8e6;border-radius:6px;padding:3px 8px;margin-top:4px;display:inline-block;}
.sum-totals{margin:14px 0 0 auto;min-width:300px;border-collapse:collapse;font-size:13.5px;}
.sum-totals td{padding:6px 10px;border-bottom:1px solid var(--line);} .sum-totals td.num{text-align:right;white-space:nowrap;}
.sum-totals .sum-grand td{font-size:16px;font-weight:700;color:var(--oxford);border-bottom:2px solid var(--oxford);}
.choice-change{margin:18px 0;border:1px dashed var(--line-2);border-radius:12px;padding:10px 14px;}
.choice-change > summary{cursor:pointer;font-weight:600;color:var(--sand);display:flex;align-items:center;gap:6px;list-style:none;}
.choice-change[open] > summary{margin-bottom:10px;}
@media (max-width:640px){ .sum-totals{min-width:0;width:100%;} }
.share-body .print-bar.share-bar{justify-content:flex-end;}
.tw-row .gsearch-row{flex-wrap:wrap;} .tw-row .js-tw-url{flex:1 1 260px;min-width:0;}

/* ===== v1.13.0 · clientes: contactos y perfiles de facturación ===== */
.client-contact .form-3{margin-bottom:6px;}
.profile-list{display:flex;flex-direction:column;gap:12px;}
.profile-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.profile-card.is-off{opacity:.6;}
.profile-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;}
.profile-head b{color:var(--oxford);}
.dl-compact dt{font-size:12px;} .dl-compact dd{font-size:13px;}
.profile-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.contact-item{padding:8px 0;border-bottom:1px solid var(--line);} .contact-item:last-child{border-bottom:none;}
.contact-lines{display:flex;flex-direction:column;gap:2px;margin-top:4px;} .contact-lines .material-symbols-outlined{font-size:15px;vertical-align:-3px;color:var(--muted);}
.brand-tabs{margin:0 0 14px;} .viewtabs a{font-size:13px;font-weight:600;color:var(--muted);padding:6px 12px;border-radius:7px;text-decoration:none;} .viewtabs a.active{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(0,0,0,.08);} .emisor-line{display:flex;gap:6px;align-items:center;background:var(--blue-050);border-radius:8px;padding:7px 10px;margin-bottom:10px;}
/* Marcas */
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.brand-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;color:inherit;text-decoration:none;}
.brand-card.is-off{opacity:.6;} .brand-card:hover{border-color:var(--sand);}
.brand-preview{height:84px;display:flex;align-items:center;justify-content:center;padding:12px;} .brand-preview img{max-height:44px;max-width:90%;}
.brand-bar{height:44px;display:flex;align-items:center;padding:0 14px;} .brand-bar img{max-height:24px;max-width:70%;}
.brand-meta{padding:10px 14px;display:flex;flex-direction:column;gap:4px;}
.swatch{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.12);margin-right:3px;vertical-align:middle;}
.color-in{display:flex;gap:6px;align-items:center;} .color-in input[type=color]{width:38px;height:34px;padding:0;border:1px solid var(--line-2);border-radius:8px;background:#fff;cursor:pointer;}
.logo-current{border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:6px;display:flex;justify-content:center;} .logo-current img{max-height:40px;max-width:100%;}
.bp-page{--p:#00366F;--s:#004B8A;--a:#EAF1F8;--bg:#F6F8FB;--t:#141B24;background:var(--bg);color:var(--t);border-radius:10px;padding:14px;}
.bp-head{display:flex;justify-content:space-between;align-items:center;gap:8px;} .bp-head img{max-height:30px;max-width:60%;} .bp-title{font-weight:700;color:var(--p);font-size:13px;}
.bp-rule{height:2px;background:var(--p);margin:10px 0;} .bp-h2{font-weight:700;color:var(--p);margin-bottom:6px;}
.bp-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;} .bp-table th{background:var(--a);text-align:left;padding:5px;} .bp-table td{padding:5px;border-top:1px solid #eee;}
.bp-btn{display:inline-block;margin-top:10px;background:var(--s);color:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;}
/* Marca en vistas al cliente */
.branded.print-body,.branded .print-bar{background:var(--brand-bg);}
.branded .btn-primary{background:var(--sand);color:var(--brand-on-secondary);}
.doc-head .doc-logo{height:44px;width:auto;max-width:min(320px,70vw);object-fit:contain;}
.brand-chip{display:inline-flex;align-items:center;gap:4px;font-weight:600;}
.dup-brand{position:relative;display:inline-block;} .dup-brand > summary{list-style:none;} .dup-brand > summary::-webkit-details-marker{display:none;}
.dup-brand-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:12px;width:300px;display:flex;flex-direction:column;gap:6px;}
@media (max-width:640px){ .dup-brand-pop{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto;} }
.a-link{color:var(--sand);cursor:pointer;font-weight:600;}
.currency-box{border-bottom:1px solid var(--line);} .static-field{min-height:34px;display:flex;align-items:center;font-size:13px;} .rate-entry{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:6px;}
.opt-fees{background:#f4f6f9;border-radius:8px;padding:7px 10px;font-size:12.5px;} .opt-fees.is-excluded{background:#fff4e5;}
.fee-line{display:flex;justify-content:space-between;gap:8px;} .fee-small{color:var(--muted);margin-top:2px;} .fee-small.is-excluded{color:#7a4b00;}
.travel-legend{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);} .travel-legend .material-symbols-outlined{font-size:16px;}
/* v1.14 · sugeridos: filtros y «Ver más» */
.hs-filters{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;}
.hs-fgroup{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.hs-tog{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;}
.hs-fgroup .input-sm{width:96px;}
.hs-fgroup select.input-sm{width:auto;}
.hs-rate{color:#1f6f43;font-weight:600;margin-top:2px;}
.hs-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;flex-wrap:wrap;}
.hs-none{padding:8px 2px;}
.nights-matrix th{white-space:nowrap;} .nights-matrix .cell-in{width:58px;}
/* v1.14 · versión enviada, documentos, aviso de evidencia */
.version-flag{display:flex;gap:10px;align-items:flex-start;background:#fff8e6;border:1px solid #f1d38a;border-radius:10px;padding:10px 12px;margin-bottom:16px;font-size:14px;}
.evidence-banner{display:flex;gap:12px;align-items:flex-start;border:1px solid #b9cde3;background:#f3f8fd;border-radius:12px;padding:12px 14px;margin:0 0 16px;}
.evidence-banner .ev-body{flex:1;min-width:0;}
.evidence-banner form.ev-form{display:grid;grid-template-columns:150px 140px 1fr;gap:8px;margin-top:8px;align-items:start;}
.evidence-banner .ev-form textarea{grid-column:1/-1;}
.evidence-banner .ev-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
@media (max-width:640px){ .evidence-banner form.ev-form{grid-template-columns:1fr;} }
.doc-sections{display:grid;gap:16px;}
.doc-row{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 14px;border-top:1px solid var(--line);}
.doc-row:first-child{border-top:0;}
.doc-row.is-old{background:#fafbfc;color:var(--muted,#667085);}
.doc-row .doc-main{min-width:0;flex:1;}
.doc-row .doc-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;}
.doc-history summary{cursor:pointer;padding:8px 14px;font-size:13px;color:var(--oxford);}
.doc-add{border-top:1px solid var(--line);}
.doc-add form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;}
.doc-add form .full{grid-column:1/-1;}
@media (max-width:760px){ .doc-add form{grid-template-columns:1fr;} .doc-row{flex-direction:column;} .doc-row .doc-side{align-items:flex-start;flex-direction:row;flex-wrap:wrap;} }
.doc-replace{margin-top:4px;}
.doc-replace form{display:flex;flex-direction:column;gap:6px;min-width:220px;}
.send-pop{position:relative;display:inline-block;}
.send-pop .dup-brand-pop{min-width:260px;}
.share-og{color:var(--oxford);margin-top:4px;}
.share-og-edit summary{cursor:pointer;color:var(--oxford);margin-top:4px;}
.share-og-form{display:flex;flex-direction:column;gap:6px;max-width:520px;margin-top:6px;}
.share-og-in{flex:1 1 200px;min-width:0;}
.night-line{color:var(--oxford);}
.rn-nights{display:flex;flex-wrap:wrap;gap:6px;} .rn-add-form{margin-top:10px;} .opt-breakdown{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px;} .opt-breakdown .fee-line.is-excluded{color:var(--muted,#667085);} .cb-out{display:block;font-style:italic;} .cb-line{margin-top:3px;} .bf-grid{margin-top:4px;}
/* v1.14.1 · campos de archivo y formulario de evidencia con el estilo del sistema */
.form-row input[type=file]{height:auto;min-height:38px;padding:5px 6px;font-size:13px;color:var(--muted,#667085);}
.form-row input[type=file]::file-selector-button{height:28px;margin-right:10px;padding:0 12px;border:1px solid var(--line-2);border-radius:7px;background:#fff;color:var(--oxford);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
.form-row input[type=file]::file-selector-button:hover{background:var(--blue-050,#eaf1f8);}
.form-row input[type=date]{padding:0 8px;}
.evidence-banner form.ev-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:0 12px;}
.evidence-banner .ev-form .form-row{margin-bottom:8px;}
.evidence-banner .ev-form .ev-desc{grid-column:1/-1;}
.evidence-banner .ev-form textarea{width:100%;border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font:inherit;font-size:13.5px;background:#fff;resize:vertical;}
.evidence-banner > .material-symbols-outlined,.evidence-banner > svg{color:var(--oxford);}
@media (max-width:640px){ .evidence-banner form.ev-form{grid-template-columns:1fr;} }
.cb-mini{width:100%;border-collapse:collapse;margin-top:6px;font-size:12px;}
.cb-mini td{padding:2px 0;border-top:1px dotted var(--line);vertical-align:top;}
.cb-mini td.num{text-align:right;white-space:nowrap;padding-left:10px;}
.cb-mini small{color:var(--muted,#667085);}
.cb-mini tr.is-excluded td{color:var(--muted,#667085);}
.cb-mini .cb-out{display:block;font-style:italic;}
.cb-mini caption{text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085);padding-top:4px;}
.charges-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,1fr);gap:8px 24px;align-items:start;}
.charges-grid .sub-h:first-child{margin-top:0;}
.charges-grid .rep-fee{grid-template-columns:minmax(0,1.4fr) 90px minmax(0,1.3fr) auto;}
.charges-bf .form-3{grid-template-columns:1fr 1fr;}
.charges-bf .form-3 .form-row:last-child{grid-column:1/-1;}
.charges-bf .check{align-items:flex-start;}
@media (max-width:1100px){ .charges-grid{grid-template-columns:1fr 1fr;} .charges-bf{grid-column:1/-1;} }
@media (max-width:700px){ .charges-grid{grid-template-columns:1fr;} .charges-grid .rep-fee{grid-template-columns:1fr 90px auto;} .charges-grid .rep-fee select{grid-column:1/3;} }
.charges-grid .rep-fee{display:grid;gap:6px;align-items:center;} .charges-grid .rep-fee input,.charges-grid .rep-fee select{width:100%;min-width:0;}
.charges-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr) minmax(0,1fr);}
.charges-grid .rep-tax{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;gap:6px;}
.charges-grid .rep-tax input{width:100%;min-width:0;}
.charges-grid .rep-fee{grid-template-columns:minmax(0,1.2fr) 80px minmax(0,1.5fr) auto;}
.bf-check{display:flex;gap:8px;align-items:flex-start;margin:4px 0 8px;}
.bf-check span{display:flex;flex-direction:column;line-height:1.35;}
.bf-check small{color:var(--muted,#667085);font-size:11.5px;}
@media (max-width:1100px){ .charges-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:700px){ .charges-grid{grid-template-columns:1fr;} .charges-grid .rep-fee{grid-template-columns:1fr 80px auto;} .charges-grid .rep-fee select{grid-column:1/3;} }
.cat-banner{margin:0;} .cat-banner .btn{display:inline-flex;}
/* v1.14.3 · vuelos fijos al aceptar y formularios en ventanas emergentes */
.fixed-flights{margin:4px 0 10px;}
.flight-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.flight-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border:1px solid #b9cde3;background:var(--blue-050,#eaf1f8);border-radius:999px;font-size:12.5px;color:var(--oxford);}
.flight-tag .material-symbols-outlined{font-size:16px;}
.flight-tag span:last-child{color:var(--muted,#667085);}
.dup-brand-pop .form-row{margin-bottom:8px;width:100%;}
.dup-brand-pop .form-row label{font-size:12px;}
.send-pop .dup-brand-pop{min-width:300px;}
.dup-brand-pop select,.dup-brand-pop input:not([type=hidden]):not([type=checkbox]):not([type=radio]){width:100%;height:38px;border:1px solid var(--line-2);border-radius:8px;padding:0 10px;font:inherit;font-size:13.5px;background:#fff;}
.dup-brand-pop select:focus,.dup-brand-pop input:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px rgba(0,75,138,.12);}
.dup-brand-pop > label.small{font-size:12px;font-weight:600;color:var(--ink);}
.full-hotel-info{display:grid;gap:3px;font-size:12.5px;margin:4px 0 8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbfc;}
.full-hotel-info .fh-l{display:inline-block;min-width:130px;font-weight:700;color:var(--oxford);}
.nights-doc th,.nights-doc td{white-space:nowrap;}
/* v1.15 · selector de idioma en enlaces del cliente */
.share-bar .lang-switch{display:inline-flex;align-items:center;gap:2px;margin-right:auto;padding:2px;border:1px solid var(--line-2);border-radius:999px;background:#fff;}
.share-bar .lang-switch .material-symbols-outlined{font-size:17px;color:var(--muted,#667);padding:0 4px 0 6px;}
.share-bar .lang-switch a{font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 9px;border-radius:999px;color:var(--ink);text-decoration:none;}
.share-bar .lang-switch a.active{background:var(--oxford,#00366F);color:var(--brand-on-primary,#fff);}
.share-bar .lang-switch a:not(.active):hover{background:#eef1f5;}
/* v1.15 · ruta de la gira en cuadrícula ordenada (muchas paradas) */
.route-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;counter-reset:none;}
.route-grid .rg-stop{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 12px 10px;min-width:0;}
.route-grid .rg-stop.st-cancelado{opacity:.6;}
.route-grid .rg-head{display:flex;align-items:flex-start;gap:9px;}
.route-grid .rg-n{flex:0 0 26px;height:26px;border-radius:50%;background:var(--oxford);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.route-grid .rg-city{flex:1;min-width:0;font-size:14px;line-height:1.25;}
.route-grid .rg-ven{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.route-grid .rg-row{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--ink);}
.route-grid .rg-row .material-symbols-outlined{font-size:15px;color:var(--sand);margin-top:1px;}
.route-grid .rg-hotel span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.route-grid .rg-foot{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px;}
@media (max-width:640px){.route-grid{grid-template-columns:1fr;}}
.opt-table td.amounts span.mg-note{font-size:10.5px;color:var(--muted);}
/* v1.15 · habitaciones requeridas, cotizado vs real, lo cotizado en pagos */
.coverage-card .mini-progress.big{margin:0;}
.cov-table tr.cov-missing td:first-child{box-shadow:inset 3px 0 0 #c0392b;}
.cov-table .ok-ic{color:#1f7a45;font-size:18px;vertical-align:middle;}
.ok-t{color:#1f7a45;}
.cov-nights summary{cursor:pointer;margin-bottom:8px;}
.table-scroll{overflow-x:auto;max-width:100%;}
.cov-night-table th,.cov-night-table td{white-space:nowrap;font-size:12px;}
.cov-night-table td.cov-cell-miss{background:#fdecea;color:#a12a1d;font-weight:700;}
.cmp-table td.cmp-up{color:#a12a1d;font-weight:600;}
.cmp-table td.cmp-down{color:#1f7a45;font-weight:600;}
.quoted-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.quoted-kv > div{display:flex;flex-direction:column;gap:2px;}
.quoted-kv span{font-size:11.5px;color:var(--muted);}
.quoted-kv b{font-size:15px;}
.quoted-kv small{font-size:11px;color:var(--muted);}
.file-pick{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;}
.file-pick .form-row{flex:1 1 260px;margin:0;}
.import-sep{padding-top:0;padding-bottom:0;}
/* v1.15 · estatus y confirmación de vuelos */
.flight-conf{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.flight-conf > div{display:flex;flex-direction:column;gap:3px;}
.flight-conf span{font-size:11.5px;color:var(--muted);}
.flight-conf b{font-size:15px;}
.flight-conf small{font-size:11px;color:var(--muted);}
.flight-status-card.st-cancelado{border-color:#e7b4ad;}
.flights-table tr.fl-cancel td{opacity:.55;}
.flights-table tr.fl-cancel td:first-child b{text-decoration:line-through;}
.fl-conf-bar{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:12.5px;}
.fl-conf-bar .mini-progress{width:120px;}
/* v1.15 · editar y eliminar documentos */
.doc-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end;}
.doc-edit-form{display:flex;flex-direction:column;gap:6px;min-width:260px;max-width:360px;margin-top:6px;text-align:left;}
.doc-edit-form .form-row{margin:0;}
.doc-edit-form textarea,.doc-edit-form input,.doc-edit-form select{width:100%;}
.doc-edit[open]{flex-basis:100%;}
.btn.danger,.btn.btn-ghost.danger{color:#a12a1d;}
/* v1.15 · calendario de giras */
.cal-types{display:flex;gap:6px;flex-wrap:wrap;}
.cal-type{display:inline-flex;align-items:center;gap:4px;font-size:12px;border:1px solid var(--line-2);border-radius:999px;padding:3px 10px 3px 6px;background:#fff;cursor:pointer;user-select:none;}
.cal-type .material-symbols-outlined{font-size:15px;color:var(--muted);}
.cal-type input{margin:0;accent-color:var(--oxford);}
.cal-legend{display:flex;gap:6px 14px;flex-wrap:wrap;margin:-2px 0 12px;}
.cal-tour{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink);text-decoration:none;}
.cal-tour i{width:12px;height:12px;border-radius:3px;background:var(--tc);}
.cal-tour small{font-weight:500;color:var(--muted);}
.tcal{display:flex;flex-direction:column;gap:6px;}
.tcal-dow,.tcal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
.tcal-dow div{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:center;}
.tcal-day{border:1px solid var(--line);border-radius:8px;min-height:104px;padding:5px;background:#fff;display:flex;flex-direction:column;gap:3px;min-width:0;}
.tcal-day.out{background:var(--canvas,#f6f8fb);}
.tcal-day.out .tcal-dn{opacity:.5;}
.tcal-day.today{border-color:var(--oxford);box-shadow:inset 0 0 0 1px var(--oxford);}
.tcal-n{display:flex;justify-content:space-between;align-items:center;}
.tcal-dn{font-size:11px;font-weight:700;color:var(--muted);}
.today .tcal-dn{color:var(--oxford);}
.tcal-mdow{display:none;font-size:11px;color:var(--muted);}
.tev{display:flex;align-items:flex-start;gap:3px;font-size:10.5px;line-height:1.25;font-weight:600;padding:2px 5px;border-radius:5px;text-decoration:none;color:#fff;background:var(--tc);min-width:0;}
.tev .material-symbols-outlined{font-size:12px;flex:none;margin-top:1px;}
.tev-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tev-t small{display:block;font-weight:500;opacity:.85;font-size:9.5px;overflow:hidden;text-overflow:ellipsis;}
.tev-stay{background:color-mix(in srgb,var(--tc) 14%,#fff);color:var(--tc);border-left:3px solid var(--tc);border-radius:3px;}
.tev-checkin,.tev-checkout{background:#fff;color:var(--tc);border:1px solid var(--tc);}
.tev-flight{background:color-mix(in srgb,var(--tc) 75%,#000);}
.tev-transport{background:color-mix(in srgb,var(--tc) 30%,#fff);color:color-mix(in srgb,var(--tc) 80%,#000);}
.tev.is-cancel{opacity:.5;text-decoration:line-through;}
.tcal.hide-stay .tev-stay,.tcal.hide-checkin .tev-checkin,.tcal.hide-checkout .tev-checkout,.tcal.hide-show .tev-show,.tcal.hide-flight .tev-flight,.tcal.hide-transport .tev-transport{display:none;}
.tour-cal-months{display:grid;gap:18px;}
.tour-cal-months h4{margin:0 0 8px;font-size:14px;}
@media (max-width:760px){
  .tcal-dow{display:none;}
  .tcal-week{grid-template-columns:1fr;gap:4px;}
  .tcal-day{min-height:0;}
  .tcal-day:not(.has-ev){display:none;}
  .tcal-day.out{display:none;}
  .tcal-mdow{display:inline;}
  .tcal .tcal-empty{display:block;}
}
.tcal-empty{display:none;}
.cmp-table td.num,.cmp-table th.num,.breakdown td.num{white-space:nowrap;}
.notice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--blue-050,#eaf1f8);color:var(--ink);}
.notice .material-symbols-outlined{font-size:18px;color:var(--oxford);}
.flt-dates{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;}
.list-table td.strong{min-width:110px;}
@media (max-width:760px){ .filterbar .flt-dates{flex:1 1 100%;} .filterbar .flt-dates input[type="date"]{flex:1 1 0;min-width:0;} }
.list-table td.list-tour{min-width:150px;}
/* v1.15 · listados: cliente y artista primero, marca como etiqueta */
.list-table td.who{min-width:170px;}
.list-table td.who b{display:block;font-size:14px;color:var(--ink);line-height:1.3;}
.who-artist{display:flex;align-items:center;gap:3px;margin-top:2px;font-size:13px;font-weight:600;color:var(--oxford);}
.who-artist .material-symbols-outlined{font-size:15px;opacity:.75;}
.list-table td.what{min-width:180px;}
.what-name{display:block;font-size:13px;color:var(--ink);line-height:1.35;}
.what-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;}
.what-meta .mono{font-family:inherit;font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;}
.brand-tag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;line-height:1;padding:3px 7px 3px 5px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);background:#fff;white-space:nowrap;}
.brand-tag i{width:7px;height:7px;border-radius:50%;background:var(--bc,#00366F);}
.kcard .km.what-meta{display:flex;margin-top:4px;}
.kcard .who-artist{font-size:12.5px;margin:0 0 4px;}
.cal-nav[disabled]{opacity:.35;cursor:default;}
.tour-cal-month[hidden]{display:none;}
/* v1.16 · menú de secciones de la gira */
.tour-tabs{position:sticky;top:0;z-index:20;background:var(--canvas,#f6f8fb);}
.tour-tabs a .material-symbols-outlined{font-size:17px;vertical-align:-3px;margin-right:2px;}
.ttab[hidden]{display:none;}
.ttab > .grid,.ttab > .card,.ttab > div{scroll-margin-top:64px;}
/* v1.16 · rooming con tarifas: subtotales y totales */
.doc-table tfoot tr.tot td{font-weight:700;background:var(--blue-050);}
.doc-totals .tot-table{max-width:520px;margin-left:auto;}
.doc-totals .tot-table td.sub{padding-left:22px;color:var(--muted);}
.doc-totals .tot-table tr.tot td{font-weight:700;border-top:2px solid var(--ink);}
/* v1.16 · cargar itinerarios de vuelo */
.itin-import > summary{margin-bottom:4px;}
.itin-form{margin-top:10px;display:flex;flex-direction:column;gap:10px;}
.itin-src{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:12px;align-items:start;}
.itin-src textarea{width:100%;font-size:12.5px;}
.itin-src .btn{margin-top:6px;}
.itin-h{margin:6px 0 6px;font-size:13.5px;display:flex;align-items:center;gap:6px;}
.itin-h .material-symbols-outlined{font-size:18px;color:var(--oxford);}
.itin-legs input,.itin-legs select,.itin-pax input{width:100%;min-width:0;font-size:12.5px;padding:5px 7px;}
.itin-legs td,.itin-pax td{padding:4px 5px;vertical-align:middle;}
.itin-legs input.input-xs{min-width:62px;}
.itin-legs input[type=date]{min-width:128px;}
.itin-legs input[type=time]{min-width:86px;}
.itin-legs tr.itin-incomplete td{background:#fff6e5;}
.itin-extra{margin-top:4px;}
.itin-docs ul,.itin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;}
.itin-raw{white-space:pre-wrap;font-size:11px;max-height:220px;overflow:auto;background:var(--canvas,#f6f8fb);padding:8px;border-radius:8px;}
@media (max-width:760px){.itin-src{grid-template-columns:1fr;}}
/* v1.16 · rooming con tarifas: compacto para que quepa en la hoja */
.doc-table.rooming-rates{width:100%;table-layout:fixed;font-size:11px;}
.doc-table.rooming-rates th,.doc-table.rooming-rates td{padding:6px 5px;}
.doc-table.rooming-rates td{overflow-wrap:anywhere;}
.doc-table.rooming-rates th.num{text-align:right;}
.doc-table.rooming-rates th{font-size:9.5px;line-height:1.2;}
.doc-table.rooming-rates td.num{white-space:nowrap;}
.doc-table.rooming-rates th{white-space:normal;}
.doc-table.rooming-rates .rr-sub{font-size:10px;color:var(--muted);margin-top:2px;}
/* v1.17 · itinerario en cada vuelo y pasajero; vuelo cotizado con datos mínimos */
.itin-chip{display:inline-flex;align-items:center;gap:3px;max-width:100%;font-size:11.5px;line-height:1.3;padding:1px 7px;border-radius:999px;background:var(--blue-050);color:var(--blue-d);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;margin-top:3px;}
.itin-chip .material-symbols-outlined{font-size:14px;}
a.itin-chip:hover{background:var(--blue-100);}
.fl-pax{margin-top:4px;}
.fl-pax > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.fl-pax > summary::-webkit-details-marker{display:none;}
.fl-pax ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}
.fl-pax li{font-size:12.5px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:3px 0;border-top:1px dashed var(--line);}
.fl-pax .fl-pax-n{font-weight:600;}
.fl-names{margin-top:4px;color:var(--muted);}
.fl-names .material-symbols-outlined,.fl-pax .material-symbols-outlined{font-size:15px;vertical-align:-3px;}
.fl-more{margin:4px 0 10px;}
.fl-more > summary{cursor:pointer;margin-bottom:8px;}
.itin-where{margin:8px 0 0;}
/* v1.17 · aviso de cambio: notificación compacta, el formulario solo se abre a petición */
.evidence-banner.ev-note{padding:9px 12px;align-items:center;}
.evidence-banner.ev-note > .material-symbols-outlined{color:var(--blue);}
.ev-note .ev-line{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.ev-note .ev-text{min-width:0;flex:1;}
.ev-note .ev-dismiss{margin:0;}
.ev-note .ev-details > summary{cursor:pointer;margin-top:2px;display:inline-flex;align-items:center;gap:4px;}
.ev-note .ev-details > summary .material-symbols-outlined{font-size:16px;}
.ev-note .ev-details[open] > summary{margin-bottom:6px;}
/* v1.17 · enviar al cliente por correo o WhatsApp */
.share-send{border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;}
.share-send-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;}
.share-send-h .material-symbols-outlined{font-size:18px;vertical-align:-4px;color:var(--blue);}
.share-send-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;}
.share-send-box{flex:0 1 auto;}
.share-send-box[open]{flex:1 1 100%;order:-1;}
.share-send-box > summary{list-style:none;}
.share-send-box > summary::-webkit-details-marker{display:none;}
.share-send-form{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);display:flex;flex-direction:column;gap:2px;max-width:720px;}
.share-send-form textarea{width:100%;}
.share-send-form .check{margin:4px 0;}
.share-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.share-picks .chip{cursor:pointer;border:1px solid var(--line-2);}
.share-picks .chip .material-symbols-outlined{font-size:14px;vertical-align:-2px;}
.share-picks .chip.is-picked{background:var(--blue-050);border-color:var(--blue-100);}
.btn-wa .material-symbols-outlined{color:#128c4b;}
.btn-wa-go{background:#128c4b;}
.btn-wa-go:hover{background:#0e6f3b;}
.share-sends ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.share-sends li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;}
/* v1.18 · Búsqueda de hoteles y vuelos (modal estilo Google Travel) */
.tsx-lock,.tsx-lock body{overflow:hidden;}
.tsx-cta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;border-top:1px dashed var(--line);}
.tsx-cta .tsx-open .material-symbols-outlined{color:var(--blue);}
.tsx-scrim{padding:2vh 2vw;align-items:stretch;}
.modal.tsx{max-width:1180px;max-height:none;height:96vh;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;}
.tsx-h{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-bottom:1px solid var(--line);flex:0 0 auto;}
.tsx-tabs{display:flex;gap:4px;background:var(--canvas);padding:4px;border-radius:999px;}
.tsx-tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:7px 16px;border-radius:999px;font:inherit;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;}
.tsx-tab .material-symbols-outlined{font-size:19px;}
.tsx-tab.is-on{background:#fff;color:var(--blue-d);box-shadow:0 1px 3px rgba(20,32,46,.15);}
.tsx-title{flex:1;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tsx-demo{flex:0 0 auto;margin:10px 14px 0;padding:8px 12px;border-radius:10px;background:#fff6e0;color:#7a5200;font-size:12.5px;display:flex;gap:6px;align-items:center;}
.tsx-demo .material-symbols-outlined{font-size:18px;}
.tsx-pane{flex:1 1 auto;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;}
.tsx-pane[hidden]{display:none;}
.tsx-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:10px;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 6px rgba(20,32,46,.08);background:#fff;}
.tsx-f{display:flex;flex-direction:column;gap:2px;min-width:130px;flex:0 1 auto;}
.tsx-f > span{font-size:11px;font-weight:600;color:var(--muted);padding-left:2px;}
.tsx-f input,.tsx-f select{height:38px;}
.tsx-f.tsx-n{min-width:84px;width:90px;}
.tsx-f.tsx-city{min-width:200px;}
.tsx-f.tsx-grow{flex:1 1 200px;}
.tsx-f.tsx-ap{flex:1 1 160px;}
.tsx-go{height:38px;border-radius:999px;padding:0 18px;}
.tsx-swap{align-self:flex-end;height:38px;width:38px;border-radius:50%;border:1px solid var(--line-2);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--blue-d);}
.tsx-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.tsx-chipsel{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-2);border-radius:999px;padding:0 10px;height:34px;background:#fff;}
.tsx-chipsel .material-symbols-outlined{font-size:17px;color:var(--muted);}
.tsx-chipsel select,.tsx-chipsel input{border:0;background:transparent;height:30px;padding:0 2px;font-size:13px;box-shadow:none;outline-offset:2px;}
.tsx-chipsel.tsx-price input{width:64px;}
.tsx-chipsel select:disabled{color:var(--muted);}
.tsx-stars{display:inline-flex;gap:4px;}
.tsx-tog{position:relative;display:inline-flex;}
.tsx-tog input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.tsx-tog span{display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;font-size:13px;background:#fff;}
.tsx-tog input:checked + span{background:var(--blue-050);border-color:var(--blue);color:var(--blue-d);font-weight:600;}
.tsx-tog input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px;}
.tsx-status{font-size:12.5px;color:var(--muted);min-height:18px;}
.tsx-status.is-err{color:#b3261e;}
.tsx-status.is-warn{color:#8a5a00;}
.tsx-addbar{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;}
.tsx-addbar select{height:32px;width:auto;}
.tsx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.tsx-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .15s;}
.tsx-card:hover{box-shadow:0 6px 20px -8px rgba(20,32,46,.25);}
.tsx-skel{min-height:300px;background:linear-gradient(90deg,var(--canvas) 0%,#f7f9fb 50%,var(--canvas) 100%);background-size:200% 100%;animation:tsxSk 1.2s infinite linear;border:0;}
.tsx-frow.tsx-skel{min-height:74px;border-radius:14px;}
@keyframes tsxSk{from{background-position:200% 0;}to{background-position:-200% 0;}}
.tsx-gal{position:relative;aspect-ratio:16/10;background:var(--canvas);overflow:hidden;}
.tsx-gal img{width:100%;height:100%;object-fit:cover;display:block;}
.tsx-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--blue-d);background:linear-gradient(135deg,var(--blue-050),#f4f2ef);font-weight:700;letter-spacing:2px;}
.tsx-ph .material-symbols-outlined{font-size:34px;opacity:.6;}
.tsx-gal-b{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s;}
.tsx-gal-b.l{left:8px;}.tsx-gal-b.r{right:8px;}
.tsx-card:hover .tsx-gal-b,.tsx-gal-b:focus-visible{opacity:1;}
.tsx-gal-n{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:1px 7px;border-radius:999px;}
.tsx-cb{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.tsx-ct{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.tsx-stars-b{font-size:11.5px;color:#b07d00;}
.tsx-name{margin:0;font-size:15px;line-height:1.3;}
.tsx-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--ink-2,#3b4656);}
.tsx-rate b{background:var(--blue-d);color:#fff;border-radius:6px;padding:0 5px;font-size:12px;}
.tsx-dist{display:inline-flex;align-items:center;gap:2px;}
.tsx-dist .material-symbols-outlined{font-size:15px;color:var(--muted);}
.tsx-dist.is-near{color:#137a3b;font-weight:600;}
.tsx-dist.is-near .material-symbols-outlined{color:#137a3b;}
.tsx-amen{display:flex;flex-wrap:wrap;gap:4px;}
.tsx-amen span{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--canvas);color:var(--muted);}
.tsx-cf{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--line);}
.tsx-price{display:flex;flex-direction:column;}
.tsx-price b{font-size:17px;}
.tsx-acts{display:flex;gap:6px;}
.tsx-more{display:flex;justify-content:center;}
.tsx-empty{grid-column:1/-1;text-align:center;padding:30px;color:var(--muted);border:1px dashed var(--line-2);border-radius:14px;}
.tsx-legs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.tsx-leg{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;cursor:pointer;}
.tsx-leg.is-on,.tsx-leg:hover{border-color:var(--blue);background:var(--blue-050);}
.tsx-airlines{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;}
.tsx-rt{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13.5px;font-weight:600;}
.tsx-rt .material-symbols-outlined{font-size:18px;color:var(--muted);}
.tsx-flist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.tsx-flist:empty{display:none;}
.tsx-fh{padding:10px 16px 4px;font-weight:700;font-size:13px;background:var(--canvas);}
.tsx-frow{display:grid;grid-template-columns:44px minmax(180px,2fr) minmax(90px,1fr) minmax(110px,1.2fr) minmax(110px,1fr) auto;gap:6px 14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);background:#fff;}
.tsx-fh + .tsx-frow{border-top:0;}
.tsx-frow:hover{background:#fbfcfd;}
.tsx-flogo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:var(--blue-d);background:var(--blue-050);overflow:hidden;}
.tsx-flogo img{width:100%;height:100%;object-fit:contain;background:#fff;}
.tsx-ftime,.tsx-fdur,.tsx-fstop,.tsx-fprice{display:flex;flex-direction:column;min-width:0;}
.tsx-ftime b{font-size:15px;}
.tsx-fstop b.is-direct{color:#137a3b;}
.tsx-fprice{text-align:right;}
.tsx-fprice b{font-size:16px;}
.tsx-fdet{grid-column:2/-1;}
.tsx-fdet > summary{cursor:pointer;}
.tsx-leg-d{padding:4px 0;font-size:13px;}
.tsx-lay{padding:2px 0 2px 12px;border-left:2px dotted var(--line-2);}
@media (max-width:760px){
  .tsx-scrim{padding:0;}
  .modal.tsx{height:100vh;height:100dvh;border-radius:0;}
  .tsx-title{display:none;}
  .tsx-h{justify-content:space-between;}
  .tsx-f,.tsx-f.tsx-city{min-width:0;flex:1 1 40%;}
  .tsx-f.tsx-grow,.tsx-f.tsx-ap{flex:1 1 100%;}
  .tsx-swap{display:none;}
  .tsx-go{flex:1 1 100%;}
  .tsx-grid{grid-template-columns:1fr;}
  .tsx-frow{grid-template-columns:36px 1fr auto;}
  .tsx-fdur,.tsx-fstop{grid-column:2;}
  .tsx-fprice{grid-column:3;grid-row:1;}
  .tsx-fadd{grid-column:3;grid-row:2;}
  .tsx-fdet{grid-column:1/-1;}
}
.tsx-chipsel.tsx-price{flex-wrap:nowrap;white-space:nowrap;}
.tsx-chipsel.tsx-price input{width:62px;min-width:0;flex:0 0 62px;display:inline-block;padding:0 4px;}
.tsx-chipsel select{width:auto;}
.tsx-demo{display:block;}
.tsx-demo .material-symbols-outlined{vertical-align:-4px;}
.tsx-f input,.tsx-f select,.tsx-addbar select{width:100%;border:1px solid var(--line-2);border-radius:10px;padding:0 10px;font:inherit;font-size:13.5px;background:#fff;color:var(--ink);}
.tsx-f input:focus,.tsx-f select:focus,.tsx-addbar select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,75,138,.12);}
.tsx-addbar select{height:32px;width:auto;}
.tsx-chipsel select,.tsx-chipsel input{font:inherit;font-size:13px;color:var(--ink);}
.tsx-chipsel:focus-within{border-color:var(--blue);}
.tsx-chipsel select:focus,.tsx-chipsel input:focus{outline:none;}
.tsx-chipsel{flex-direction:row;}.tsx-chipsel > span{display:inline;}
.tsx-pane > *{flex-shrink:0;}
.found-ref{background:var(--blue-050);border-radius:10px;margin:0 0 8px;}.found-ref .material-symbols-outlined,.hint .material-symbols-outlined{font-size:15px;vertical-align:-3px;}
/* v1.18.1 · Hoteles: lista a la izquierda y mapa a la derecha; modo «A la redonda» con Google Maps */
.tsx-modes{display:inline-flex;gap:4px;background:var(--canvas);padding:4px;border-radius:12px;align-self:flex-start;flex-wrap:wrap;}
.tsx-mode{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:7px 14px;border-radius:9px;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;}
.tsx-mode .small{font-weight:400;opacity:.8;}
.tsx-mode .material-symbols-outlined{font-size:18px;}
.tsx-mode.is-on{background:#fff;color:var(--blue-d);box-shadow:0 1px 3px rgba(20,32,46,.15);}
.tsx-mode:disabled{opacity:.45;cursor:not-allowed;}
.tsx-is-map .tsx-onlyprices,.tsx-is-map [data-tsx-addbar]{display:none !important;}
.tsx-is-map [data-tsx-form="hotels"] input[type=date],.tsx-is-map [data-tsx-form="hotels"] .tsx-n{opacity:.45;}
.tsx-onlyprices{display:contents;}
.tsx-km input{width:64px;flex:0 0 64px;text-align:right;}
.tsx-kmq{display:inline-flex;gap:4px;}
.tsx-kmb{border:1px solid var(--line-2);background:#fff;border-radius:999px;height:30px;padding:0 10px;font:inherit;font-size:12.5px;cursor:pointer;}
.tsx-kmb:hover{border-color:var(--blue);background:var(--blue-050);}
.tsx-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:start;min-height:420px;}
.tsx-split.no-map{grid-template-columns:1fr;}
.tsx-split.no-map .tsx-mapcol{display:none;}
.tsx-listcol{min-width:0;display:flex;flex-direction:column;gap:10px;}
.tsx-list{display:flex;flex-direction:column;gap:10px;}
.tsx-mapcol{position:sticky;top:0;display:flex;flex-direction:column;gap:6px;}
.tsx-map{height:calc(96vh - 330px);min-height:360px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--canvas);}
.tsx-mapcanvas{width:100%;height:100%;}
.tsx-mapmsg{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font-size:13px;}
.tsx-legend{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);}
.tsx-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:-1px;margin-right:3px;}
.lg-venue{background:#C2185B;}.lg-air{background:#B26B00;}.lg-hotel{background:#00366F;}.lg-in{background:#137a3b;}
.tsx-item{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s;}
.tsx-item:hover{box-shadow:0 6px 18px -8px rgba(20,32,46,.25);}
.tsx-item.is-sel{border-color:var(--blue);box-shadow:0 0 0 2px rgba(0,75,138,.18);}
.tsx-item.is-place{grid-template-columns:minmax(0,1fr);padding-left:34px;}
.tsx-item.tsx-skel{min-height:150px;}
.tsx-item .tsx-gal{aspect-ratio:auto;height:100%;min-height:150px;}
.tsx-num{position:absolute;top:8px;left:8px;z-index:2;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--blue-d);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.tsx-item.is-place .tsx-num{top:14px;}
.tsx-item .tsx-cb{padding:10px 14px 12px;}
.tsx-item .tsx-name{font-size:14.5px;}
.tsx-maptoggle{display:none;align-self:flex-start;}
.tsx-iw{font-size:13px;max-width:220px;}
@media (max-width:900px){
  .tsx-split{grid-template-columns:1fr;}
  .tsx-mapcol{display:none;position:static;}
  .tsx-split.show-map .tsx-mapcol{display:flex;}
  .tsx-split.show-map .tsx-listcol{display:none;}
  .tsx-map{height:60vh;}
  .tsx-maptoggle{display:inline-flex;}
  .tsx-split.no-map ~ .tsx-maptoggle{display:none;}
}
@media (max-width:560px){
  .tsx-item{grid-template-columns:1fr;}
  .tsx-item .tsx-gal{aspect-ratio:16/9;height:auto;}
  .tsx-kmq{display:none;}
}
.tsx-maptoggle[hidden]{display:none !important;}
.tsx-km input{text-align:center;}
/* v1.18.2 · flechas de la galería siempre visibles (antes solo aparecían al pasar el mouse por la tarjeta) */
.tsx-gal-b{opacity:1;z-index:3;width:32px;height:32px;background:rgba(255,255,255,.95);color:#1d2433;box-shadow:0 1px 4px rgba(0,0,0,.35);}
.tsx-gal-b .material-symbols-outlined{font-size:22px;}
.tsx-gal-b:hover{background:#fff;transform:translateY(-50%) scale(1.08);}
.tsx-gal-b:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.tsx-gal-n{z-index:3;}
/* v1.18.3 · flechas de la galería casi transparentes y solo al pasar el mouse (en pantallas táctiles, tenues siempre) */
.tsx-gal-b{opacity:0;background:rgba(255,255,255,.72);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:opacity .15s,background .15s;}
.tsx-item:hover .tsx-gal-b,.tsx-card:hover .tsx-gal-b,.tsx-gal-b:focus-visible{opacity:.85;}
.tsx-gal-b:hover{opacity:1 !important;background:rgba(255,255,255,.95);}
@media (hover:none){.tsx-gal-b{opacity:.6;width:28px;height:28px;}}
/* v1.18.3 · hoteles: el mapa ocupa toda la altura disponible (como Google Hotels); la lista se desplaza sola */
@media (min-width:901px){
  .tsx-pane[data-tsx-pane="hotels"]{overflow:hidden;padding-bottom:0;}
  .tsx-pane[data-tsx-pane="hotels"] > .tsx-split{flex:1 1 auto;min-height:0;flex-shrink:1;align-items:stretch;margin:0 -14px;gap:0;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-top:1px solid var(--line);}
  .tsx-split .tsx-listcol{overflow-y:auto;min-height:0;padding:12px 12px 14px 14px;}
  .tsx-split .tsx-mapcol{position:relative;min-height:0;height:100%;top:auto;gap:0;}
  .tsx-split .tsx-map{height:100%;min-height:0;border:0;border-radius:0;border-left:1px solid var(--line);}
  .tsx-split .tsx-legend{position:absolute;left:10px;bottom:28px;z-index:2;background:rgba(255,255,255,.94);padding:5px 10px;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.18);}
  .tsx-split.no-map{grid-template-columns:1fr;}
}
.tsx-listcol > .tsx-status{margin:0;}.tsx-listcol > .tsx-addbar{margin-bottom:2px;}
/* v1.18.4 · búsqueda compacta al bajar en la lista de hoteles */
.tsx-mini{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 14px;border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 6px rgba(20,32,46,.08);background:#fff;cursor:pointer;min-width:0;}
.tsx-mini[hidden]{display:none;}
.tsx-mini > .material-symbols-outlined{font-size:19px;color:var(--muted);}
.tsx-mini-t{flex:1;min-width:0;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tsx-mini .btn{border-radius:999px;flex:0 0 auto;}
.tsx-mini .btn .material-symbols-outlined{font-size:17px;}
@media (min-width:901px){
  .tsx-pane[data-tsx-pane="hotels"].tsx-compact > .tsx-bar,
  .tsx-pane[data-tsx-pane="hotels"].tsx-compact > .tsx-modes,
  .tsx-pane[data-tsx-pane="hotels"].tsx-compact > .tsx-filters{display:none;}
  .tsx-pane[data-tsx-pane="hotels"].tsx-compact{gap:8px;padding-top:10px;}
  .tsx-is-compact .tsx-demo{display:none;}
}
/* v1.18.6 · vista previa interna de la vista interactiva del cliente */
.preview-strip{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 16px;border-radius:14px;background:#1d2433;color:#fff;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.preview-strip .material-symbols-outlined{font-size:20px;color:#ffd166;}
.preview-strip a{color:#9cc9ff;white-space:nowrap;font-weight:600;}
@media (max-width:600px){.preview-strip{font-size:12px;bottom:8px;}}
@media print{.preview-strip{display:none;}}
/* v1.18.7 · enlace del cliente: «Elegir opciones» / «Ver propuesta» */
.share-bar .view-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:#fff;margin-right:8px;}
.share-bar .view-switch a{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;color:var(--ink);text-decoration:none;white-space:nowrap;}
.share-bar .view-switch a .material-symbols-outlined{font-size:17px;}
.share-bar .view-switch a.active{background:var(--oxford,#00366F);color:var(--brand-on-primary,#fff);}
.share-bar .view-switch a:not(.active):hover{background:#eef1f5;}
@media (max-width:600px){.share-bar .view-switch a{padding:5px 9px;font-size:12px;}.share-bar .view-switch a .material-symbols-outlined{display:none;}}
@media (max-width:600px){
  .share-body .print-bar.share-bar{flex-wrap:wrap;row-gap:8px;}
  .share-bar .view-switch{order:3;flex:1 1 100%;margin-right:0;justify-content:stretch;}
  .share-bar .view-switch a{flex:1;justify-content:center;}
}
