/* CCH 2.0 — Tema "Libro de recepción" (Marino y Latón). Se carga después de todas las hojas.
   Solo presentación: tipografía, colores, espaciados, bordes y radios de los componentes existentes.
   No oculta controles, no cambia textos ni comportamiento. Los colores de ocupación (rk-day.bN, rk-swatch, rt-dot)
   y el texto sobre ellos no se modifican. Valores: tokens.css. */

/* ── Base ── */
:root{background:var(--bg);color:var(--text);font-family:var(--font)}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;line-height:1.45}
button,input,select,textarea{font-family:var(--font)}
::selection{background:var(--brass-soft)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h1{font-size:var(--fs-h1);font-weight:600;letter-spacing:-.01em;color:var(--text)}
h2,h3{color:var(--text)}
.eyebrow,.nav-caption{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase}

/* ── Estructura: menú lateral (mismas opciones y agrupación), barra superior y pie ── */
.sidebar{background:var(--bg);border-right:var(--hairline)}
.brand{font-weight:800;letter-spacing:-.02em;color:var(--text)}
.brand img{filter:none}
.brand small{color:var(--text-muted);font-weight:400}
.version{background:none;color:var(--brass);padding:0;border-radius:0;font-weight:700}
nav a{border-radius:var(--radius);color:var(--text-muted);font-size:var(--fs-small);letter-spacing:.02em;font-weight:500;min-height:40px;padding:8px 12px;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
nav a svg{opacity:.55}
nav a:hover{background:var(--bg-sunken);color:var(--text)}
nav a[aria-current]{background:none;color:var(--text);font-weight:600;box-shadow:inset 2px 0 0 var(--brass)}
nav a[aria-current] svg{opacity:1;color:var(--brass)}
/* Grupos desplegables del menú (TARIFAS, HOTEL): mismo aspecto que los enlaces; las secciones del grupo van sangradas. */
.nav-group{display:grid;gap:inherit}
.nav-group-toggle{display:flex;align-items:center;gap:13px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:var(--radius);background:none;color:var(--text-muted);font:inherit;font-size:var(--fs-small);letter-spacing:.02em;font-weight:500;text-align:left;cursor:pointer;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}
.nav-group-toggle svg{width:19px;height:19px;flex-shrink:0;opacity:.55}
.nav-group-toggle span{flex:1}
.nav-group-toggle .nav-chevron{width:14px;height:14px;transition:transform var(--t-fast) var(--ease)}
.nav-group-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}
.nav-group-toggle:hover{background:var(--bg-sunken);color:var(--text)}
.nav-group-toggle:focus-visible,nav a:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.nav-group.current>.nav-group-toggle{color:var(--text);font-weight:600}
.nav-group.current>.nav-group-toggle>svg:first-child{opacity:1;color:var(--brass)}
.nav-group-items{display:grid;gap:inherit;margin-left:20px;padding-left:4px;border-left:var(--hairline)}
.nav-group-items[hidden]{display:none}
.nav-group-items a{min-height:36px}
@media(max-width:640px){
 .nav-group,.nav-group-items{display:flex;gap:5px}
 .nav-group-items{margin-left:0;padding-left:5px}
 .nav-group-toggle{width:auto;white-space:nowrap;min-height:42px;padding:10px;gap:10px}
 .nav-group-toggle svg{width:16px;height:16px}
}
.support-link{color:var(--text-muted);font-size:var(--fs-label);letter-spacing:.08em}
.support-link:hover{color:var(--text)}
.edition{border-top:var(--hairline);color:var(--text-faint)}
.topbar{background:var(--bg);border-bottom:var(--hairline);color:var(--text-muted);font-size:var(--fs-small)}
#current-section{color:var(--text);font-size:var(--fs-small);font-weight:600;letter-spacing:.02em}
.header-divider{color:var(--text-faint)}
.local-badge{background:none;border:0;border-radius:0;padding:0;font-size:var(--fs-small);color:var(--text-muted)}
.local-badge i{background:var(--ok);border-radius:50%}
.topbar-end{display:flex;align-items:center;gap:var(--s-5)}
.theme-switch{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--fs-small);color:var(--text-muted)}
.theme-switch button{border:0;background:none;color:var(--text-muted);font:inherit;padding:var(--s-1) 2px;cursor:pointer;border-radius:var(--radius)}
.theme-switch button[aria-pressed="true"]{color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--brass)}
.theme-switch button:hover{color:var(--text)}
main{background:var(--bg)}
.workspace{background:var(--bg)}
footer{color:var(--text-faint)}
.support-header{background:var(--bg);border-bottom:var(--hairline)}
.back-link{color:var(--text)}
.empty-state{background:none;border:0;border-top:var(--rule);border-radius:0}
.empty-mark{background:none;border:var(--hairline);border-radius:var(--radius);color:var(--text-faint)}
.empty-state h2{font-size:var(--fs-h2);font-weight:400;letter-spacing:0}
.empty-state p{font-size:var(--fs-body);color:var(--text-muted)}

