/* NV Hotel · estilos de la aplicación operativa.
   Diseño: barra superior con hotel y navegación; contenido en columna; tarjetas solo donde separan objetos. */
:root {
  --bg: #F3F5F4; --surface: #FFFFFF; --sunk: #E9EEEC; --ink: #16232B; --muted: #5A6A72; --line: #D8E0DD;
  --accent: #0E5C5F; --accent-ink: #FFFFFF; --accent-soft: #DDECEA;
  --ok: #2C7A4B; --ok-soft: #E1F1E7; --warn: #A8671A; --warn-soft: #F7ECDB; --crit: #B42318; --crit-soft: #F8E1DE;
  --display: "Playfair Display", Georgia, "Times New Roman", serif;
  --text: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r: 10px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0E161A; --surface: #162127; --sunk: #111B20; --ink: #E6EDEB; --muted: #98A9AF; --line: #27363D;
    --accent: #62B9B3; --accent-ink: #0B1A1C; --accent-soft: #17322F;
    --ok: #5CC48A; --ok-soft: #163023; --warn: #E3A84A; --warn-soft: #33270F; --crit: #F07A6E; --crit-soft: #3A1A17;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bg); color: var(--ink); font: 15px/1.5 var(--text); -webkit-text-size-adjust: 100%; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; margin: 0; text-wrap: balance; }
h1 { font-size: 26px; } h2 { font-size: 20px; } h3 { font-size: 17px; }
a { color: var(--accent); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.num { font-variant-numeric: tabular-nums; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.boot { padding: 40px 20px; color: var(--muted); }
[hidden] { display: none !important; }

/* barra superior */
.top { position: sticky; top: 0; z-index: 10; background: var(--surface); border-bottom: 1px solid var(--line);
  padding: calc(env(safe-area-inset-top, 0px) + 10px) max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px)); }
.top-row { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; max-width: 1180px; margin: 0 auto; }
.brand { font-family: var(--display); font-weight: 700; font-size: 21px; margin-right: auto; text-decoration: none; color: var(--ink); }
.top select { border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; background: var(--surface); font-weight: 600; font-size: 14px; max-width: 200px; }
.who { font-size: 13px; color: var(--muted); }
.linkbtn { border: 0; background: none; color: var(--accent); font-weight: 700; font-size: 13px; padding: 4px; }
.nav { display: flex; gap: 2px; overflow-x: auto; max-width: 1180px; margin: 8px auto 0; scrollbar-width: none; }
.nav a { padding: 9px 12px; text-decoration: none; color: var(--muted); font-weight: 700; font-size: 14px; border-bottom: 3px solid transparent; white-space: nowrap; }
.nav a[aria-current="page"], .nav a.grp.on { color: var(--ink); border-bottom-color: var(--accent); }
.nav { position: relative; }
.nav.more { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
.nav.sub { margin-top: 0; border-top: 1px solid var(--line); }
.nav.sub a { font-size: 13.5px; padding: 8px 12px; border-bottom-width: 2px; }
.nav a:hover { color: var(--ink); }
/* saltar al contenido (teclado y lectores de pantalla) */
.skip { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--accent); color: var(--accent-ink); padding: 8px 14px; border-radius: 8px; font-weight: 700; text-decoration: none; }
.skip:focus { top: 10px; }
main:focus { outline: none; }
/* barra de carga entre pantallas */
body.loading::before { content: ""; position: fixed; top: 0; left: 0; height: 3px; width: 40%; z-index: 60; background: var(--accent); animation: nvload 1s ease-in-out infinite; }
@keyframes nvload { from { transform: translateX(-100%); } to { transform: translateX(260%); } }
body.loading main { opacity: .6; transition: opacity .2s; }
/* ruta y pestañas */
.crumbs { font-size: 13px; color: var(--muted); margin-bottom: -6px; }
.crumbs a { font-weight: 600; text-decoration: none; }
.tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.tabs a { padding: 6px 12px; border: 1px solid var(--line); border-radius: 99px; text-decoration: none; color: var(--ink); font-weight: 600; font-size: 14px; background: var(--surface); }
.tabs a[aria-current="page"] { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
/* estados vacíos que llevan a una acción */
.emptycard { background: var(--surface); border: 1px dashed var(--line); border-radius: var(--r); padding: 20px; }
.emptycard p { margin: 6px 0 12px; color: var(--muted); max-width: 60ch; }
/* tarjeta de puesta en marcha */
.card.launchcard { border-color: var(--accent); background: var(--accent-soft); }
.lc-head { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.lc-head > div:first-child { flex: 1 1 260px; }
.lc-bar { height: 6px; border-radius: 99px; background: var(--surface); margin: 12px 0 4px; overflow: hidden; }
.lc-bar i { display: block; height: 100%; background: var(--accent); }
.launchcard details summary { cursor: pointer; margin-top: 6px; font-weight: 600; color: var(--accent); }
.net { font-size: 12px; font-weight: 800; padding: 3px 9px; border-radius: 99px; background: var(--ok-soft); color: var(--ok); }
.net.off { background: var(--crit-soft); color: var(--crit); }

main { max-width: 1180px; margin: 0 auto; padding: 20px max(16px, env(safe-area-inset-right, 0px)) calc(env(safe-area-inset-bottom, 0px) + 48px) max(16px, env(safe-area-inset-left, 0px)); display: flex; flex-direction: column; gap: 18px; }
.head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 16px; }
.head h1 { margin-right: auto; }

/* bloques */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 16px; min-width: 0; }
.card > h2, .card > h3 { margin-bottom: 10px; }
.grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: start; }
.tiles { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.tile { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 12px 14px; }
.tile .k { font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.tile .v { font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.tile .s { font-size: 12.5px; color: var(--muted); }
.list { display: flex; flex-direction: column; gap: 8px; }
.row { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 11px 13px; }
.row .main { flex: 1; min-width: 160px; }
.row .main b { font-size: 15.5px; }
.row .main div { font-size: 13px; color: var(--muted); }
a.row { text-decoration: none; color: inherit; }
a.row:hover { border-color: var(--accent); }
.empty { color: var(--muted); padding: 6px 2px; font-size: 14px; }
.sect { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 800; margin: 6px 0 -2px; }

/* chips y botones */
.chip { display: inline-block; font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius: 99px; background: var(--sunk); color: var(--muted); white-space: nowrap; }
.chip.ok, .st-disponible, .st-hecha { background: var(--ok-soft); color: var(--ok); }
.chip.warn, .st-sucia, .st-limpieza, .st-pendiente { background: var(--warn-soft); color: var(--warn); }
.chip.crit, .st-bloqueada, .st-cancelada, .st-no_show { background: var(--crit-soft); color: var(--crit); }
.chip.acc, .st-inspeccion, .st-en_curso, .st-en_casa { background: var(--accent-soft); color: var(--accent); }
.btn { border: 1px solid var(--line); background: var(--surface); padding: 8px 13px; border-radius: 8px; font-weight: 700; font-size: 14px; white-space: nowrap; text-decoration: none; color: var(--ink); display: inline-block; }
.btn:hover { border-color: var(--accent); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.btn.danger { color: var(--crit); border-color: var(--crit); }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btns { display: flex; flex-wrap: wrap; gap: 8px; }
.big { display: flex; flex-direction: column; gap: 9px; }
.big .btn { padding: 14px; font-size: 16px; font-weight: 800; border-radius: 10px; text-align: center; }
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; padding: 3px; background: var(--surface); gap: 3px; flex-wrap: wrap; }
.seg a, .seg button { border: 0; background: none; padding: 5px 11px; border-radius: 6px; font-weight: 700; font-size: 13px; color: var(--muted); text-decoration: none; }
.seg [aria-pressed="true"], .seg [aria-current="true"] { background: var(--accent); color: var(--accent-ink); }

/* formularios */
form.f { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); align-items: end; }
form.f .full { grid-column: 1 / -1; }
label.fld { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 700; min-width: 0; }
label.fld input, label.fld select, label.fld textarea { border: 1px solid var(--line); border-radius: 8px; padding: 9px 10px; background: var(--surface); font-weight: 500; font-size: 15px; width: 100%; }
label.check { display: flex; gap: 8px; align-items: center; font-size: 14px; font-weight: 600; }
.err { background: var(--crit-soft); color: var(--crit); border-radius: 8px; padding: 9px 12px; font-weight: 600; font-size: 14px; }
.okbox { background: var(--ok-soft, #e6f4ea); color: var(--ok, #1e7a3c); border-radius: 8px; padding: 9px 12px; font-weight: 600; font-size: 14px; }
.info { background: var(--warn-soft); color: var(--warn); border-radius: 8px; padding: 9px 12px; font-weight: 600; font-size: 14px; }

/* tablas */
.tbl { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
th { text-align: left; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 700; padding: 6px 8px; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
td.r, th.r { text-align: right; font-variant-numeric: tabular-nums; }
tr:last-child td { border-bottom: 0; }

/* habitaciones */
.rooms { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.room { border: 1px solid var(--line); border-radius: 9px; padding: 9px 10px; background: var(--surface); display: flex; flex-direction: column; gap: 2px; text-align: left; }
.room b { font-size: 17px; }
.room span { font-size: 12px; font-weight: 800; }
.room small { font-size: 11.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.room.disponible { border-color: var(--ok); } .room.disponible span { color: var(--ok); }
.room.sucia, .room.limpieza { background: var(--warn-soft); } .room.sucia span, .room.limpieza span { color: var(--warn); }
.room.inspeccion { background: var(--accent-soft); } .room.inspeccion span { color: var(--accent); }
.room.bloqueada { background: var(--crit-soft); } .room.bloqueada span { color: var(--crit); }
.room.ocupada span { color: var(--muted); }
a.room { text-decoration: none; color: var(--ink); cursor: pointer; }
a.room:hover { box-shadow: 0 0 0 2px var(--accent-soft); }
.room.sel { outline: 2px solid var(--accent); }
.room.retirada { opacity: .6; border-style: dashed; }
.room .warnline { color: var(--crit); font-weight: 700; white-space: normal; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--crit) !important; box-shadow: 0 0 0 1px var(--crit); }
.ferr { margin-top: 4px; }

/* calendario */
.cal { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.cal table { min-width: 820px; table-layout: fixed; }
.cal th, .cal td { padding: 0; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); height: 34px; text-align: center; font-size: 12px; }
.cal th:first-child, .cal td:first-child { width: 70px; border-left: 0; font-weight: 800; font-size: 13px; position: sticky; left: 0; background: var(--surface); z-index: 1; }
.cal th.today { color: var(--accent); }
.cal .bar { display: block; margin: 3px 2px; padding: 4px 6px; border-radius: 6px; background: var(--accent-soft); color: var(--accent); font-weight: 700; font-size: 12px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.cal .bar.en_casa { background: var(--accent); color: var(--accent-ink); }
.cal .bar.salida { background: var(--sunk); color: var(--muted); }

/* tareas */
.task { display: grid; grid-template-columns: 5px 1fr; padding: 0; overflow: hidden; text-decoration: none; color: inherit; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }
.task .p { background: var(--line); }
.task.alta .p { background: var(--crit); } .task.media .p { background: var(--warn); }
.task .in { padding: 11px 13px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.task .top2 { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.task .rm { font-weight: 800; font-size: 16px; }
.task .due { font-size: 13px; color: var(--muted); }
.task .due.late { color: var(--crit); font-weight: 800; }
.task.closed { opacity: .62; }
.pend { width: 8px; height: 8px; border-radius: 50%; background: var(--warn); display: inline-block; margin-right: 5px; }
.hist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; font-size: 14px; }
.hist li { display: grid; grid-template-columns: 50px 1fr; gap: 8px; }
.hist time { color: var(--muted); font-variant-numeric: tabular-nums; }
.photos { display: flex; gap: 8px; flex-wrap: wrap; }
.photos img { width: 92px; height: 92px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
.filebtn { display: inline-flex; align-items: center; border: 1px dashed var(--line); border-radius: 8px; padding: 9px 13px; font-weight: 700; color: var(--accent); cursor: pointer; position: relative; }
.filebtn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.alert { border-left: 4px solid var(--warn); background: var(--surface); border-radius: 6px; padding: 9px 12px; font-size: 14px; }
.alert.crit { border-left-color: var(--crit); }
.bar-occ { height: 8px; background: var(--sunk); border-radius: 4px; overflow: hidden; }
.bar-occ i { display: block; height: 100%; background: var(--accent); }

/* login */
.login { max-width: 380px; margin: 9vh auto 0; padding: 0 16px; display: flex; flex-direction: column; gap: 16px; }
.login h1 { font-size: 34px; }

.toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(env(safe-area-inset-bottom, 0px) + 20px); background: var(--ink); color: var(--bg); padding: 11px 16px; border-radius: 9px; font-weight: 700; font-size: 14px; z-index: 50; max-width: calc(100% - 32px); }
@media (max-width: 860px) { .tiles { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); } .top select { max-width: 160px; } }
@media (max-width: 560px) { h1 { font-size: 23px; } .tile .v { font-size: 21px; } .nav a { padding: 9px 10px; } .lc-head .btns { width: 100%; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* Fase 2: panel, caja y gastos */
.tile.link { text-align: left; font: inherit; color: inherit; cursor: pointer; transition: border-color .15s, transform .15s; }
.tile.link:hover, .tile.link:focus-visible { border-color: var(--accent); transform: translateY(-1px); }
.delta { font-weight: 800; font-size: 12px; white-space: nowrap; }
.delta.good { color: var(--ok); } .delta.bad { color: var(--crit); }
button.alert { display: block; width: 100%; text-align: left; font: inherit; font-size: 14px; color: inherit; cursor: pointer; border-top: 0; border-right: 0; border-bottom: 0; }
a.alert { display: block; color: inherit; text-decoration: none; }
.cmp th[scope=row] { text-align: left; font-weight: 700; }
.cell { background: none; border: 0; padding: 4px 6px; margin: -4px -6px; border-radius: 6px; font: inherit; color: inherit; text-align: right; cursor: pointer; width: 100%; }
.cell:hover, .cell:focus-visible { background: var(--accent-soft); }
tr.go { cursor: pointer; } tr.go:hover td { background: var(--accent-soft); }
tr.tot td { font-weight: 800; border-top: 2px solid var(--line); }
tr.voided td { opacity: .55; text-decoration: line-through; } tr.voided td:last-child, tr.voided td div { text-decoration: none; }
.fld.inline { flex-direction: row; align-items: center; gap: 8px; margin-left: auto; }
.bars { display: grid; gap: 8px; }
.barrow { display: grid; grid-template-columns: minmax(90px, 160px) 1fr auto; gap: 10px; align-items: center; font-size: 14px; }
.barrow i { display: block; height: 10px; border-radius: 99px; background: var(--accent); min-width: 4px; }
.barrow b { font-variant-numeric: tabular-nums; }
#detail { margin-top: 14px; scroll-margin-top: 90px; }
.cmp th[scope=row] { text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--ink, inherit); }
.head h1 .chip { vertical-align: middle; margin-left: 6px; }
.days { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; }
.day { display: flex; flex-direction: column; align-items: center; padding: 6px 4px; border-radius: 8px; font-size: 13px; font-weight: 800; text-decoration: none;
  background: var(--warn-soft); color: var(--warn); border: 2px solid transparent; }
.day.cerrado { background: var(--ok-soft); color: var(--ok); }
.day.diff { background: var(--crit-soft); color: var(--crit); }
.day.cur { border-color: var(--accent); }
.day small { font-size: 10.5px; font-weight: 700; }

/* Fase 3: comprobantes */
.invoice { max-width: 820px; }
.inv-head { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.inv-head h2 { margin: 0; }
.inv-box { border: 2px solid var(--ink); border-radius: 8px; padding: 8px 14px; text-align: center; font-size: 14px; min-width: 200px; }
.seg a[aria-current="true"] { background: var(--accent); color: var(--accent-ink); }
@media print {
  header.top, .noprint, #toast { display: none !important; }
  body { background: #fff; color: #000; }
  .card { border: 0; box-shadow: none; }
}
/* fase 4: tarifas y canales */
.cal.rates td { font-size: 12px; height: 30px; }
.cal.rates th.we { background: var(--sunk); }
.cal.rates tr.tname td:first-child { text-align: left; padding: 6px 8px; font-size: 13px; vertical-align: top; }
.cal.rates tr.tname td { border-bottom: 0; font-weight: 700; }
.cal.rates tr.trate td { color: var(--muted); }
.cal.rates td.custom { color: var(--ink, inherit); font-weight: 800; }
.cal.rates td.low { color: var(--warn, #9a6b00); }
.cal.rates td.sold { color: var(--crit); }
.cal.rates .closed { color: var(--crit); font-size: 11px; }
.cal.rates .mins { font-size: 10px; color: var(--accent); font-weight: 700; }
.f .days { display: flex; flex-wrap: wrap; gap: 10px; border: 0; padding: 0; margin: 0; }
.f .days legend { padding: 0; margin-bottom: 4px; }
.f .days label { display: inline-flex; align-items: center; gap: 4px; }
.fld.chk { flex-direction: row; align-items: center; gap: 8px; }
.alertcard { border-left: 4px solid var(--crit); margin-bottom: 10px; }
.rtype { padding: 10px 0; border-top: 1px solid var(--line); }
.rtype:first-of-type { border-top: 0; }
.fld.chk { justify-content: flex-start; }
.fld.chk input { width: 20px; height: 20px; min-height: 0; padding: 0; flex: none; }
/* fase 5: cuenta, arranque y sistema */
a.who { color: inherit; text-decoration: none; }
a.who:hover { text-decoration: underline; }
.narrow-card { max-width: 560px; }
.launch .checks { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 2px; }
.launch .checks li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.launch .checks li > span { width: 24px; height: 24px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--warn-soft); color: var(--warn); font-weight: 800; }
.launch .checks li.done > span { background: var(--ok-soft); color: var(--ok); }
.launch .checks li.done b { font-weight: 600; color: var(--muted); }
.launch .checks li > div { flex: 1; min-width: 0; }
code.big { font-size: 18px; letter-spacing: .08em; padding: 2px 8px; background: var(--surface); border-radius: 6px; }
td.btns { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

/* fase 7 */
.rtphoto { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rtphoto img { width: 120px; height: 76px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
/* fases 8 y 9 */
.tiles.ops .tile { text-decoration: none; }
.prods { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; }
.prod { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: var(--r); background: var(--sunk); color: var(--ink); font: inherit; text-align: left; cursor: pointer; min-height: 72px; }
.prod:hover, .prod:focus-visible { border-color: var(--accent); }
.prod span { font-variant-numeric: tabular-nums; color: var(--muted); font-size: 13px; }
.gRooms { border: 0; padding: 0; margin: 0; }
.register table { font-size: 12.5px; }
details > summary.btn { list-style: none; }
details > summary.btn::-webkit-details-marker { display: none; }
@media print { .register { padding: 0; } .register table { font-size: 10px; } .tbl { overflow: visible; } }
.occbar { display: inline-block; width: 60px; height: 8px; border-radius: 4px; background: var(--sunk); vertical-align: middle; position: relative; overflow: hidden; }
.occbar::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--accent); }
tr.we td { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.review .rhead { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.review p { margin: 8px 0; }
.stars { color: #c9932b; letter-spacing: 1px; }
#roomEditCard, .ferr { scroll-margin-top: 150px; }
/* Montos con decimales: que nunca se salgan de la tarjeta */
.tiles { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.tile .v { font-size: clamp(19px, 1.6vw, 24px); overflow-wrap: anywhere; }

/* 0.9.5 */
.btn.sm{min-height:34px;padding:0 12px;font-size:13px}
.row.voided .main{opacity:.65}
.ferr.stale{opacity:.45}
.card > .head { margin-bottom: 14px; align-items: center; }
.head h2 { margin-right: auto; margin-bottom: 0; }
@media (max-width: 700px) {
  /* Señal de que el menú sigue a la derecha. */
  .nav { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); padding-right: 28px; }
  .cal.rates th, .cal.rates td { min-width: 64px; }
  .cal.rates thead th { white-space: normal; line-height: 1.2; font-size: 12px; }
}
