:root { color-scheme: light dark; --fondo: #f6f5f1; --texto: #1d1d1b; --suave: #5f5e58; --borde: #d9d6cc; --acento: #1f4e8c; --aviso: #9a3b12; }
@media (prefers-color-scheme: dark) { :root { --fondo: #161614; --texto: #ecebe6; --suave: #a9a79f; --borde: #3a3934; --acento: #8fb4ea; --aviso: #f0a57f; } }
body { margin: 0; background: var(--fondo); color: var(--texto); font: 16px/1.5 system-ui, sans-serif; }
.fichar { max-width: 760px; margin: 0 auto; padding: 16px; } .impresion { margin: 0 auto; padding: 16px; }
@page { size: A4 landscape; margin: 10mm; }
h1 { font-size: 1.4rem; margin: 0 0 4px; } h2 { font-size: 1.1rem; margin: 24px 0 8px; }
.estado { font-size: 1.15rem; margin: 8px 0 16px; }
.botones { display: flex; flex-wrap: wrap; gap: 8px; }
button, .boton { font: inherit; padding: 12px 18px; border-radius: 8px; border: 1px solid var(--acento); background: var(--acento); color: var(--fondo); cursor: pointer; min-height: 44px; text-decoration: none; display: inline-block; }
button.secundario, .boton.secundario { background: transparent; color: var(--acento); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }
label { display: block; margin: 8px 0 4px; } input, select { font: inherit; padding: 8px; width: 100%; box-sizing: border-box; border: 1px solid var(--borde); border-radius: 6px; background: transparent; color: inherit; }
.dia { border-top: 1px solid var(--borde); padding: 8px 0; } .suave { color: var(--suave); font-size: .9rem; } .inc { color: var(--aviso); }
.evento { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .evento .marcas { color: var(--suave); font-size: .85rem; }
table { border-collapse: collapse; width: 100%; font-size: .85rem; } th, td { border: 1px solid var(--borde); padding: 4px 6px; text-align: left; vertical-align: top; word-break: break-word; }
.tabla { overflow-x: auto; } #mensaje { max-width: 760px; margin: 0 auto; padding: 0 16px 24px; }
@media print { .no-imprimir { display: none; } body { background: #fff; color: #000; } table { font-size: 8pt; } }