/* ── Encabezados y textos de pantalla ── */
.rt-heading,.page-heading,.inventory-heading{padding-bottom:var(--s-4)}
.rt-subtitle{color:var(--text-muted);font-size:var(--fs-small)}
.rt-note,.inv-help{color:var(--text-muted);font-size:var(--fs-small)}
.rt-section{margin-top:var(--s-6)}
.rt-section>h2,.rt-toolbar h2,.panel-heading h2{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding-bottom:var(--s-3);border-bottom:var(--hairline);margin-bottom:var(--s-3)}
.rt-report h3,.rk-log h3,.rk-import-title,.rk-template h3{font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}

/* ── Botones: primario (acción), secundario (línea fina), peligro ── */
.rt-button,.inv-button,.load-submit,.validate-load,.establishment-save,.news-reservation-search form>button{
  border-radius:var(--radius);font-family:var(--font);font-weight:600;font-size:13px;letter-spacing:.02em;min-height:36px;
  transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.rt-button,.inv-button{background:var(--action-bg);border-color:var(--action-bg);color:var(--action-text)}
.rt-button:hover:not(:disabled),.inv-button:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}
.rt-button:active:not(:disabled),.inv-button:active:not(:disabled){transform:translateY(1px)}
.rt-button.secondary,.inv-button.secondary{background:transparent;color:var(--text);border-color:var(--line)}
.rt-button.secondary:hover:not(:disabled),.inv-button.secondary:hover:not(:disabled){background:var(--bg-sunken);border-color:var(--line)}
.rt-button.danger,.inv-button.danger{background:var(--error);border-color:var(--error);color:var(--bg)}
.rt-button.danger:hover:not(:disabled),.inv-button.danger:hover:not(:disabled){background:var(--error);border-color:var(--error);filter:brightness(.92)}
.rt-button.danger-outline{background:transparent;color:var(--error);border-color:var(--line)}
.rt-button.danger-outline:hover:not(:disabled){background:var(--bg-sunken)}
.rt-button.small{min-height:30px;font-size:12px}
.rt-button:disabled,.inv-button:disabled{opacity:.4;cursor:not-allowed}
.rt-button:focus-visible,.inv-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ── Campos: línea inferior, foco en latón ── */
.rt-input,.rt-select,.inventory input,.inventory select,.inventory textarea,.load-card input,.load-card select,.establishment-grid input,.establishment-grid textarea,.establishment-grid select,.news-reservation-search input,.news-history select,.rt-details textarea{
  background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);border-radius:0;font-family:var(--font)}
.rt-input,.rt-select{font-size:14px;padding:8px 4px}
.rt-input:focus,.rt-select:focus,.inventory input:focus,.inventory select:focus,.inventory textarea:focus,.load-card input:focus,.load-card select:focus,.establishment-grid input:focus,.establishment-grid textarea:focus,.establishment-grid select:focus,.news-reservation-search input:focus,.rt-details textarea:focus{
  outline:none;border-bottom:2px solid var(--brass);margin-bottom:-1px}
