:root{--cal:#F2EBDD;--papel:#D8C8AC;--carbon:#242323;--barro:#A65536;--maiz:#C58F33;--caramelo:#C2925E;--grana:#8B3328;--olivo:#626044}
*{box-sizing:border-box}body{margin:0;background:var(--cal);color:var(--carbon);font:16px/1.5 Georgia,"Times New Roman",serif}
header{text-align:center;padding:28px 16px 18px;border-bottom:3px double var(--carbon)}
.logo{font-size:2.4rem;letter-spacing:.35em;font-weight:700;margin:0}.desc{font-style:italic;margin:4px 0 0;font-size:.95rem}
main{max-width:720px;margin:0 auto;padding:20px 16px 60px}main.wide{max-width:1150px}
.card{background:#fbf7ef;border:1px solid var(--papel);border-radius:10px;padding:18px;margin:16px 0}
h2{font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--papel);padding-bottom:6px}
label{display:block;font-size:.9rem;margin:10px 0 4px}input,select,textarea{width:100%;padding:11px;font:inherit;border:1px solid var(--caramelo);border-radius:8px;background:#fff;color:var(--carbon)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.row{grid-template-columns:1fr}}
button,.btn{display:inline-block;background:var(--carbon);color:var(--cal);border:0;border-radius:8px;padding:12px 18px;font:inherit;cursor:pointer;text-decoration:none}
.btn.sec{background:var(--papel);color:var(--carbon)}.btn.warn{background:var(--grana)}.btn.sm{padding:6px 10px;font-size:.85rem}
.times{display:flex;flex-wrap:wrap;gap:8px}.times label{margin:0}.times input{display:none}
.times span{display:block;padding:9px 14px;border:1px solid var(--carbon);border-radius:20px;cursor:pointer;background:#fff}
.times input:checked+span{background:var(--carbon);color:var(--cal)}
.msg{padding:12px;border-radius:8px;background:var(--papel)}.err{background:#f1d6cf;border-left:4px solid var(--grana)}.ok{border-left:4px solid var(--olivo)}
.code{font-size:2rem;letter-spacing:.2em;font-weight:700;text-align:center;margin:8px 0}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:6px;border-bottom:1px solid var(--papel);text-align:left;vertical-align:top}
.bar{height:10px;background:var(--papel);border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:var(--carbon)}.bar i.full{background:var(--grana)}
.st-cancelada{opacity:.5;text-decoration:line-through}.st-llego{background:#e5e2cf}.st-no_show{background:#f1d6cf}
footer{text-align:center;font-size:.8rem;padding:20px;color:var(--olivo)}.greca{height:8px;background:repeating-linear-gradient(90deg,var(--barro) 0 12px,transparent 12px 18px)}
.inline{display:inline}.muted{color:var(--olivo);font-size:.85rem}.flex{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.flex>*{flex:1;min-width:120px}
.hero{width:100%;max-height:260px;object-fit:cover;border-radius:10px;display:block}
.heros{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.heros .hero{height:200px}@media(max-width:520px){.heros{grid-template-columns:1fr 1fr}.heros .hero:first-child{grid-column:1/3}}
.tag{display:inline-block;background:var(--caramelo);color:var(--carbon);border-radius:10px;padding:1px 8px;font-size:.8rem}
.visit{display:flex;gap:4px;margin-top:4px}.visit input{width:90px;padding:5px;font-size:.85rem}
nav.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}nav.tabs a{padding:8px 14px;border-radius:20px;border:1px solid var(--carbon);text-decoration:none;color:var(--carbon)}nav.tabs a.on{background:var(--carbon);color:var(--cal)}
.tot td{font-weight:700;border-top:2px solid var(--carbon)}.num{text-align:right;white-space:nowrap}
@media print{header .desc a,nav,.noprint,form{display:none!important}body{background:#fff}.card{border:0}}
