/* Demo 1.0.5 — mobile-first: botones grandes, una cosa por pantalla */
:root{--sec:#6e2c00;--bg:#f6f3ee;--txt:#1f1f1f;--muted:#6b6b6b;--r:16px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:17px;line-height:1.35}
header{position:sticky;top:0;z-index:50;box-shadow:0 2px 8px #0003}
.top{background:#3b2a20;color:#fff;display:flex;align-items:center;gap:6px;padding:8px 10px;min-height:58px}
.top .marca{font-weight:700;font-size:18px}.top .sp{flex:1}.top .quien{font-size:14px;opacity:.85;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nb{background:#ffffff22;color:#fff;border:0;border-radius:12px;padding:10px 12px;font-size:16px;font-weight:600;min-height:44px;cursor:pointer}
.nb.out{background:transparent;border:1px solid #fff6;font-size:14px;padding:8px 10px}
.titulo{background:var(--sec);color:#fff;font-size:21px;font-weight:700;padding:10px 14px;display:flex;align-items:center;gap:8px}.titulo .ico{font-size:24px}
main{padding:14px;max-width:760px;margin:auto;padding-bottom:30px}
footer{text-align:center;padding:18px 12px calc(170px + env(safe-area-inset-bottom));color:#888;font-size:12px;line-height:1.4}
h2{font-size:24px;margin:6px 0 10px}h3{font-size:19px;margin:4px 0 10px}
.grp{margin:20px 2px 10px;font-size:18px;color:#444}.grp small{color:var(--muted);font-weight:400}
.muted{color:var(--muted)}.center{text-align:center}.hint{font-size:17px;background:#fff;border-radius:12px;padding:10px 12px;margin:10px 0;border-left:5px solid var(--sec)}
.lead{font-size:18px}.verde{color:#1e8449}.rojo{color:#c0392b}.ok-t{color:#1e8449}
.card{background:#fff;border-radius:var(--r);padding:16px;box-shadow:0 1px 4px #0001,0 2px 10px #0000000a;margin-bottom:14px}
.card.soft{background:#fef9e7;box-shadow:none}.card.info{border-left:6px solid #2980b9}.rojo-b{border-left:6px solid #c0392b;background:#fdedec}
.btn{font-size:17px;font-weight:600;padding:12px 16px;border:0;border-radius:12px;background:#a04000;color:#fff;cursor:pointer;min-height:48px;margin:3px 0;font-family:inherit}
.btn:active,.tile:active,.sq:active,.hcard:active,.opt:active{transform:scale(.97)}
.btn.sec{background:#5f6a6a}.btn.ok{background:#1e8449}.btn.bad{background:#c0392b}.btn.warn{background:#ca6f1e}
.btn.big{width:100%;font-size:19px;min-height:58px;margin:6px 0}.btn.huge{width:100%;font-size:22px;min-height:72px;border-radius:16px}
.stack{display:flex;flex-direction:column;gap:6px;margin-top:8px}
input,select,textarea{font-size:17px;padding:12px;border-radius:12px;border:1px solid #bbb;width:100%;margin:4px 0 12px;background:#fff;font-family:inherit;min-height:48px}
label{display:block;margin-top:4px;font-weight:600;font-size:15px;color:#444}
.alert{background:#fadbd8;color:#922b21;padding:10px 12px;border-radius:10px;margin:8px 0}
.vacio{background:#fff;border:2px dashed #ccc;border-radius:14px;padding:22px;text-align:center;color:var(--muted);margin:10px 0}
/* cuadritos de colores (inicio) */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tile{position:relative;border:0;border-radius:18px;color:#fff;padding:18px 10px;cursor:pointer;text-align:center;box-shadow:0 3px 8px #0003;font-size:18px;font-weight:700;min-height:128px;font-family:inherit;line-height:1.2}
.tile .ico{font-size:44px;display:block;margin-bottom:6px}
.badge{position:absolute;top:8px;right:8px;background:#fff;color:#c0392b;border-radius:999px;min-width:28px;padding:3px 8px;font-size:15px}
.tiles.dos .tile{min-height:110px}.tile.rt{opacity:.55;outline:none}.tile.rt.sel{opacity:1;outline:4px solid #222;outline-offset:2px}
.hola h2{margin-bottom:2px}
/* hoteles */
.hgrid{display:grid;grid-template-columns:1fr;gap:12px}
.hcard{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:0;border-radius:var(--r);padding:10px;box-shadow:0 2px 8px #0002;cursor:pointer;font-family:inherit;color:inherit;min-height:88px}
.hcard img{width:96px;height:68px;object-fit:cover;border-radius:12px;flex:none}.hcard .hn{font-size:19px;font-weight:700;display:block}.hcard small{color:var(--muted);font-size:14px;display:block;margin-top:2px}
.hhead{display:flex;gap:12px;align-items:center}.hhead img{width:90px;border-radius:12px}.hhead h2{margin:0}
/* pestañas y chips */
.tabs{display:flex;gap:6px;margin:10px 0;background:#e9e4dc;padding:5px;border-radius:14px}
.tab{flex:1;border:0;border-radius:10px;padding:12px 6px;font-size:15px;font-weight:600;background:transparent;cursor:pointer;min-height:48px;font-family:inherit;color:#333}
.tab.on{background:#fff;box-shadow:0 1px 4px #0002;color:var(--sec)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}
.chip{flex:none;border:1px solid #ccc;background:#fff;border-radius:999px;padding:10px 14px;font-size:15px;cursor:pointer;min-height:44px;font-family:inherit;white-space:nowrap}
.chip.on{background:var(--sec);color:#fff;border-color:var(--sec)}
/* habitaciones */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rooms.wide{grid-template-columns:repeat(2,1fr)}
.grande .rooms{grid-template-columns:repeat(3,1fr);gap:10px}
.sq{border-radius:14px;padding:10px 6px;min-height:84px;font-size:13px;cursor:pointer;border:2px solid #0002;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:inherit;gap:2px;width:100%}
.sq b{font-size:20px;line-height:1.1;word-break:break-word}.sq small{font-size:12px;opacity:.85}
.grande .sq{min-height:100px;font-size:15px}.grande .sq b{font-size:23px}
.sq.mini{min-height:44px;font-size:14px;padding:6px}.sq.cur{outline:4px solid #222;outline-offset:1px}
.estgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.lista{background:#2ecc71}.proceso{background:repeating-linear-gradient(45deg,#f4d03f,#f4d03f 8px,#e3bd2b 8px,#e3bd2b 12px)}.sucia{background:#ffeb3b}.ocupada{background:#b39ddb}.reparar{background:#e74c3c;color:#fff}.regular{background:#fcf3cf}.faltan{background:#f1c40f}
.legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 0;font-size:13px;color:#444}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:16px;height:16px;border-radius:4px;display:inline-block;border:1px solid #0003}
.roomhead{border-radius:var(--r);padding:16px;margin-bottom:14px;text-align:center;border:2px solid #0002}.roomhead .big{font-size:32px;font-weight:800}.roomhead small{opacity:.8}
.timer{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:20px;font-weight:700}.timer.sm{font-size:14px}
.cron{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:46px;font-weight:800;letter-spacing:1px}
.jorn{background:#eafaf1;border-left:6px solid #27ae60;border-radius:var(--r);padding:12px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.jorn .btn{min-height:52px}
.seguir{display:block;width:100%;background:#fff3cd;border:2px solid #f1c40f;border-radius:14px;padding:14px;font-size:17px;cursor:pointer;margin-bottom:10px;font-family:inherit;text-align:left}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}.opts.small .opt{min-height:50px;font-size:15px}
.opt{border:2px solid #ccc;background:#fff;border-radius:14px;padding:12px 8px;font-size:16px;font-weight:600;cursor:pointer;min-height:64px;font-family:inherit;color:#222}
.opt span{display:block;font-size:24px}.opt.on{border-color:#1e8449;background:#d4efdf}.opt.bad{border-color:#c0392b;background:#c0392b;color:#fff}
.cant{display:flex;align-items:center;gap:18px;margin-bottom:10px}.cant .btn{width:64px;font-size:26px}.cant b{font-size:28px}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fslot{border:2px dashed #aaa;border-radius:12px;padding:8px;text-align:center}.fslot img{max-width:100%;border-radius:8px;display:block;margin:6px auto}
.filebtn{display:block;position:relative;overflow:hidden;margin-top:6px;font-size:15px;color:#fff}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* listas tipo tarjeta */
.item,.rcard,.tcard{background:#fff;border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 1px 4px #0001}
.item.bajo{background:#fdedec}.fila{display:flex;justify-content:space-between;align-items:center;gap:10px}.fila .r{text-align:right}
.fila2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.fila2 input,.fila2 select{margin:0}
.fila3{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fila3 .btn{flex:1 1 auto}
.num{font-size:26px;font-weight:800}.li{padding:8px 0;border-bottom:1px solid #eee}
.tcard{border-left:6px solid #aaa}.reparar-b{border-left-color:#e74c3c}.proceso-b{border-left-color:#f4d03f}.regular-b{border-left-color:#d4ac0d}.lista-b{border-left-color:#2ecc71}.faltan-b{border-left-color:#f1c40f}
.pill{display:inline-block;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}
.thumbs img,.thumb{width:72px;height:56px;object-fit:cover;border-radius:8px;margin:2px;cursor:zoom-in}
.fotosT img,.foto{max-width:48%;border-radius:10px;margin:4px;cursor:zoom-in}
.avis{display:flex;gap:10px;align-items:center;margin:8px 0}.avis img{width:64px;border-radius:8px;cursor:zoom-in}
.fcard{border-radius:14px;padding:12px;margin-bottom:10px;display:grid;grid-template-columns:72px 1fr;gap:10px;box-shadow:0 1px 4px #0001}
.fcard img{width:72px;height:56px;object-fit:cover;border-radius:8px;cursor:zoom-in}.fcard .fila3{grid-column:1/-1}
.filtros{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filtros select{margin:0}
.bar{background:#a04000;height:24px;border-radius:6px;color:#fff;font-size:13px;padding:3px 8px;white-space:nowrap;margin-top:6px;min-width:4px}
.rank{margin:6px 0}details summary{cursor:pointer;color:#1a5276;padding:8px 0;font-weight:600}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;text-align:center}.cal>b{font-size:13px;color:#666}
.cday{border:1px solid #ddd;background:#fff;border-radius:10px;min-height:48px;padding:4px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center}
.cday.tiene{background:#d4efdf;border-color:#82c79b}.cday.on{outline:3px solid var(--sec)}.cday span{font-size:11px;background:#1e8449;color:#fff;border-radius:999px;padding:0 6px;margin-top:2px}
.calnav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}.calnav b{text-transform:capitalize;font-size:18px}
.msgs{height:46vh;overflow:auto;background:#fafafa;padding:8px;border:1px solid #eee;border-radius:12px}.m{margin:6px 0;padding:8px 12px;border-radius:14px;background:#e8e8e8;max-width:80%;width:fit-content}.m.me{background:#d4efdf;margin-left:auto}
.enviar{display:flex;gap:8px;margin-top:8px}.enviar input{margin:0}
.chk{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:400;padding:8px 0;color:#222}.chk input{width:26px;height:26px;min-height:0;margin:0}
.login{max-width:480px;margin:auto}.cred{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #eee;padding:10px 2px;font-size:16px;cursor:pointer;font-family:inherit}
.msg{color:#1e8449;font-weight:600}
/* modal propio */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;overflow:auto;padding:12px;display:flex;align-items:flex-start;justify-content:center}
.sheet{background:#fff;border-radius:20px;padding:20px;max-width:520px;width:100%;margin:auto 0;box-shadow:0 10px 40px #0005}
.big-img{max-width:100%;border-radius:12px;display:block;margin:0 auto 8px}
/* PC: más columnas */
@media (min-width:700px){
  main{max-width:1100px}.tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.tiles.dos{grid-template-columns:repeat(2,1fr)}
  .hgrid{grid-template-columns:repeat(2,1fr)}.rooms,.grande .rooms{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.rooms.wide{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  .stack{max-width:520px;margin-left:auto;margin-right:auto}.estgrid{grid-template-columns:repeat(3,1fr)}.opts{grid-template-columns:repeat(4,1fr)}
  .top .quien{max-width:none}
}
@media (min-width:1000px){.hgrid{grid-template-columns:repeat(3,1fr)}}
@media print{header,footer,.btn,.noprint,.tabs,.chips{display:none!important}body{background:#fff}.card,.item{box-shadow:none;border:1px solid #ddd}}
.hwrap{display:flex;flex-direction:column;gap:8px}.hwrap .hcard{width:100%}.hbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hbtns .btn{margin:0;width:100%}
.edmin summary{list-style:none;cursor:pointer;text-align:center}.edmin summary::-webkit-details-marker{display:none}
.rtab{width:100%;border-collapse:collapse;margin-top:8px;background:#fff}.rtab th,.rtab td{padding:6px 4px;border-bottom:1px solid #ddd;font-size:14px;text-align:left}.rtab .c{text-align:center}.rtab tr.bajo{background:#fdecea}.rtab .rb{white-space:nowrap;text-align:right}.rtab .rb .btn{display:inline-block;width:auto;margin:2px;padding:6px 10px;font-size:13px}

.fbadge{display:inline-block;background:#d32f2f;color:#fff;font-weight:700;font-size:1.05em;padding:4px 10px;border-radius:12px;margin-top:4px}.fbadge.ok{background:#2e7d32}

.sq.conaviso{outline:4px dashed #ff6f00;outline-offset:-4px}.sq .avtx{display:block;font-size:.7em;font-weight:700}

.hchip{display:inline-block;font-style:normal;font-size:.7em;font-weight:700;color:#222;padding:2px 6px;border-radius:8px;margin:2px 0;border:1px solid rgba(0,0,0,.25)}

.fab{position:fixed;right:18px;bottom:18px;width:62px;height:62px;border-radius:50%;border:0;background:var(--sec,#6e2c00);color:#fff;font-size:34px;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.35);z-index:50;cursor:pointer}

#toast{position:fixed;top:8px;left:8px;right:8px;z-index:200;background:#1f2d3d;color:#fff;border-radius:12px;padding:12px;box-shadow:0 6px 18px rgba(0,0,0,.4);display:none;gap:8px;align-items:center;font-size:17px}
#toast>div{flex:1}#toast .btn{width:auto;margin:0;padding:8px 12px}

/* 1.0.5: bloqueada, contadores de recepción, prioridad, alertas */
.bloqueada{background:#9e9e9e;color:#fff}
.cnt{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:4px 0 10px}.cn{border-radius:12px;padding:8px 2px;text-align:center;border:2px solid #0002}.cn b{display:block;font-size:28px;line-height:1.1}.cn span{font-size:12px;font-weight:600}
@media(max-width:430px){.cnt{grid-template-columns:repeat(3,1fr)}}
.prio{color:#fff;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:700;white-space:nowrap;display:inline-block}
.tagu{display:block;font-style:normal;font-weight:700;font-size:12px;background:#c0392b;color:#fff;border-radius:8px;padding:1px 6px}
.alerta-b{display:block;width:100%;background:#c0392b;color:#fff;border:0;border-radius:14px;padding:14px;font-size:16px;font-weight:700;margin:8px 0;text-align:left;cursor:pointer;font-family:inherit}

/* 1.0.7 */
@keyframes parp{0%,100%{box-shadow:0 0 0 0 rgba(192,57,43,.9)}50%{box-shadow:0 0 0 8px rgba(192,57,43,0);background:#fdecea}}.parpadea{animation:parp 1s infinite}
.sq.corregir{background:#f5b7b1;border-color:#c0392b}i.corregir{background:#f5b7b1}.chk{display:flex;gap:10px;align-items:center;font-size:1.05em;padding:6px 0}.chk input{width:28px;height:28px}
/* 1.0.8: modo oscuro y botón de pánico */
html.dark body{background:#121417;color:#e8eaed}
html.dark .card,html.dark .item,html.dark .sheet,html.dark .tcard,html.dark .fcard,html.dark .rcard,html.dark details.card{background:#1f2328;color:#e8eaed;border-color:#3a3f45}
html.dark input,html.dark select,html.dark textarea{background:#2a2f35;color:#f1f3f4;border-color:#55595e}
html.dark .muted,html.dark small{color:#b8bcc2}
html.dark .li{border-color:#3a3f45}
html.dark .btn.sec,html.dark .tab,html.dark .chip{background:#2f353b;color:#f1f3f4;border-color:#55595e}
html.dark .tab.on,html.dark .chip.on{background:#4a90d9;color:#fff}
html.dark .hint,html.dark .card.info,html.dark .card.soft{background:#26313d;color:#e8eaed}
html.dark .alert{color:#ff8a80}html.dark .ok-t{color:#7ee2a8}
html.dark .rtab td,html.dark .rtab th{border-color:#3a3f45}html.dark .rtab tr:nth-child(even) td{background:#24282d}
html.dark .vacio{color:#b8bcc2}html.dark .rojo-b{border-color:#ff6b6b}
html.dark a{color:#8ab4f8}
.panico{position:fixed;left:12px;bottom:84px;z-index:150;width:78px;height:78px;border-radius:50%;border:4px solid #fff;background:#c0392b;color:#fff;font-size:30px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.45);touch-action:none}
.panico.cargando{animation:parp .4s infinite;background:#e74c3c}
.panicbar{position:fixed;top:0;left:0;right:0;z-index:210;background:#c0392b;color:#fff;padding:10px;font-size:17px;animation:parp 1s infinite;text-align:center}
.panicbar .btn{width:auto;display:inline-block;margin:0 0 0 8px;padding:6px 10px}
/* 1.0.9 alertas minimizadas */
#alHead{gap:8px;flex-wrap:wrap;align-items:center}
.alnueva{box-shadow:0 0 0 3px #f1c40f}
html.dark .alnueva{box-shadow:0 0 0 3px #f4d03f}
html.dark #alMin .li{color:#e8eaed}
/* 1.0.9 inventario compacto */
.invlist{margin:6px 0}
.invrow{border-bottom:1px solid #ddd}
.invrow.bajo{background:#fdecea}
.invl{display:flex;align-items:center;gap:6px;min-height:44px;padding:2px 4px;cursor:pointer}
.invn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invq{font-weight:800;min-width:54px;text-align:right}
.inves{color:#666;min-width:58px;text-align:right}
.invb{display:flex;gap:4px}
.btn.mini{width:auto;min-height:36px;min-width:36px;padding:4px 8px;margin:0;font-size:.95em}
.invdet{padding:4px 8px 8px}
html.dark .invrow{border-color:#3a3f45}html.dark .invrow.bajo{background:#3b1f1f}html.dark .inves{color:#b8bcc2}
@media (max-width:420px){.btn.mini{padding:4px 6px}.inves{min-width:46px}}

/* 1.0.9 bloqueada en rojo */
.bloqueada{background:#c0392b;color:#fff}
html.dark .bloqueada{background:#a93226;color:#fff}