.rt-input[aria-invalid=true],.rk-new.invalid{border-bottom-color:var(--error)}
input[type=checkbox],input[type=radio]{accent-color:var(--ink)}
.rt-toolbar label,.rk-rate,.rk-edit label,.rp-amount,.inventory label,.establishment-grid label{color:var(--text-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.rp-amount input,.rk-rate input,.rt-toolbar label input,.rt-toolbar label select{text-transform:none;letter-spacing:0;font-weight:400}

/* ── Tablas: sin caja, línea gruesa arriba, filas con línea fina, encabezado rótulo ── */
.rt-table-wrap,.preview-scroll{background:transparent;border:0;border-top:var(--rule);border-radius:0}
.rt-table,.preview-table,.variation-table{font-size:14px;color:var(--text)}
.rt-table th,.preview-table th,.variation-table th{background:var(--bg);color:var(--text-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:var(--s-3) var(--s-2);border-bottom:var(--hairline)}
.rt-table td,.preview-table td,.variation-table td{padding:var(--s-2) var(--s-2);border-bottom:var(--hairline)}
.rt-table tbody tr:hover td{background:var(--bg-sunken)}
.rt-table tr.selected td{background:var(--brass-soft)}
.rt-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--brass)}

/* ── Pestañas de CALENDARIO: texto con subrayado en latón ── */
.rk-tabs{border-bottom:var(--hairline);gap:var(--s-5)}
.rk-tab{border:0;background:none;border-radius:0;padding:var(--s-3) 0;font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);margin-bottom:-1px;transition:color var(--t-fast) var(--ease)}
.rk-tab:hover{color:var(--text)}
.rk-tab[aria-selected="true"]{background:none;border:0;color:var(--text);box-shadow:inset 0 -2px 0 var(--brass)}
.rt-range{border:var(--hairline);border-radius:var(--radius)}
.rt-range button{background:transparent;color:var(--text-muted);border-right:var(--hairline);font-family:var(--font)}
.rt-range button[aria-pressed=true]{background:var(--bg-sunken);color:var(--text);box-shadow:inset 0 -2px 0 var(--brass)}

/* ── Indicadores: franja horizontal con línea gruesa arriba ── */
.rt-kpis{gap:0;border-top:var(--rule);border-bottom:var(--hairline)}
.rt-kpi{background:transparent;border:0;border-left:var(--hairline);border-radius:0;padding:var(--s-4) var(--s-5) var(--s-5)}
.rt-kpi:first-child{border-left:0;padding-left:0}
.rt-kpi span{color:var(--text-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.rt-kpi strong{font-size:40px;font-weight:300;letter-spacing:-.03em;color:var(--text)}
.rt-kpi small{color:var(--text-muted);font-size:var(--fs-small)}

/* ── Bloques y tarjetas: apoyados sobre el fondo, sin sombra ── */
.rt-report,.load-card,.establishment-card,.inventory-panel,.coverage-card,.news-item,.news-header,.news-history,.room-card,.rk-template,.rk-bulk{
  background:transparent;border-radius:var(--radius);box-shadow:none}
.rt-report{border:0;border-top:var(--rule);padding:var(--s-5) 0}
.rt-report footer{border-top:var(--hairline);color:var(--text-muted)}

/* ── Estados y mensajes: texto con color, sin píldoras ── */
.rt-up{color:var(--ok)}.rt-down{color:var(--error)}.rt-pending{color:var(--warn)}
.rt-message{color:var(--ok);font-size:var(--fs-small);font-weight:600}
.rt-message.error,.inv-error,.establishment-status.error{color:var(--error)}
.rk-tag{background:none;border-radius:0;padding:0;margin-left:var(--s-2);color:var(--warn);font-weight:700;letter-spacing:.06em}
.type-chip{border-radius:var(--radius)}
.rk-warning,.rp-tip,.inv-notice,.rt-alerts{border-radius:var(--radius)}
.rp-tip,.rk-warning{background:var(--brass-soft);border:0;border-left:3px solid var(--warn);padding:var(--s-3) var(--s-4)}
.rp-tip h2{color:var(--warn);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;border:0;padding:0}
.rk-empty{background:transparent;border:0;border-top:var(--rule);border-radius:0;font-size:var(--fs-h2);color:var(--text);padding:var(--s-5) 0}

/* ── Ventanas emergentes ── */
.rt-dialog,.room-dialog{background:var(--bg-raised);color:var(--text);border:var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-float)}
.rt-dialog h2,.room-dialog h2{font-size:var(--fs-h2);font-weight:600;letter-spacing:0}
.rk-facts dt{color:var(--text-muted)}

/* ── CALENDARIO: solo el entorno de las celdas (los colores de ocupación no cambian) ── */
.rk-month{font-weight:300;letter-spacing:-.02em}
.rk-weekday{color:var(--text-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.14em}
.rk-legend{color:var(--text-muted)}
.rk-day{border-radius:var(--radius)}
.rk-pending-link{color:var(--warn);background:none;border-radius:0;border:0;border-bottom:1px solid currentColor}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
