:root{
  --green:#174b35;--green-2:#2f7555;--green-soft:#eaf4ee;--bg:#f3f6f4;--surface:#fff;
  --text:#17231d;--muted:#68756e;--line:#d7dfda;--red:#b9363d;--red-soft:#fde8e9;
  --amber:#9a6b00;--amber-soft:#fff4cf;--blue:#326d9c;--blue-soft:#e7f1f9;
  --shadow:0 8px 26px rgba(18,51,36,.08);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:20;background:var(--green);color:#fff;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 3px 16px #0003}
.topbar strong,.topbar small{display:block}.topbar strong{font-size:1.2rem}.topbar small{font-size:.74rem;opacity:.82;margin-top:2px}
.sync{font-size:.75rem;font-weight:850;padding:7px 9px;border-radius:999px;background:#ffffff20;border:1px solid #ffffff40;white-space:nowrap}
.sync.online{background:#dff5e5;color:#17572f;border-color:#bce3c7}.sync.error{background:#ffe2e3;color:#8d242a;border-color:#f4b9bc}.sync.local{background:#fff4cf;color:#725000;border-color:#ead27f}
main{width:min(900px,100%);margin:auto;padding:15px 14px 34px}
.login-card,.shift-card,.userbar,.room-card,.section-card,.dialog-panel,dialog form,.stock-strip{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}
.login-card{max-width:480px;margin:8vh auto;padding:24px}.logo-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:var(--green);color:#fff;font-weight:900;font-size:1.55rem;margin-bottom:15px}.login-card h1{margin:0 0 7px}.login-card p{color:var(--muted);line-height:1.45}.stack{display:grid;gap:12px}.error{min-height:1.2em;color:var(--red);font-weight:700;font-size:.85rem}
label{display:block;font-size:.82rem;font-weight:800;color:#34483e}
input,select{width:100%;margin-top:5px;border:1px solid #cbd6d0;background:#fff;border-radius:11px;padding:11px 12px;color:var(--text);outline:none}
input:focus,select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2f75551c}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.primary,.secondary,.ghost,.danger-soft,.round-button,.scan-button{border:0;border-radius:11px;padding:10px 13px;font-weight:850}
.primary{background:var(--green);color:#fff}.primary:hover{background:#194933}.secondary{background:#e7ede9;color:#214b38}.ghost{background:transparent;color:inherit;border:1px solid currentColor}.danger-soft{background:var(--red-soft);color:#922f35}.small{padding:9px 11px;font-size:.85rem}
.userbar{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;margin-bottom:10px}.userbar small,.userbar strong{display:block}.userbar small{font-size:.72rem;color:var(--muted)}.userbar .ghost{color:var(--green)}
.shift-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px}.shift-card small,.shift-card strong,.shift-card span{display:block}.shift-card small{color:var(--muted);font-size:.72rem}.shift-card strong{font-size:1.1rem;margin:2px 0}.shift-card span{font-size:.78rem;color:var(--muted)}
.shift-actions{display:flex;gap:7px;align-items:center}
.stock-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;margin-top:11px;border-color:#bed8c7;background:linear-gradient(135deg,#fff,#f2f8f4)}
.stock-strip small{display:block;color:var(--muted);font-size:.72rem;font-weight:800}.stock-strip p{margin:5px 0 0;font-size:.75rem;color:var(--muted)}
.stock-totals{display:flex;gap:14px;align-items:baseline;margin-top:4px}.stock-totals span{font-size:.8rem;color:#375247}.stock-totals b{font-size:1.5rem;color:var(--green);margin-right:3px}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:11px 0}.summary article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow)}.summary span{display:block;color:var(--muted);font-size:.72rem}.summary strong{display:block;margin-top:4px;font-size:1.5rem;color:var(--green)}.summary .red strong{color:var(--red)}.summary .amber strong{color:var(--amber)}
.toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.toolbar input{margin:0}.section-head{display:flex;justify-content:space-between;align-items:end;margin:17px 1px 9px}.section-head.compact{margin:0}.section-head h2,.section-head h3{margin:0;font-size:1.13rem}.section-head p{margin:3px 0 0;color:var(--muted);font-size:.78rem}
.room-list{display:grid;gap:10px}.room-card{padding:13px}.room-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.room-title{font-weight:900;font-size:1.08rem}.room-subtitle{font-size:.78rem;color:var(--muted);margin-top:3px}.badges{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.badge{border-radius:999px;padding:5px 7px;font-size:.67rem;font-weight:900}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.gray{background:#edf0ee;color:#536158}
.room-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.room-metrics div{background:#f5f7f6;border-radius:10px;padding:9px}.room-metrics small,.room-metrics strong{display:block}.room-metrics small{color:var(--muted);font-size:.66rem}.room-metrics strong{font-size:.9rem;margin-top:2px}.room-card button.open-room{width:100%;margin-top:10px}.empty-list,.empty-room{padding:18px;text-align:center;background:#fff;border:1px dashed #c8d3cd;border-radius:14px;color:var(--muted)}
.footer-actions{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-top:15px}.qr-landing{background:#eaf4ee;border:1px solid #bad8c5;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.qr-landing small,.qr-landing h2{display:block;margin:0}.qr-landing small{font-size:.72rem;color:var(--muted)}
dialog{width:min(94vw,620px);max-height:94vh;border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(13,34,24,.65)}dialog form,.dialog-panel{padding:17px;display:grid;gap:12px;max-height:92vh;overflow:auto}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{margin:0;font-size:1.2rem}.dialog-head small{display:block;color:var(--muted);font-size:.71rem}.dialog-head>button{border:0;background:transparent;color:var(--muted);font-size:1.7rem;padding:0 3px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.info,.warning,.serial-hint{border-radius:11px;padding:10px;font-size:.78rem;line-height:1.4}.info{background:#edf3ef;color:#43584d}.warning{background:var(--amber-soft);color:#725000}.serial-hint{background:#f5f7f6;color:var(--muted);border:1px solid var(--line)}.serial-hint.ok{background:var(--green-soft);color:var(--green);border-color:#b9d7c4}.serial-hint.bad{background:var(--red-soft);color:var(--red);border-color:#efbec1}
.room-current{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.room-current div{background:#f4f7f5;border-radius:11px;padding:10px}.room-current small,.room-current strong{display:block}.room-current small{color:var(--muted);font-size:.68rem}.room-current strong{margin-top:3px;word-break:break-word}.round-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.round-button{background:#edf2ef;color:var(--green);text-align:left;border:1px solid transparent}.round-button.done{background:var(--green-soft);border-color:#bedac7}.round-button small,.round-button strong{display:block}.round-button small{font-size:.68rem;color:var(--muted)}.round-button strong{margin-top:3px}.room-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.scan-field{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.scan-field input{margin-top:5px}.scan-button{background:var(--blue-soft);color:var(--blue);padding:11px 12px;white-space:nowrap}
.cylinder-choice{display:grid;grid-template-columns:auto auto minmax(190px,1fr);gap:7px;align-items:stretch}
.cylinder-choice button,.cylinder-choice select{min-height:43px;margin:0}
.cylinder-choice .scan-button{border:1px solid #c8deed}
.manual-cylinder-button{border:1px solid #cbd8d1;border-radius:11px;background:#edf2ef;color:#214b38;padding:10px 13px;font-weight:850;white-space:nowrap}
.manual-cylinder-button:hover,.manual-cylinder-button:focus-visible{border-color:#91b09f;background:#e5eee9;outline:0}
.available-cylinder-select{min-width:0;background:#fff;color:var(--green);font-weight:800}
.available-cylinder-select:disabled{color:var(--muted);background:#f2f4f3}
.cylinder-serial-input{margin-top:0}
.scan-field.manual-only{grid-template-columns:1fr}
.history-list{display:grid;gap:8px}.history-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.history-item small,.history-item strong,.history-item span{display:block}.history-item small{color:var(--muted);font-size:.69rem}.history-item strong{margin:3px 0}.history-item span{color:#4d5c54;font-size:.78rem;line-height:1.35}
.movements-panel{min-height:min(720px,90vh)}.movement-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.movement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f5f7f6;border-radius:12px;padding:10px}.movement-toolbar small,.movement-toolbar strong{display:block}.movement-toolbar small{color:var(--muted);font-size:.68rem}.movement-toolbar strong{font-size:1.35rem}.movement-list{min-height:100px}.movement-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.movement-grid div{background:#f5f7f6;border-radius:9px;padding:8px}.movement-grid small,.movement-grid strong{display:block}.movement-grid small{font-size:.64rem;color:var(--muted)}.movement-grid strong{font-size:.8rem;margin-top:2px;word-break:break-word}
.inventory-panel{min-height:min(780px,92vh)}.inventory-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.inventory-summary article{background:#f5f7f6;border:1px solid var(--line);border-radius:12px;padding:10px}.inventory-summary small,.inventory-summary strong,.inventory-size-breakdown{display:block}.inventory-summary small{font-size:.67rem;color:var(--muted)}.inventory-summary strong{font-size:1.35rem;color:var(--green);margin-top:3px}.inventory-size-breakdown{font-size:.62rem;color:var(--muted);margin-top:4px;line-height:1.3}.inventory-sync-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:11px;background:#edf3ef}.inventory-sync-row small{color:var(--muted);font-size:.67rem}.inventory-sync-row button{white-space:nowrap;padding:7px 9px}.stock-feedback{display:grid;gap:3px;padding:13px;border-radius:12px;background:#dff5e5;color:#17572f;border:1px solid #a9d9b8;box-shadow:0 5px 15px #173e2e12}.stock-feedback strong{font-size:.88rem}.stock-feedback span{font-size:.74rem;line-height:1.4}.stock-feedback.error{background:var(--red-soft);color:#8d242a;border-color:#efbec1}.stock-entry-form{box-shadow:none;border-radius:13px!important;background:#f9fbfa!important;padding:13px!important;gap:10px!important}.inventory-controls{display:grid;grid-template-columns:1fr 180px;gap:8px}.inventory-controls input,.inventory-controls select{margin:0}.inventory-list{display:grid;gap:8px;min-height:100px}.inventory-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px}.inventory-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.inventory-item strong{word-break:break-word}.inventory-item small{color:var(--muted)}.inventory-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.inventory-meta div{background:#f5f7f6;border-radius:9px;padding:8px}.inventory-meta small,.inventory-meta span{display:block}.inventory-meta small{font-size:.64rem;color:var(--muted)}.inventory-meta span{font-size:.78rem;margin-top:2px;word-break:break-word}
.scanner-panel{width:min(94vw,560px)}.barcode-reader{min-height:260px;background:#111;border-radius:13px;overflow:hidden}.barcode-reader video{border-radius:13px}.barcode-reader img{max-width:100%}.scanner-panel #html5-qrcode-button-camera-permission,.scanner-panel button{font-family:inherit}
.sticky-actions{position:sticky;bottom:-17px;background:#fff;padding:11px 0 2px}.sticky-actions .primary{width:100%}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:50;background:#173e2e;color:#fff;border-radius:12px;padding:11px 14px;box-shadow:0 12px 35px #0005;font-weight:750;font-size:.82rem;max-width:min(90vw,520px);text-align:center}
@media(max-width:650px){.summary{grid-template-columns:1fr 1fr}.footer-actions{grid-template-columns:1fr 1fr}.footer-actions .primary{grid-column:1/-1}.room-metrics{grid-template-columns:1fr 1fr 1fr}.inventory-summary{grid-template-columns:1fr 1fr}.stock-strip{align-items:flex-start}.stock-strip button{min-width:125px}}
@media(max-width:480px){.two,.movement-filters,.room-actions,.inventory-controls{grid-template-columns:1fr}.shift-card,.stock-strip{align-items:stretch;flex-direction:column}.shift-card button,.stock-strip button{width:100%}.room-current{grid-template-columns:1fr 1fr}.room-current div:first-child{grid-column:1/-1}.scan-field{grid-template-columns:1fr}.scan-button{width:100%}.cylinder-choice{grid-template-columns:1fr 1fr}.cylinder-choice select{grid-column:1/-1}.inventory-meta{grid-template-columns:1fr}.stock-totals{justify-content:space-between}.barcode-reader{min-height:230px}}
.inventory-item-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-top:8px}.inventory-item-actions .secondary,.inventory-item-actions .danger-soft{padding:7px 10px;font-size:.74rem}

/* Recorrida Pisos y Servicios v0.4.5 */

.transfer-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0;padding:13px 14px;border-radius:15px;background:linear-gradient(135deg,#eaf4ee,#f7fbf8);border:1px solid #bdd8c7;box-shadow:var(--shadow)}
.transfer-strip small,.transfer-strip strong,.transfer-strip span{display:block}.transfer-strip small{font-size:.67rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:850}.transfer-strip strong{margin:2px 0;color:var(--green)}.transfer-strip span{font-size:.73rem;color:var(--muted)}.transfer-strip button{white-space:nowrap}
.transfer-panel{min-height:min(700px,92vh)}.threshold-rule{display:grid;gap:3px;padding:11px;border-radius:11px;background:#f5f7f6;border:1px solid var(--line)}.threshold-rule strong{color:var(--green);font-size:.8rem}.threshold-rule span{color:var(--muted);font-size:.75rem}
.floor-filters{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:7px;margin:12px 0 8px;padding:5px;background:#dfe7e2;border-radius:13px}
.floor-filter{border:0;border-radius:9px;padding:9px 7px;background:transparent;color:#42564b;font-weight:850}
.floor-filter.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #173e2e18}
.module-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:11px 0;padding:6px;background:#dfe7e2;border-radius:15px;position:sticky;top:69px;z-index:12;box-shadow:0 5px 15px rgba(18,51,36,.08)}
.module-tab{border:0;border-radius:11px;background:transparent;color:#42564b;padding:9px 6px;font-size:.76rem;font-weight:850;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
.module-tab span{font-size:1rem}.module-tab.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #173e2e18}
.module-panel{animation:module-in .18s ease-out}@keyframes module-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.expiry-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:13px;padding:11px 13px;margin:10px 0;background:var(--amber-soft);color:#725000;border:1px solid #ead27f;font-size:.78rem}
.expiry-alert strong{font-size:.83rem}.expiry-alert.danger{background:var(--red-soft);color:#8d242a;border-color:#efbec1}
.section-hero{border:1px solid var(--line);border-radius:18px;padding:17px;margin:11px 0;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:15px}
.section-hero small{display:block;color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.section-hero h2{margin:3px 0 4px;font-size:1.35rem}.section-hero p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}
.fixed-hero{background:linear-gradient(135deg,#fff,#f2f8f4)}.block-hero{background:linear-gradient(135deg,#f7fbff,#edf7f5)}.stock-hero{background:linear-gradient(135deg,#fff,#f7faf8)}
.hero-stat{text-align:right;background:var(--amber-soft);border-radius:13px;padding:10px 12px;min-width:120px}.hero-stat strong,.hero-stat span{display:block}.hero-stat strong{font-size:1.65rem;color:var(--amber)}.hero-stat span{font-size:.68rem;color:#725000}
.mini-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0}.mini-summary article{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px;box-shadow:var(--shadow)}.mini-summary small,.mini-summary strong{display:block}.mini-summary small{color:var(--muted);font-size:.68rem}.mini-summary strong{font-size:1.35rem;color:var(--green);margin-top:2px}.mini-summary .amber strong{color:var(--amber)}.mini-summary .red strong{color:var(--red)}
.fixed-controls{display:grid;grid-template-columns:1fr 190px;gap:8px;margin:12px 0}.fixed-controls input,.fixed-controls select{margin:0}
.legend-card{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:12px;background:#edf3ef;color:#43584d;font-size:.73rem;line-height:1.4}.legend-card strong{white-space:nowrap;color:var(--green)}
.fixed-list{display:grid;gap:16px;margin-top:14px}.fixed-group{display:grid;gap:9px}.fixed-group-title{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #cbd9d1;padding:0 2px 6px}.fixed-group-title h3{margin:0;color:var(--green);font-size:1.05rem}.fixed-group-title span{font-size:.7rem;color:var(--muted);font-weight:800}
.service-card{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.service-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;background:#f5f8f6;border-bottom:1px solid var(--line)}.service-card-head h3{margin:0;font-size:.95rem}.service-card-head span{font-size:.68rem;color:var(--muted)}
.fixed-slot-list{display:grid}.fixed-slot{padding:12px;border-bottom:1px solid #e5ebe7}.fixed-slot:last-child{border-bottom:0}.fixed-slot.expired{background:#fff7f7}.fixed-slot-main{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.fixed-slot-main>div:first-child{display:flex;align-items:center;gap:8px}.fixed-slot-main small{font-size:.68rem;color:var(--muted)}
.kind-pill{display:inline-flex;border-radius:8px;background:#e7f1f9;color:#326d9c;font-weight:900;padding:5px 8px;font-size:.76rem}.kind-pill.gas-aire{background:#174b35;color:#f0c94a}.kind-pill.gas-co2{background:#6d7275;color:#fff}
.fixed-slot-data{display:grid;grid-template-columns:1fr .65fr 1fr;gap:7px;margin:9px 0}.fixed-slot-data div{background:#f5f7f6;border-radius:9px;padding:8px}.fixed-slot-data small,.fixed-slot-data strong{display:block}.fixed-slot-data small{font-size:.61rem;color:var(--muted)}.fixed-slot-data strong{font-size:.77rem;margin-top:2px;word-break:break-word}.fixed-slot>button{width:100%;padding:8px;font-size:.76rem}
.gas-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:11px 0}.gas-summary article{border:1px solid var(--line);border-radius:15px;background:#fff;padding:13px;box-shadow:var(--shadow);border-top:4px solid var(--green)}.gas-summary .gas-co2{border-top-color:#6d7275}.gas-summary .gas-air{border-top-color:#f0c94a;background:#174b35}.gas-summary small,.gas-summary strong,.gas-summary span{display:block}.gas-summary small{font-size:.69rem;color:var(--muted)}.gas-summary strong{font-size:1.7rem;margin:3px 0;color:var(--green)}.gas-summary .gas-co2 strong{color:#5b6063}.gas-summary .gas-air strong{color:#f0c94a}.gas-summary .gas-air small,.gas-summary .gas-air span{color:#dcebe2}.gas-summary span{font-size:.68rem;color:var(--muted)}
.compact-list{margin-top:12px}.alert-item>span{display:block;margin-top:8px;font-size:.76rem;color:var(--muted)}.success-empty{background:var(--green-soft);border-color:#b9d7c4;color:var(--green)}
.block-gas-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.block-gas-card{border:1px solid var(--line);border-radius:17px;background:#fff;padding:15px;box-shadow:var(--shadow);display:grid;gap:11px;border-top:5px solid #6d7275}.block-gas-card.gas-card-aire{border-top-color:#f0c94a;background:linear-gradient(145deg,#fff,#f4faf6)}.block-gas-card.expired{border-color:#e8aeb2;background:#fff8f8}
.block-gas-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.gas-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#6d7275;color:#fff;font-size:1.05rem;font-weight:950}.gas-card-aire .gas-symbol{background:#174b35;color:#f0c94a}.block-gas-head small,.block-gas-head strong{display:block}.block-gas-head small{font-size:.65rem;color:var(--muted)}.block-gas-head strong{margin-top:2px}
.status-dot{width:12px;height:12px;border-radius:99px;background:#98a39d;box-shadow:0 0 0 4px #98a39d22}.status-dot.green{background:#2f8c5b;box-shadow:0 0 0 4px #2f8c5b22}.status-dot.red{background:var(--red);box-shadow:0 0 0 4px #b9363d22}
.status-dot.amber{background:#d3980a;box-shadow:0 0 0 4px #d3980a22}
.block-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}.block-metrics div{background:#f5f7f6;border-radius:9px;padding:8px}.block-metrics small,.block-metrics strong{display:block}.block-metrics small{font-size:.61rem;color:var(--muted)}.block-metrics strong{font-size:.8rem;margin-top:2px;word-break:break-word}.block-gas-card>button{width:100%}.block-gas-card>small{font-size:.65rem;color:var(--muted);text-align:center}.strong-info{margin:12px 0;border:1px solid #cbd9d1}
.dialog-subtitle{display:block;color:var(--green);font-size:.75rem;font-weight:800;margin-top:2px}.state-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.state-selector label{position:relative}.state-selector input{position:absolute;opacity:0;pointer-events:none}.state-selector span{display:block;text-align:center;border:1px solid var(--line);border-radius:11px;padding:11px;background:#f4f7f5;color:var(--muted)}.state-selector input:checked+span{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 3px #2f75551c}
.danger-warning{background:var(--red-soft);color:var(--red)}.inventory-summary .red strong{color:var(--red)}
.inventory-controls{grid-template-columns:minmax(190px,1fr) 175px 150px}

@media(max-width:700px){
  .transfer-strip{display:grid}.transfer-strip button{width:100%}
  .topbar strong{font-size:1.02rem}.module-tabs{top:65px}.module-tab{font-size:.69rem;flex-direction:column;gap:1px;padding:7px 3px}.module-tab span{font-size:.9rem}
  .block-gas-list{grid-template-columns:1fr}.inventory-controls{grid-template-columns:1fr 1fr}.inventory-controls input{grid-column:1/-1}
}
@media(max-width:480px){
  main{padding-left:10px;padding-right:10px}.topbar{padding-left:12px;padding-right:12px}.topbar small{font-size:.66rem}.sync{font-size:.66rem;padding:6px 7px}
  .module-tabs{margin-left:-2px;margin-right:-2px;gap:3px;padding:4px}.module-tab{font-size:.62rem}.expiry-alert,.section-hero{align-items:stretch;flex-direction:column}.expiry-alert{gap:3px}.hero-stat{text-align:left;min-width:0;display:flex;align-items:baseline;gap:7px}.hero-stat strong,.hero-stat span{display:inline}
  .mini-summary,.gas-summary{grid-template-columns:repeat(3,1fr);gap:6px}.mini-summary article,.gas-summary article{padding:9px}.mini-summary small,.gas-summary small{font-size:.59rem}.mini-summary strong,.gas-summary strong{font-size:1.25rem}.gas-summary span{font-size:.58rem}
  .fixed-controls,.inventory-controls{grid-template-columns:1fr}.inventory-controls input{grid-column:auto}.legend-card{display:block}.legend-card strong{display:block;margin-bottom:3px}
  .fixed-slot-main{display:grid}.fixed-slot-main .badges{justify-content:flex-start}.fixed-slot-data{grid-template-columns:1fr 1fr}.fixed-slot-data div:first-child{grid-column:1/-1}
}

/* Panel de Jefatura */
.manager-hero{background:linear-gradient(135deg,#173e2e,#2f7555);color:#fff;border:0}.manager-hero small,.manager-hero p{color:#dceae2}.manager-data-badge{white-space:nowrap;border-radius:999px;background:#ffffff1f;border:1px solid #ffffff45;padding:8px 10px;font-size:.7rem;font-weight:850}
.manager-filter-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;box-shadow:var(--shadow)}
.manager-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.manager-filters input,.manager-filters select{margin-top:4px;padding:9px 10px}.manager-filter-card>button{height:39px;white-space:nowrap}
.manager-loading{margin-top:10px;padding:10px 12px;border-radius:11px;background:var(--blue-soft);color:var(--blue);font-size:.78rem;font-weight:800}
.manager-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:18px 2px 8px}.manager-section-head small,.manager-section-head h3{display:block;margin:0}.manager-section-head small{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:850}.manager-section-head h3{font-size:1.08rem;margin-top:2px}.manager-section-head>span{color:var(--muted);font-size:.69rem;text-align:right}
.manager-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.manager-kpis article{min-width:0;border:1px solid var(--line);border-top:4px solid #71847a;border-radius:14px;background:#fff;padding:11px;box-shadow:var(--shadow)}.manager-kpis article.green{border-top-color:var(--green-2)}.manager-kpis article.blue{border-top-color:var(--blue)}.manager-kpis article.amber{border-top-color:#d3980a}.manager-kpis article.red{border-top-color:var(--red)}.manager-kpis small,.manager-kpis strong,.manager-kpis span{display:block}.manager-kpis small{min-height:2.1em;color:var(--muted);font-size:.65rem;font-weight:800}.manager-kpis strong{font-size:1.5rem;margin:3px 0;color:var(--green);word-break:break-word}.manager-kpis article.red strong{color:var(--red)}.manager-kpis article.amber strong{color:var(--amber)}.manager-kpis article.blue strong{color:var(--blue)}.manager-kpis span{font-size:.6rem;color:var(--muted)}
.manager-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;box-shadow:var(--shadow);min-width:0}.capacity-card{margin-top:13px}.capacity-head,.manager-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.capacity-head small,.capacity-head h3,.manager-card-head small,.manager-card-head h3{display:block;margin:0}.capacity-head small,.manager-card-head small{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;font-weight:850}.capacity-head h3,.manager-card-head h3{font-size:.96rem;margin-top:2px}.capacity-head>strong{color:var(--green);font-size:1.15rem}.manager-card-head>span{color:var(--muted);font-size:.66rem;text-align:right}
.capacity-meter{display:block;width:100%;height:11px;border:0;border-radius:999px;background:#e7ede9;overflow:hidden;margin:13px 0 7px;appearance:none}.capacity-meter::-webkit-progress-bar{background:#e7ede9;border-radius:999px}.capacity-meter::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#2f7555,#71a789);transition:width .35s ease}.capacity-meter::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,#2f7555,#71a789)}.capacity-meter.warning::-webkit-progress-value{background:linear-gradient(90deg,#c28a09,#e5b848)}.capacity-meter.warning::-moz-progress-bar{background:linear-gradient(90deg,#c28a09,#e5b848)}.capacity-meter.danger::-webkit-progress-value{background:linear-gradient(90deg,#9a2830,#d75b62)}.capacity-meter.danger::-moz-progress-bar{background:linear-gradient(90deg,#9a2830,#d75b62)}.capacity-meta{display:flex;justify-content:space-between;gap:10px;font-size:.68rem;color:var(--muted)}.capacity-card p{font-size:.7rem;color:var(--muted);line-height:1.4;margin:8px 0 0}
.manager-chart-grid,.manager-two-column{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.manager-chart{display:grid;gap:9px;margin-top:13px}.chart-row{display:grid;grid-template-columns:minmax(72px,1fr) 2.5fr 48px;align-items:center;gap:8px}.chart-label{font-size:.68rem;color:#43554c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-track{height:9px;border-radius:999px;background:#e9eeeb;overflow:hidden}.chart-fill{height:100%;min-width:0;border-radius:999px;background:var(--green-2)}.chart-fill.blue{background:var(--blue)}.chart-fill.amber{background:#d3980a}.chart-fill.red{background:var(--red)}.chart-value{text-align:right;font-size:.69rem;font-weight:850;color:#33463c}.manager-chart-empty{padding:18px 8px;text-align:center;color:var(--muted);font-size:.73rem;border:1px dashed var(--line);border-radius:11px}
.manager-list{display:grid;gap:7px;margin-top:12px}.manager-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:9px;border-radius:10px;background:#f5f7f6;border-left:4px solid #d3980a}.manager-list-item.red{border-left-color:var(--red);background:#fff6f6}.manager-list-item strong,.manager-list-item small{display:block}.manager-list-item strong{font-size:.75rem}.manager-list-item small{font-size:.65rem;color:var(--muted);margin-top:2px}.manager-list-item>span{font-size:.64rem;font-weight:850;color:var(--amber);white-space:nowrap}.manager-list-item.red>span{color:var(--red)}
.trace-card{margin-top:10px}.trace-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.trace-search input{margin:0;text-transform:uppercase}.trace-current{margin-top:10px;padding:11px;border-radius:11px;background:#edf3ef;color:#43584d;font-size:.73rem;line-height:1.4}.trace-current strong{color:var(--green)}.trace-timeline{display:grid;gap:0;margin-top:12px}.trace-event{position:relative;margin-left:9px;padding:0 0 13px 18px;border-left:2px solid #ccdad2}.trace-event:last-child{padding-bottom:0}.trace-event::before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:99px;background:var(--green-2);box-shadow:0 0 0 3px #e1eee6}.trace-event small,.trace-event strong,.trace-event span{display:block}.trace-event small{font-size:.63rem;color:var(--muted)}.trace-event strong{font-size:.77rem;margin:2px 0}.trace-event span{font-size:.68rem;color:#516159;line-height:1.35}
.manager-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;margin-top:11px}.manager-privacy{text-align:center;color:var(--muted);font-size:.65rem;line-height:1.4;margin:12px 4px}

@media(max-width:760px){
  .manager-filter-card{grid-template-columns:1fr}.manager-filter-card>button{width:100%}.manager-filters{grid-template-columns:1fr 1fr}.manager-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){
  .manager-hero{align-items:flex-start}.manager-data-badge{white-space:normal}.manager-filters,.manager-chart-grid,.manager-two-column{grid-template-columns:1fr}.manager-kpis{grid-template-columns:1fr 1fr}.manager-kpis small{min-height:0}.capacity-meta{display:grid}.trace-search,.manager-actions{grid-template-columns:1fr}.trace-search button{width:100%}.chart-row{grid-template-columns:76px 1fr 44px}
}

@media print{
  body{background:#fff}.topbar,.userbar,.shift-card,.transfer-strip,.module-tabs,.expiry-alert,.manager-filter-card,.manager-actions,.manager-privacy,.trace-search{display:none!important}main{width:100%;max-width:none;padding:0}#appView{display:block!important}.module-panel{display:none!important}#jefaturaModule{display:block!important}.manager-hero{background:#fff!important;color:#17231d!important;border:1px solid #bfc9c3;box-shadow:none}.manager-hero small,.manager-hero p{color:#516159}.manager-card,.manager-kpis article{box-shadow:none;break-inside:avoid}.manager-chart-grid,.manager-two-column{break-inside:avoid}.manager-section-head{break-after:avoid}.trace-card{break-before:page}.manager-data-badge{color:#17231d;border-color:#bfc9c3}.capacity-meter,.chart-track{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* O₂ Ronda · interfaz piloto base */
body{padding-bottom:86px}
.splash-screen{position:fixed;inset:0;z-index:200;display:grid;place-content:center;justify-items:center;gap:9px;background:var(--green);color:#fff;transition:opacity .28s ease,visibility .28s ease}
.splash-screen img{width:92px;height:92px;filter:drop-shadow(0 12px 24px #08261966)}
.splash-screen strong{font-size:1.8rem;letter-spacing:-.035em}.splash-screen span{max-width:280px;text-align:center;color:#dbe9e1;font-size:.78rem}.splash-screen.done{opacity:0;visibility:hidden;pointer-events:none}
.brand-lockup,.login-brand{display:flex;align-items:center;gap:10px}.brand-lockup img{width:39px;height:39px;border-radius:11px}.brand-lockup strong{font-size:1.08rem}.brand-lockup small{font-size:.68rem}
.login-brand img{width:72px;height:72px;border-radius:20px}.login-brand small{color:var(--green-2);font-size:.66rem;letter-spacing:.1em;font-weight:900}.login-brand h1{margin:2px 0 0;font-size:1.8rem;letter-spacing:-.045em}.login-subtitle{margin:14px 0 8px!important}.pilot-chip{display:inline-flex;margin-bottom:18px;border-radius:999px;padding:6px 9px;background:var(--green-soft);color:var(--green);font-size:.68rem;font-weight:850}
.userbar>div{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center}.userbar>div small{grid-column:1/-1}.role-chip{display:inline-flex;width:max-content;border-radius:999px;padding:4px 7px;background:#e6eee9;color:var(--green);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.transfer-cylinder{display:inline-block;transform:rotate(-45deg);font-size:1rem;line-height:1;position:relative}.transfer-strip button .transfer-cylinder::after,.quick-action-list .transfer-cylinder::after{content:"⌒";position:absolute;left:-4px;top:8px;transform:rotate(45deg);font-size:.72rem}
.desktop-module-tabs{grid-template-columns:repeat(6,1fr)}
.welcome-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:19px;border-radius:20px;background:linear-gradient(140deg,#174b35,#28684a);color:#fff;box-shadow:0 12px 30px rgba(17,68,46,.2);margin:11px 0}.welcome-card small,.welcome-card h2,.welcome-card p{display:block;margin:0}.welcome-card small{color:#cfe2d7;font-weight:800;font-size:.7rem}.welcome-card h2{font-size:1.45rem;margin:3px 0 4px}.welcome-card p{color:#e4eee8;font-size:.78rem;line-height:1.4}.welcome-card .role-chip{background:#ffffff20;color:#fff;border:1px solid #ffffff35;white-space:nowrap}
.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:19px 2px 9px}.home-section-head small,.home-section-head h2{display:block;margin:0}.home-section-head small{color:var(--muted);font-size:.62rem;letter-spacing:.08em;font-weight:900}.home-section-head h2{font-size:1.08rem;margin-top:2px}.text-button{border:0;background:transparent;color:var(--green);font-size:.73rem;font-weight:900;padding:5px}
.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.quick-card{min-height:112px;text-align:left;border:1px solid var(--line);border-radius:17px;padding:13px;background:#fff;color:var(--text);box-shadow:var(--shadow);display:grid;align-content:start;gap:4px}.quick-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f2ec;color:var(--green);font-weight:950}.quick-card>strong{font-size:.86rem;margin-top:3px}.quick-card>small{font-size:.65rem;color:var(--muted);line-height:1.3}.quick-card.co2{border-top:4px solid #72777a}.quick-card.co2>span{background:#6d7275;color:#fff;font-size:.68rem}.quick-card.stock{border-top:4px solid var(--green)}
.home-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.home-status-grid article{border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px;box-shadow:var(--shadow)}.home-status-grid small,.home-status-grid strong{display:block}.home-status-grid small{min-height:2.3em;color:var(--muted);font-size:.62rem}.home-status-grid strong{font-size:1.35rem;color:var(--green);margin-top:3px}.home-status-grid .amber strong{color:var(--amber)}.home-status-grid .red strong{color:var(--red)}
.priority-list{display:grid;gap:8px}.priority-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:14px;padding:11px;background:#fff;box-shadow:var(--shadow)}.priority-card.danger{border-left-color:var(--red)}.priority-card.ok{border-left-color:var(--green-2)}.priority-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--amber-soft);color:var(--amber);font-weight:950}.priority-card.danger .priority-icon{background:var(--red-soft);color:var(--red)}.priority-card.ok .priority-icon{background:var(--green-soft);color:var(--green)}.priority-copy small,.priority-copy strong,.priority-copy span{display:block}.priority-copy small{font-size:.61rem;color:var(--muted);font-weight:850}.priority-copy strong{font-size:.79rem;margin:2px 0}.priority-copy span{font-size:.66rem;color:var(--muted);line-height:1.35}.priority-card>button{border:0;border-radius:10px;background:#e7ede9;color:var(--green);font-weight:900;font-size:.68rem;padding:8px}
.handoff-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:15px;padding:12px;margin:10px 0;background:#fff7dc;border:1px solid #ead27f}.handoff-banner small,.handoff-banner strong,.handoff-banner span{display:block}.handoff-banner small{font-size:.62rem;color:var(--amber);font-weight:900}.handoff-banner strong{font-size:.8rem;margin:2px 0}.handoff-banner span{font-size:.67rem;color:#725000}.handoff-banner button{white-space:nowrap}
.bottom-nav{position:fixed;left:50%;bottom:0;z-index:40;transform:translateX(-50%);width:min(900px,100%);height:72px;padding:6px max(9px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr 1fr 1.18fr 1fr 1fr;align-items:end;background:rgba(255,255,255,.97);border-top:1px solid #d8e0db;box-shadow:0 -8px 24px rgba(17,54,37,.11);backdrop-filter:blur(14px)}.bottom-nav button{position:relative;border:0;background:transparent;color:#647168;display:grid;justify-items:center;gap:2px;padding:5px 3px;font-weight:850}.bottom-nav button>span{font-size:1.12rem;line-height:1}.bottom-nav button>small{font-size:.59rem}.bottom-nav-item.active{color:var(--green)}.scan-fab{align-self:center!important;margin-top:-27px!important;color:#fff!important}.scan-fab>span{display:grid;place-items:center;width:55px;height:55px;border-radius:18px;background:var(--green);border:5px solid #f3f6f4;box-shadow:0 8px 20px #123d2a45;font-size:1.55rem!important}.nav-count{position:absolute;top:0;right:17%;display:grid;place-items:center;min-width:17px;height:17px;border-radius:99px;background:var(--red);color:#fff;font-size:.55rem;padding:0 4px}
.alerts-hero{background:linear-gradient(135deg,#6d2a2f,#a33c43);color:#fff;border:0}.alerts-hero small,.alerts-hero p{color:#f4dfe1}.alerts-list{margin-top:12px}
.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-selector label{position:relative}.mode-selector input{position:absolute;opacity:0;pointer-events:none}.mode-selector span{display:block;text-align:center;border:1px solid var(--line);border-radius:11px;padding:10px;background:#f4f7f5;color:var(--muted);font-size:.74rem}.mode-selector input:checked+span{background:#e5efe9;border-color:#91b5a0;color:var(--green);box-shadow:0 0 0 3px #2f75551c}
.dialog-copy{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}.quick-action-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.more-grid button{border:1px solid var(--line);border-radius:14px;background:#f7f9f8;color:var(--text);padding:12px;text-align:left;display:grid;gap:2px}.more-grid button>span{color:var(--green);font-weight:950}.more-grid button>strong{font-size:.78rem}.more-grid button>small{font-size:.64rem;color:var(--muted)}.security-note{display:grid;gap:3px;padding:11px;border-radius:12px;background:#edf3ef;color:#43584d}.security-note strong{font-size:.72rem}.security-note span{font-size:.66rem;line-height:1.35}
.near-change{background:var(--amber-soft)!important;color:var(--amber)!important}.status-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 7px;font-size:.64rem;font-weight:900}.status-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-chip.danger{background:var(--red-soft);color:var(--red)}.status-chip.warning{background:var(--amber-soft);color:var(--amber)}.status-chip.safe{background:var(--green-soft);color:var(--green)}
@media(max-width:700px){.desktop-module-tabs{display:none}.global-action{display:none}.topbar{position:sticky}.topbar .brand-lockup small{display:none}main{padding-bottom:20px}.footer-actions{margin-bottom:10px}}
@media(min-width:701px){body{padding-bottom:0}.bottom-nav{display:none}.welcome-card{margin-top:0}}
@media(max-width:520px){.home-status-grid{grid-template-columns:1fr 1fr}.welcome-card{padding:16px}.quick-grid{gap:7px}.quick-card{min-height:105px;padding:11px}.priority-card{grid-template-columns:auto 1fr}.priority-card>button{grid-column:2}.more-grid,.quick-action-list{grid-template-columns:1fr}.userbar{border-radius:14px}.login-card{margin:4vh auto}.handoff-banner{align-items:flex-start;flex-direction:column}.handoff-banner button{width:100%}}
@media(max-width:480px){.shift-actions{display:grid}.shift-actions button{width:100%}}

/* O₂ Ronda v0.5.1 · ajuste visual fiel a los prototipos aprobados */
:root{
  --green:#0f4d34;--green-2:#1c6a49;--green-3:#0a3a27;--green-soft:#e8f2ec;
  --bg:#f5f7f6;--surface:#ffffff;--text:#13231b;--muted:#65736b;--line:#dfe6e2;
  --amber:#a66d00;--amber-soft:#fff4d6;--red:#b32631;--red-soft:#fcebed;
  --blue:#24648f;--blue-soft:#eaf3f9;--shadow:0 3px 12px rgba(21,58,40,.055);
}
html{background:var(--bg);scroll-behavior:smooth}
body{background:var(--bg);font-size:15px;line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{-webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .16s ease,box-shadow .16s ease}
button:active{transform:scale(.985)}
.topbar{min-height:58px;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));background:var(--green-3);box-shadow:none;border-bottom:1px solid #ffffff18}
.brand-lockup{gap:9px}.brand-lockup img{width:36px;height:36px;border-radius:10px}.brand-lockup strong{font-size:1.02rem;letter-spacing:-.02em}.brand-lockup small{margin-top:1px;color:#d6e4dc;opacity:1}
.sync{padding:6px 9px;border:0;font-size:.65rem;letter-spacing:.015em}.sync.online{background:#e7f4eb;color:#175a36}.sync.local{background:#fff1c5;color:#725000}.sync.error{background:#fce7e9;color:#922b32}
main{width:min(1040px,100%);padding:12px 14px 30px}
.login-card,.shift-card,.userbar,.room-card,.section-card,.dialog-panel,dialog form,.stock-strip{border-color:var(--line);box-shadow:var(--shadow)}
.login-card{max-width:430px;padding:28px;border-radius:22px;box-shadow:0 18px 50px rgba(15,61,40,.1)}
.login-brand img{width:64px;height:64px;border-radius:18px}.login-brand h1{font-size:1.68rem}.pilot-chip{font-size:.63rem;padding:5px 8px;margin-bottom:16px}
label{font-size:.76rem;letter-spacing:.005em;color:#33473c}
input,select{min-height:46px;margin-top:6px;border:1px solid #cfd9d3;border-radius:12px;padding:11px 12px;background:#fff;font-size:.9rem}
input:focus,select:focus{border-color:#6c9d82;box-shadow:0 0 0 3px #1c6a4918}
.primary,.secondary,.ghost,.danger-soft,.round-button,.scan-button{min-height:44px;border-radius:12px;padding:10px 14px;font-size:.82rem;letter-spacing:-.006em}
.primary{background:var(--green);box-shadow:0 3px 8px #0f4d3420}.primary:hover{background:var(--green-3)}
.secondary{background:#edf2ef;color:#164d34}.danger-soft{background:var(--red-soft);color:#9c2630}.ghost{border-color:#b8c9bf}
.userbar{margin:0 0 8px;padding:7px 4px;background:transparent;border:0;border-radius:0;box-shadow:none}.userbar>div{column-gap:7px}.userbar small{font-size:.62rem!important;text-transform:uppercase;letter-spacing:.06em}.userbar strong{font-size:.84rem}.userbar .ghost{min-height:34px;padding:6px 10px;border:0;background:#e8eeea;color:#2e5a44;font-size:.7rem}
.role-chip{padding:3px 7px;font-size:.54rem;background:#dfebe4}
.shift-card{padding:12px 13px;margin-bottom:10px;border-radius:15px;background:#fff;border:1px solid var(--line);box-shadow:none}.shift-card small{font-size:.62rem;text-transform:uppercase;letter-spacing:.055em}.shift-card strong{font-size:.97rem;margin:2px 0}.shift-card span{font-size:.68rem}.shift-actions button{min-height:38px;padding:8px 10px;font-size:.69rem}
.welcome-card{position:relative;overflow:hidden;margin:8px 0 0;padding:17px 18px;border-radius:18px;background:linear-gradient(142deg,#0b3e2a,#155c3e 72%,#1d6a49);box-shadow:0 8px 22px rgba(10,58,39,.15)}
.welcome-card::after{content:"";position:absolute;width:140px;height:140px;right:-55px;bottom:-85px;border:24px solid #ffffff0b;border-radius:50%}.welcome-card h2{font-size:1.28rem;letter-spacing:-.025em}.welcome-card p{max-width:460px;font-size:.71rem}.welcome-card .role-chip{position:relative;z-index:1;font-size:.56rem}
.home-section-head{margin:18px 2px 8px}.home-section-head small{font-size:.56rem;color:#78857e}.home-section-head h2{font-size:1rem;letter-spacing:-.018em}.text-button{font-size:.68rem}
.quick-grid{gap:8px}.quick-card{position:relative;min-height:124px;padding:13px;border:1px solid #e1e8e4;border-radius:16px;box-shadow:0 2px 8px rgba(18,60,40,.045);grid-template-columns:38px 1fr;column-gap:9px;align-items:start;align-content:start}
.quick-card>span{grid-row:1/4;width:36px;height:36px;border-radius:11px}.quick-card>span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quick-card>strong,.quick-card>small,.quick-card>b{grid-column:2}.quick-card>strong{margin:1px 0 0;font-size:.79rem;letter-spacing:-.01em}.quick-card>small{font-size:.61rem;line-height:1.35}.quick-card>b{align-self:end;margin-top:12px;color:var(--green);font-size:.6rem;font-weight:900}.quick-card>b::after{content:"  ›";font-size:.78rem}.quick-card.co2{border-top:1px solid #dfe5e2}.quick-card.co2>span{background:#646a67;color:#fff}.quick-card.stock{border-top:1px solid #dfe5e2}.quick-card.stock>span{background:#e8f2ec}
.home-status-grid{gap:7px;margin-top:10px}.home-status-grid article{padding:10px 11px;border:1px solid #e2e8e5;border-radius:13px;box-shadow:none}.home-status-grid small{min-height:0;font-size:.58rem;line-height:1.25}.home-status-grid strong{font-size:1.25rem;margin-top:5px;letter-spacing:-.04em}
.priority-list{gap:7px}.priority-card{grid-template-columns:34px 1fr auto;gap:9px;padding:10px 10px;border:1px solid #e2e8e5;border-left:4px solid #d99a18;border-radius:13px;box-shadow:none}.priority-icon{width:32px;height:32px;border-radius:10px;font-size:.8rem}.priority-copy small{font-size:.54rem;text-transform:uppercase;letter-spacing:.04em}.priority-copy strong{font-size:.73rem;margin:2px 0}.priority-copy span{font-size:.61rem}.priority-card>button{padding:7px 8px;background:#edf2ef;font-size:.61rem}
.handoff-banner{padding:11px;border-radius:14px;box-shadow:none}.handoff-banner strong{font-size:.74rem}.handoff-banner span{font-size:.61rem}.handoff-banner button{min-height:36px;font-size:.66rem}
.summary{gap:7px}.summary article{padding:10px 11px;border-color:#e1e8e4;border-radius:13px;box-shadow:none}.summary span{font-size:.61rem}.summary strong{font-size:1.25rem;letter-spacing:-.035em}
.stock-strip{padding:13px;border-radius:15px;background:#fff;border-color:#dbe6df;box-shadow:none}.stock-strip small{font-size:.62rem;text-transform:uppercase;letter-spacing:.045em}.stock-totals b{font-size:1.3rem}.stock-strip p{font-size:.67rem}.stock-strip button{min-height:38px;font-size:.7rem}
.floor-filters{gap:4px;padding:4px;border-radius:12px;background:#e7ece9}.floor-filter{padding:8px 6px;border-radius:9px;font-size:.73rem}.floor-filter.active{box-shadow:0 1px 5px #173e2e14}
.toolbar{gap:7px}.toolbar input{min-height:43px}.toolbar button{min-height:43px}
.section-head{margin:16px 1px 8px}.section-head h2,.section-head h3{font-size:1rem;letter-spacing:-.015em}.section-head p{font-size:.68rem}
.room-list{gap:8px}.room-card{padding:12px 13px;border:1px solid #e0e7e3;border-radius:15px;box-shadow:0 2px 8px rgba(18,60,40,.04)}.room-title{font-size:.94rem;letter-spacing:-.012em}.room-subtitle{font-size:.66rem}.badge{padding:4px 6px;font-size:.56rem;letter-spacing:.015em}.room-metrics{gap:6px;margin-top:9px}.room-metrics div{padding:8px;background:#f4f7f5;border-radius:9px}.room-metrics small{font-size:.56rem}.room-metrics strong{font-size:.78rem}.room-card button.open-room{min-height:38px;margin-top:9px;padding:8px;background:#e8f1ec;color:#155239;font-size:.7rem}
.section-hero{padding:15px 16px;border-radius:17px;border-color:#e0e7e3;box-shadow:none}.section-hero small{font-size:.58rem}.section-hero h2{font-size:1.18rem;letter-spacing:-.022em}.section-hero p{font-size:.7rem}.hero-stat{padding:8px 10px;border-radius:11px}.hero-stat strong{font-size:1.35rem}
.fixed-list{gap:12px}.fixed-group-title h3{font-size:.93rem}.service-card{border-color:#e0e7e3;border-radius:14px;box-shadow:none}.service-card-head{padding:10px 12px}.fixed-slot{padding:11px}.fixed-slot-data{gap:6px;margin:8px 0}.fixed-slot-data div{padding:7px}.fixed-slot>button{min-height:38px}.legend-card{font-size:.66rem}
.block-gas-list{gap:9px}.block-gas-card{padding:13px;border-radius:16px;gap:9px;box-shadow:none}.gas-symbol{width:42px;height:42px;border-radius:12px;font-size:.92rem}.block-metrics{gap:6px}.block-metrics div{padding:7px}.block-gas-card>button{min-height:40px}.strong-info{font-size:.69rem}
.gas-summary{gap:7px}.gas-summary article{padding:11px;border-radius:14px;box-shadow:none}.gas-summary strong{font-size:1.45rem}.mini-summary{gap:7px}.mini-summary article{padding:10px;border-radius:13px;box-shadow:none}
.manager-card,.manager-kpis article{box-shadow:none}.manager-hero{background:linear-gradient(142deg,#0b3e2a,#1c6a49)}
.bottom-nav{height:72px;border-top:1px solid #dfe6e2;box-shadow:0 -5px 18px rgba(17,54,37,.08);background:rgba(255,255,255,.985)}.bottom-nav button{gap:3px;padding:4px 3px}.bottom-nav button>span{display:grid;place-items:center;width:24px;height:24px}.bottom-nav button>span svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button>small{font-size:.56rem}.scan-fab>span{width:54px!important;height:54px!important;border-radius:18px!important;border:5px solid var(--bg)!important;box-shadow:0 7px 18px #0d432e3b!important}.scan-fab>span svg{width:25px!important;height:25px!important;stroke:#fff!important;stroke-width:1.7!important}.bottom-nav-item.active::after{content:"";position:absolute;bottom:0;width:20px;height:2px;border-radius:3px;background:var(--green)}
.toast{bottom:88px;border-radius:13px;padding:11px 14px;font-size:.74rem;box-shadow:0 12px 32px #0003}
.dialog-head{padding-bottom:2px}.dialog-head h2{font-size:1.1rem;letter-spacing:-.018em}.dialog-head small{font-size:.62rem;text-transform:uppercase;letter-spacing:.045em}.dialog-head>button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf1ef;font-size:1.35rem}
dialog form,.dialog-panel{gap:11px;padding:18px;border-radius:20px}.info,.warning,.serial-hint{padding:9px 10px;border-radius:10px;font-size:.7rem}.dialog-actions{padding-top:2px}.dialog-actions button{min-width:105px}.scan-button{background:#e8f1ec;color:#155239}.mode-selector span,.state-selector span{min-height:43px;padding:11px;font-size:.7rem}
.inventory-summary{gap:7px}.inventory-summary article{padding:9px;border-radius:11px}.inventory-summary strong{font-size:1.2rem}.inventory-item{padding:10px;border-radius:12px}.stock-feedback{border-radius:11px}.stock-entry-form{background:#f7f9f8!important;border:1px solid #e2e8e5!important}
@media(max-width:700px){
  body{padding-bottom:82px}.topbar{min-height:54px}.topbar .brand-lockup img{width:33px;height:33px}.topbar .brand-lockup strong{font-size:.96rem}main{padding:9px 10px 20px}
  .userbar{margin-bottom:5px}.shift-card{margin-bottom:8px}.welcome-card{margin-top:6px}
  dialog{width:100vw;max-width:none;max-height:94dvh;margin:auto 0 0;border-radius:0;overflow:visible}
  dialog form,.dialog-panel{max-height:92dvh;border-radius:23px 23px 0 0;padding:17px 15px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -12px 35px rgba(8,35,23,.2)}
  dialog[open]{animation:sheet-in .2s ease-out}@keyframes sheet-in{from{transform:translateY(22px);opacity:.55}to{transform:none;opacity:1}}
  dialog::backdrop{background:rgba(7,29,20,.62);backdrop-filter:blur(2px)}
}
@media(max-width:480px){
  .quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:128px;padding:11px 10px;grid-template-columns:34px 1fr;column-gap:7px}.quick-card>span{width:32px;height:32px}.quick-card>b{margin-top:9px}
  .home-status-grid{grid-template-columns:1fr 1fr}.priority-card{grid-template-columns:32px 1fr}.priority-card>button{grid-column:2;width:max-content}.shift-card{align-items:stretch}.shift-actions{grid-template-columns:1fr 1fr}.shift-card button{width:100%}
  .two{gap:8px}.inventory-summary{grid-template-columns:1fr 1fr}.footer-actions{gap:7px}
}

/* O₂ Ronda v0.5.5 · identidad visual operativa */
:root{
  --green:#06482f;--green-2:#0d6845;--green-3:#043923;--green-soft:#eaf3ee;
  --bg:#f3f5f3;--surface:#fff;--text:#12261c;--muted:#65756c;--line:#dce5df;
  --amber:#b77600;--amber-soft:#fff1cf;--red:#c22732;--red-soft:#fce7e9;
  --shadow:0 7px 22px rgba(10,56,37,.07);
}
body{background:linear-gradient(180deg,#f8faf8 0,#f3f5f3 340px);color:var(--text)}
.topbar{min-height:68px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:linear-gradient(135deg,#043923,#075338);border:0;box-shadow:0 2px 12px rgba(3,40,25,.18)}
.brand-lockup{display:flex;align-items:center}.brand-lockup img{width:46px!important;height:46px!important;border-radius:13px!important;filter:drop-shadow(0 3px 6px #001b1050)}.brand-lockup strong{font-size:1.15rem!important;letter-spacing:-.025em}.brand-lockup small{font-size:.65rem;color:#cfe1d7;letter-spacing:.01em}
.topbar-actions{display:flex;align-items:center;gap:6px}.top-alert-button,.top-user-button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:#ffffff10;color:#fff}.top-alert-button svg,.top-user-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.top-user-button{background:#fff;color:var(--green)}
body:has(#appView.hidden) .top-alert-button,body:has(#appView.hidden) .top-user-button{display:none}
.sync{font-size:.61rem;padding:6px 8px;box-shadow:none}.sync.online{background:#dff2e6;color:#0d5b38}.sync.local{background:#fff0c4;color:#7b5600}
main{padding-top:15px}
.login-card{border:0;box-shadow:0 24px 60px rgba(5,57,35,.13)}.login-brand img{filter:drop-shadow(0 6px 10px #063c2630)}
.global-action{border:0;background:linear-gradient(110deg,#e8f2ed,#f8fbf9);box-shadow:none}.global-action .transfer-icon{filter:brightness(0) invert(1)}
.transfer-icon{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:4px}
.welcome-card{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0 0 12px;padding:18px 18px 14px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--text);box-shadow:var(--shadow)}
.welcome-card::after{display:none}.welcome-card small{color:#718078}.welcome-card h2{color:var(--text);font-size:1.45rem;letter-spacing:-.035em}.welcome-card p{color:#44584d;font-size:.76rem}.welcome-card>.role-chip{align-self:start;background:#e5f0e9;color:var(--green);border:0}
.welcome-shift-control{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;padding-top:11px;border-top:1px solid #e5ebe7}.welcome-shift-control small,.welcome-shift-control strong,.welcome-shift-control span{display:block}.welcome-shift-control small{font-size:.55rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.welcome-shift-control strong{font-size:.8rem;margin:2px 0}.welcome-shift-control span{font-size:.62rem;color:var(--muted)}.welcome-shift-button{border:0;border-radius:11px;background:var(--green);color:#fff;font-weight:900;min-height:37px;padding:8px 11px}.welcome-shift-control .secondary{min-height:37px}
.home-section-head{margin:17px 3px 8px}.home-section-head small{color:#78877e}.home-section-head h2{font-size:1.05rem}
.priority-card{background:#fff;border-radius:15px}.priority-card.warning{background:linear-gradient(105deg,#fff6dd,#fff);border-color:#edc76c}.priority-card.danger{background:linear-gradient(105deg,#fcebed,#fff);border-color:#e9a9ad}
.quick-grid{gap:10px}.quick-card{min-height:154px;padding:12px;border:1px solid #dfe7e2;border-radius:17px;background:linear-gradient(150deg,#fff 70%,#f6f9f7);box-shadow:0 4px 14px rgba(12,59,39,.06);display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:8px;align-items:center;overflow:hidden}.quick-card>span.quick-visual{grid-row:1/4;grid-column:1;display:flex;align-items:center;justify-content:center;width:76px!important;height:118px!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible}.quick-visual img{display:block;max-width:72px;height:112px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(8,49,31,.15))}.services-visual{position:relative}.services-visual img{position:absolute;height:96px;max-width:50px}.services-visual img:first-child{left:6px;bottom:7px}.services-visual img:last-child{right:1px;bottom:3px;height:112px}.gas-pair{gap:0}.gas-pair img{width:43px;height:108px;margin:0 -3px}.cage-visual img{width:80px;max-width:80px;height:112px}.quick-card>strong,.quick-card>small,.quick-card>b{grid-column:2}.quick-card>strong{align-self:end;font-size:.83rem}.quick-card>small{font-size:.62rem}.quick-card>b{align-self:start;margin-top:8px;font-size:.62rem}.quick-card.co2,.quick-card.stock{border-top:1px solid #dfe7e2}
.home-status-grid article{background:#fff}.stock-strip{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;padding:12px 13px;background:#fff}.stock-strip-cylinder{width:52px;height:90px;object-fit:contain;filter:drop-shadow(0 4px 4px #082e1e20)}.stock-strip>div{min-width:0}.stock-strip button{align-self:center}
.room-card{overflow:hidden}.room-card-main{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:stretch}.room-cylinder-visual{display:flex;align-items:center;justify-content:center;min-height:130px;border-radius:13px;background:linear-gradient(180deg,#f1f6f3,#e9f0ec)}.room-cylinder-visual.inactive{opacity:.3;filter:grayscale(1)}.room-cylinder{width:64px;height:126px;object-fit:contain;filter:drop-shadow(0 4px 5px #0b3d2820)}.room-card-content{min-width:0}.room-row{align-items:flex-start}.room-card .badges{max-width:52%}.room-metrics{grid-template-columns:repeat(3,1fr)}
.section-hero{position:relative;overflow:hidden;min-height:130px;background:#fff}.section-hero>div:first-child{position:relative;z-index:2;max-width:58%}.hero-cylinders,.hero-gases{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;gap:-4px;height:102px}.hero-cylinders img,.hero-gases img{height:100px;width:48px;object-fit:contain;filter:drop-shadow(0 4px 5px #0b3d2825)}.hero-cylinders img:first-child{height:78px}.hero-gases img{width:53px}.hero-cage{width:116px;height:112px;object-fit:contain}.hero-stat{position:relative;z-index:2}
.section-hero.manager-hero{background:linear-gradient(142deg,#0b3e2a,#1c6a49)}
.fixed-slot{display:grid!important;grid-template-columns:60px minmax(0,1fr);gap:10px;align-items:stretch}.fixed-cylinder-visual{display:grid;place-items:center;background:#edf4f0;border-radius:11px;min-height:122px}.fixed-cylinder{width:54px;height:112px;object-fit:contain}.fixed-slot-content{min-width:0}.fixed-slot-data{grid-template-columns:repeat(3,1fr)}
.block-gas-list{gap:12px}.block-gas-card{position:relative;overflow:hidden;padding:14px;border-radius:18px}.block-gas-head{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:12px}.block-cylinder-stage{display:grid;place-items:center;height:138px;border-radius:15px;background:#ffffff1a}.block-cylinder{height:132px;width:76px;object-fit:contain;filter:drop-shadow(0 7px 7px #0003)}.block-gas-title small,.block-gas-title strong,.block-gas-title em,.block-gas-title .gas-word{display:block}.block-gas-title .gas-word{font-size:1.45rem;font-weight:950;letter-spacing:-.04em}.block-gas-title small{font-size:.61rem;margin-top:5px}.block-gas-title strong{font-size:1.05rem}.block-gas-title em{font-size:.65rem;font-style:normal;margin-top:4px}.gas-card-co2{background:linear-gradient(135deg,#5e6461,#858b88)!important;color:#fff!important;border:0!important}.gas-card-co2 small,.gas-card-co2 .block-gas-title em{color:#eef2f0!important}.gas-card-co2 .block-metrics div{background:#ffffff17!important}.gas-card-co2 .block-metrics small{color:#e0e6e3!important}.gas-card-co2 .block-metrics strong{color:#fff!important}.gas-card-co2 .open-block{background:#fff;color:#545b57}.gas-card-aire{background:linear-gradient(135deg,#06442e,#0a6a47)!important;color:#fff!important;border:0!important;border-top:5px solid #f3c43d!important}.gas-card-aire .gas-word{color:#f3c43d}.gas-card-aire small,.gas-card-aire .block-gas-title em{color:#d8e9df!important}.gas-card-aire .block-metrics div{background:#ffffff12!important}.gas-card-aire .block-metrics small{color:#d8e9df!important}.gas-card-aire .block-metrics strong{color:#fff!important}.gas-card-aire .open-block{background:#f3c43d;color:#16452f}.block-metrics{grid-template-columns:repeat(4,1fr)}
.inventory-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px}.inventory-cylinder-visual{display:grid;place-items:center;border-radius:11px;background:#edf3ef}.inventory-cylinder{width:56px;height:112px;object-fit:contain}.inventory-item-content{min-width:0}.inventory-item-head>div{display:grid;gap:2px;min-width:0}.inventory-item-head strong{display:block;line-height:1.2;overflow-wrap:anywhere}.inventory-item-head .badge{flex:0 0 auto}.inventory-item-actions .secondary{background:var(--green);color:#fff}
#stockAlertList .inventory-item{display:block}#stockAlertList .inventory-item-head{width:100%}#stockAlertList .inventory-item>span{display:block;margin-top:6px;color:var(--muted);font-size:.7rem;line-height:1.4}
.scan-result-placeholder{display:flex;align-items:center;gap:13px;padding:14px;border:1px dashed #b9cbc1;border-radius:15px;background:#f3f7f4}.scan-placeholder-cylinder{width:48px;height:92px;object-fit:contain;opacity:.7}.scan-result-placeholder strong,.scan-result-placeholder span{display:block}.scan-result-placeholder strong{font-size:.83rem}.scan-result-placeholder span{font-size:.68rem;color:var(--muted);margin-top:3px}.scan-result-placeholder.bad{border-color:#e2a5aa;background:var(--red-soft)}
.identified-cylinder-card{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:14px;border:1px solid #d8e4dd;border-radius:17px;background:linear-gradient(145deg,#f3f8f5,#fff)}.identified-cylinder-visual{display:grid;place-items:center}.identified-cylinder{width:98px;height:205px;object-fit:contain;filter:drop-shadow(0 6px 6px #0b3d2820)}.identified-cylinder-data>small{font-size:.6rem;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.06em}.identified-cylinder-data h3{margin:2px 0 9px;font-size:1.25rem}.identified-cylinder-data dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.identified-cylinder-data dl div{padding:7px;background:#fff;border-radius:9px}.identified-cylinder-data dt{font-size:.54rem;color:var(--muted)}.identified-cylinder-data dd{margin:2px 0 0;font-size:.68rem;font-weight:850}
.quick-action-list button{display:flex;align-items:center;justify-content:center}.more-panel .userbar{display:flex;margin:0;padding:11px 12px;background:#edf4f0;border-radius:14px}.more-grid button{background:#fff}.more-grid button>span{font-size:1rem}
.bottom-nav{height:75px}.scan-fab>span{background:linear-gradient(145deg,#08633f,#043e29)!important}.bottom-nav-item.active::after{height:3px;width:24px}

@media(max-width:700px){
  main{padding:10px 10px 22px}.topbar{min-height:64px}.topbar .brand-lockup img{width:42px!important;height:42px!important}.topbar .brand-lockup strong{font-size:1.08rem!important}.topbar .brand-lockup small{display:none}.topbar-actions{gap:4px}.top-alert-button,.top-user-button{width:34px;height:34px}.sync{font-size:.56rem}
  .global-action{display:none}.welcome-card{margin-top:0}.quick-card{grid-template-columns:68px minmax(0,1fr);min-height:148px}.quick-card>span.quick-visual{width:68px!important}.quick-visual img{max-width:64px}.stock-strip{grid-template-columns:48px 1fr}.stock-strip-cylinder{width:46px}.stock-strip button{grid-column:1/-1;width:100%}
  .hero-cylinders,.hero-gases,.hero-cage{display:none}.section-hero>div:first-child{max-width:100%}.block-gas-head{grid-template-columns:76px 1fr auto}.block-cylinder-stage{height:120px}.block-cylinder{height:116px;width:66px}.block-metrics{grid-template-columns:1fr 1fr}
  .room-card-main{grid-template-columns:60px minmax(0,1fr)}.room-cylinder{width:54px;height:112px}.room-cylinder-visual{min-height:116px}.room-metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:390px){
  .top-alert-button{display:none}.quick-grid{gap:7px}.quick-card{grid-template-columns:58px minmax(0,1fr);min-height:140px;padding:9px}.quick-card>span.quick-visual{width:58px!important;height:108px!important}.quick-visual img{max-width:56px;height:104px}.gas-pair img{width:34px}.quick-card>strong{font-size:.76rem}.quick-card>small{font-size:.58rem}.welcome-card{padding:15px}.welcome-shift-control{align-items:flex-end}.welcome-shift-control span{display:none}.shift-actions{grid-template-columns:1fr}.identified-cylinder-card{grid-template-columns:88px 1fr}.identified-cylinder{width:82px}.fixed-slot{grid-template-columns:52px 1fr}.fixed-cylinder{width:46px}
}

@media(min-width:901px){
  body{background:#f2f5f3}.topbar{padding-left:max(28px,calc((100vw - 1440px)/2 + 24px));padding-right:max(28px,calc((100vw - 1440px)/2 + 24px));min-height:78px}.brand-lockup img{width:52px!important;height:52px!important}.brand-lockup strong{font-size:1.26rem!important}.brand-lockup small{font-size:.68rem}.top-alert-button,.top-user-button{width:42px;height:42px}
  main{width:min(1440px,100%);padding:24px}.login-card{margin:5vh auto}
  #appView{display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:24px;align-items:start}#appView.hidden{display:none!important}
  .desktop-module-tabs{grid-column:1;grid-row:1/span 30;position:sticky;top:102px;display:flex;flex-direction:column;gap:4px;margin:0;padding:11px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.module-tab{justify-content:flex-start;padding:12px 13px;border-radius:12px;font-size:.8rem}.module-tab span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#edf4f0;color:var(--green)}.module-tab.active{background:var(--green);color:#fff;box-shadow:0 6px 16px #06482f25}.module-tab.active span{background:#ffffff1b;color:#fff}
  .global-action,#expiryAlertStrip,.module-panel{grid-column:2}.global-action{margin:0 0 14px}.module-panel{min-width:0}.bottom-nav{display:none}
  #inicioModule{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:0 18px}#inicioModule.hidden{display:none!important}.welcome-card{grid-column:1/-1;grid-row:1}.handoff-banner{grid-column:1/-1;grid-row:2}.priorities-head{grid-column:1;grid-row:3}.priority-list{grid-column:1;grid-row:4}.quick-head{grid-column:2;grid-row:3}.quick-grid{grid-column:2;grid-row:4/span 2;grid-template-columns:1fr 1fr}.quick-card{min-height:180px;grid-template-columns:82px 1fr}.quick-card>span.quick-visual{width:82px!important;height:145px!important}.quick-visual img{height:138px}.home-status-grid{grid-column:1;grid-row:5;grid-template-columns:1fr 1fr;align-self:start;margin-top:18px}
  #pisosModule .room-list{grid-template-columns:1fr 1fr}.stock-strip{grid-template-columns:62px 1fr auto}.stock-strip-cylinder{width:60px;height:96px}.summary{grid-template-columns:repeat(4,1fr)}
  .block-gas-list{grid-template-columns:1fr 1fr}.block-gas-card{min-height:390px}.fixed-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fixed-group{min-width:0}.gas-summary{grid-template-columns:repeat(3,1fr)}
  .inventory-panel{width:min(1060px,92vw)}.inventory-list{grid-template-columns:1fr 1fr}.more-panel{width:560px}
}

/* Base visual consolidada para recorridas, cambio directo e inventario consultable */
.gas-summary .stock-gas-card{
  position:relative;min-width:0;border:1px solid var(--line);border-top:4px solid var(--green);
  border-radius:15px;background:#fff;padding:13px 38px 13px 13px;box-shadow:var(--shadow);
  color:var(--text);font:inherit;text-align:left;cursor:pointer
}
.gas-summary .stock-gas-card::after{
  content:"›";position:absolute;right:13px;top:50%;transform:translateY(-50%);
  color:var(--green);font-size:1.55rem;font-weight:900;line-height:1
}
.gas-summary .stock-gas-card:hover,.gas-summary .stock-gas-card:focus-visible{
  border-color:#9bb8a8;box-shadow:0 8px 22px rgba(10,56,37,.12);outline:0
}
.gas-summary .stock-gas-card:focus-visible{box-shadow:0 0 0 3px #2f75552b,0 8px 22px rgba(10,56,37,.12)}
.gas-summary .stock-gas-card.gas-co2{border-top-color:#6d7275}.gas-summary .stock-gas-card.gas-co2::after{color:#5b6063}
.gas-summary .stock-gas-card.gas-air{border-top-color:#f0c94a;background:#174b35}.gas-summary .stock-gas-card.gas-air::after{color:#f0c94a}
.gas-summary .stock-gas-card small,.gas-summary .stock-gas-card strong,.gas-summary .stock-gas-card span{display:block}
.gas-summary .stock-gas-card small{font-size:.69rem;color:var(--muted)}
.gas-summary .stock-gas-card strong{font-size:1.45rem;margin:3px 0;color:var(--green)}
.gas-summary .stock-gas-card span{font-size:.68rem;color:var(--muted)}
.gas-summary .stock-gas-card.gas-co2 strong{color:#5b6063}
.gas-summary .stock-gas-card.gas-air strong{color:#f0c94a}
.gas-summary .stock-gas-card.gas-air small,.gas-summary .stock-gas-card.gas-air span{color:#dcebe2}
.fixed-slot-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:8px}
.fixed-slot-actions.has-change{grid-template-columns:1fr 1fr}
.fixed-slot-actions button{min-height:42px;border:0;border-radius:11px;padding:9px 11px;font-weight:900;font-size:.72rem}
.mandatory-change-button{background:var(--red);color:#fff;box-shadow:0 4px 10px #c2273225}
.mandatory-change-button:hover{background:#a91f2a}
.fixed-change-context{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:11px;border:1px solid #efb3b8;border-radius:12px;background:var(--red-soft)}
.fixed-change-context small{grid-column:1;color:var(--red);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.fixed-change-context strong{grid-column:1;color:#8e2029;font-size:.9rem}.fixed-change-context span{grid-column:2;grid-row:1/3;align-self:center;color:#6e3539;font-size:.7rem;line-height:1.4}
@media(max-width:480px){
  .gas-summary .stock-gas-card{padding:11px 34px 11px 11px}
  .fixed-slot-actions.has-change{grid-template-columns:1fr}
}

/* O₂ Ronda v0.7.2 · navegación accionable, ayuda y práctica */
.top-help-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff42;border-radius:12px;background:#ffffff12;color:#fff;font-size:.9rem;font-weight:950}
body:has(#appView.hidden) .top-help-button{display:none}
.practice-entry{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:15px;padding:13px;border:1px solid #c7d9cf;border-radius:15px;background:linear-gradient(135deg,#edf6f1,#fff)}
.practice-entry small,.practice-entry strong,.practice-entry span{display:block}.practice-entry small{color:var(--green);font-size:.55rem;font-weight:950;letter-spacing:.07em}.practice-entry strong{margin:2px 0;font-size:.9rem}.practice-entry span{color:var(--muted);font-size:.66rem;line-height:1.4}.practice-entry button{white-space:nowrap}
.login-help-link{justify-self:center;border:0;background:transparent;color:var(--green);padding:4px;font-size:.74rem;font-weight:850}
.practice-banner{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 14px;border:1px solid #e2bc54;border-radius:16px;background:linear-gradient(110deg,#fff4cf,#fffaf0);box-shadow:0 5px 16px #9a6b0014}
.practice-banner small,.practice-banner strong,.practice-banner span{display:block}.practice-banner small{color:#765100;font-size:.55rem;font-weight:950;letter-spacing:.08em}.practice-banner strong{font-size:.82rem;margin:2px 0}.practice-banner span{color:#725e2d;font-size:.65rem}.practice-banner>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.practice-banner .ghost{color:#765100}

.actionable-summary button{position:relative;min-width:0;border:1px solid var(--line);border-radius:14px;padding:11px 35px 11px 12px;background:#fff;text-align:left;color:var(--text);box-shadow:none}
.actionable-summary button::after,.actionable-kpis button::after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#829188;font-size:1.35rem;font-weight:950}
.actionable-summary button:hover,.actionable-summary button:focus-visible,.actionable-kpis button:hover,.actionable-kpis button:focus-visible{border-color:#91b09f;outline:0;box-shadow:0 0 0 3px #2f75551a}
.actionable-summary button.active{border-color:var(--green);background:var(--green-soft)}
.actionable-summary span,.actionable-summary strong,.actionable-summary small{display:block}.actionable-summary span{color:var(--muted);font-size:.61rem}.actionable-summary strong{margin-top:3px;color:var(--green);font-size:1.25rem}.actionable-summary small{margin-top:2px;color:var(--muted);font-size:.55rem}.actionable-summary .red strong{color:var(--red)}.actionable-summary .amber strong{color:var(--amber)}

.fixed-controls{display:block;margin:12px 0 8px}.fixed-sector-filters{display:flex;gap:7px;margin:0 0 12px;padding:2px 1px 6px;overflow-x:auto;scrollbar-width:thin}.fixed-sector-filters button{display:flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:#405349;padding:8px 10px;font-size:.68rem;font-weight:850}.fixed-sector-filters button.active{border-color:var(--green);background:var(--green);color:#fff}.fixed-sector-filters b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#edf2ef;color:var(--green);font-size:.6rem}.fixed-sector-filters button.active b{background:#ffffff22;color:#fff}

.actionable-kpis{grid-template-columns:repeat(8,1fr)}.actionable-kpis button{position:relative;min-width:0;border:1px solid var(--line);border-top:4px solid #71847a;border-radius:14px;background:#fff;color:var(--text);padding:11px 28px 11px 11px;text-align:left}.actionable-kpis button.green{border-top-color:var(--green-2)}.actionable-kpis button.blue{border-top-color:var(--blue)}.actionable-kpis button.amber{border-top-color:#d3980a}.actionable-kpis button.red{border-top-color:var(--red)}.actionable-kpis small,.actionable-kpis strong,.actionable-kpis span{display:block}.actionable-kpis small{min-height:2.1em;color:var(--muted);font-size:.63rem;font-weight:850}.actionable-kpis strong{margin:3px 0;color:var(--green);font-size:1.4rem}.actionable-kpis span{color:var(--muted);font-size:.57rem}.actionable-kpis button.red strong{color:var(--red)}.actionable-kpis button.amber strong{color:var(--amber)}.actionable-kpis button.blue strong{color:var(--blue)}

.retirement-panel{width:min(560px,94vw)}.retirement-cylinder{display:grid;gap:7px;padding:13px;border:1px solid #efbec1;border-radius:14px;background:var(--red-soft)}.retirement-cylinder small,.retirement-cylinder strong,.retirement-cylinder span{display:block}.retirement-cylinder small{color:#7d3438;font-size:.62rem}.retirement-cylinder input{margin-top:4px;background:#fff;font-weight:950;color:var(--red)}.retirement-cylinder span{font-size:.7rem;color:#7d3438}.retirement-panel .dialog-actions .danger-soft{min-width:150px}

#inventoryDialog{width:min(1120px,94vw);max-width:none;max-height:94vh;margin:auto}.inventory-panel{width:100%;min-height:0;max-height:90vh;overflow:hidden;grid-template-rows:auto auto auto auto auto auto minmax(120px,1fr) auto}.inventory-panel .dialog-head{position:sticky;top:0;z-index:3;background:#fff}.inventory-sync-row>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.inventory-controls{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(135px,180px))}.inventory-panel .inventory-list{overflow:auto;overscroll-behavior:contain;padding-right:3px;align-content:start}.inventory-panel.list-only .stock-entry-form{display:none}.inventory-panel.list-only{grid-template-rows:auto auto auto auto minmax(180px,1fr) auto}.inventory-panel.list-only .inventory-list{max-height:55vh}.stock-entry-form.hidden{display:none!important}

.profile-panel{width:min(560px,94vw)}.profile-summary{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}.profile-summary div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:#f5f8f6}.profile-summary small,.profile-summary strong{display:block}.profile-summary small{color:var(--muted);font-size:.58rem}.profile-summary strong{margin-top:3px;font-size:.72rem;word-break:break-word}.embedded-form{display:grid!important;gap:10px!important;padding:13px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#f8faf9!important;box-shadow:none!important}
.help-panel{width:min(820px,94vw)}.help-topic-list{display:flex;gap:6px;padding-bottom:5px;overflow-x:auto;scrollbar-width:none}.help-topic-list::-webkit-scrollbar{display:none}.help-topic-list button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:#405349;padding:8px 11px;font-size:.66rem;font-weight:850}.help-topic-list button.active{background:var(--green);border-color:var(--green);color:#fff}.help-content{min-height:260px;padding:16px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#f5f9f7,#fff)}.help-content h3{margin:0 0 5px;font-size:1.05rem}.help-content>p{margin:0 0 13px;color:var(--muted);font-size:.72rem;line-height:1.5}.help-steps{display:grid;gap:8px;counter-reset:help-step}.help-steps li{position:relative;list-style:none;padding:10px 11px 10px 42px;border-radius:11px;background:#fff;font-size:.72rem;line-height:1.45;counter-increment:help-step}.help-steps li::before{content:counter(help-step);position:absolute;left:10px;top:9px;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--green-soft);color:var(--green);font-weight:950}.help-tip{margin-top:10px;padding:10px;border-radius:11px;background:#fff4cf;color:#71530b;font-size:.68rem;line-height:1.45}

.practice-setup-panel{width:min(580px,94vw)}.practice-intro{display:grid;grid-template-columns:75px 1fr;align-items:center;gap:13px;padding:13px;border-radius:15px;background:linear-gradient(135deg,#edf5f1,#fff)}.practice-intro img{width:66px;height:124px;object-fit:contain}.practice-intro strong,.practice-intro span{display:block}.practice-intro strong{font-size:.9rem}.practice-intro span{margin-top:4px;color:var(--muted);font-size:.69rem;line-height:1.45}.practice-safety{display:grid;gap:3px;padding:11px;border:1px solid #b8dbc5;border-radius:12px;background:#e8f6ed;color:#17572f}.practice-safety strong{font-size:.72rem}.practice-safety span{font-size:.64rem;line-height:1.4}
.auto-demo-panel{width:min(720px,94vw)}.auto-demo-visual{min-height:330px;display:grid;place-items:center;padding:22px;border-radius:17px;background:linear-gradient(145deg,#edf5f1,#fff);overflow:hidden}.auto-demo-card{width:min(500px,100%);display:grid;grid-template-columns:110px 1fr;align-items:center;gap:18px;padding:18px;border:1px solid #d3e2da;border-radius:18px;background:#fff;box-shadow:0 16px 36px #0b3d2814}.auto-demo-card img{width:100px;height:205px;object-fit:contain}.auto-demo-card small,.auto-demo-card strong,.auto-demo-card span{display:block}.auto-demo-card small{color:var(--green);font-size:.58rem;font-weight:950;letter-spacing:.06em}.auto-demo-card strong{margin:4px 0 8px;font-size:1.2rem}.auto-demo-card span{color:var(--muted);font-size:.74rem;line-height:1.5}.auto-demo-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.auto-demo-progress span{font-size:.65rem;color:var(--muted)}.auto-demo-progress progress{width:100%;accent-color:var(--green)}

.guide-coach{position:fixed;z-index:80;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,calc(100vw - 24px));display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid #d8b34f;border-radius:17px;background:#fff9e8;box-shadow:0 18px 55px #17231d45}.guide-coach small,.guide-coach strong,.guide-coach span{display:block}.guide-coach small{color:#7a5800;font-size:.55rem;font-weight:950;letter-spacing:.06em}.guide-coach strong{margin:2px 0;font-size:.84rem}.guide-coach span{color:#625739;font-size:.68rem;line-height:1.4}.guide-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.guide-actions .ghost{color:#735300}.guide-highlight{position:relative!important;z-index:70!important;outline:4px solid #f0bd30!important;outline-offset:4px!important;box-shadow:0 0 0 9999px rgba(8,32,22,.42)!important;animation:guide-pulse 1.25s ease-in-out infinite alternate}@keyframes guide-pulse{to{outline-color:#fff0a8;outline-offset:7px}}

@media(max-width:1000px){.actionable-kpis{grid-template-columns:repeat(4,1fr)}.inventory-controls{grid-template-columns:1fr 1fr}.inventory-controls input{grid-column:1/-1}}
@media(max-width:700px){
  .practice-banner{grid-column:1;align-items:flex-start;flex-direction:column}.practice-banner>div:last-child{width:100%;justify-content:stretch}.practice-banner>div:last-child button{flex:1}
  #inventoryDialog{width:100vw;max-height:94dvh;margin:auto 0 0}.inventory-panel{max-height:92dvh}.inventory-panel.list-only .inventory-list{max-height:none}.fixed-sector-filters{margin-left:-2px;margin-right:-2px}
  #inventoryDialog .inventory-panel{display:flex;flex-direction:column;gap:11px;overflow-y:auto;overflow-x:hidden}
  #inventoryDialog .inventory-panel>*{min-width:0;flex:0 0 auto}
  #inventoryDialog .inventory-list{min-height:0;overflow:visible}
  #inventoryDialog .sticky-actions{position:static;padding:4px 0 0}
  .guide-coach{bottom:88px;grid-template-columns:1fr}.guide-actions{justify-content:stretch}.guide-actions button{flex:1}.top-help-button{width:34px;height:34px}
}
@media(max-width:520px){
  .practice-entry{grid-template-columns:1fr}.practice-entry button{width:100%}.actionable-kpis{grid-template-columns:1fr 1fr}.actionable-kpis small{min-height:0}.inventory-controls{grid-template-columns:1fr}.inventory-controls input{grid-column:auto}.profile-summary{grid-template-columns:1fr}.help-content{padding:12px}.auto-demo-visual{min-height:300px;padding:12px}.auto-demo-card{grid-template-columns:78px 1fr;padding:13px}.auto-demo-card img{width:72px;height:155px}.guide-actions button{min-width:calc(50% - 4px)}
}

/* v0.7.2 · ventanas de escritorio: un solo marco, contenido acotado y sin cortes */
@media(min-width:701px){
  dialog{
    width:min(540px,calc(100vw - 64px));
    max-width:calc(100vw - 64px);
    max-height:calc(100dvh - 64px);
    margin:auto;
    overflow:visible;
  }
  dialog>form,
  dialog>.dialog-panel{
    width:100%;
    min-width:0;
    min-height:0;
    max-height:calc(100dvh - 64px);
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  dialog .dialog-head,
  dialog .dialog-actions{
    flex:0 0 auto;
  }
  .movements-panel,
  .transfer-panel,
  .inventory-panel{
    min-height:0;
  }

  #helpDialog{
    width:min(700px,calc(100vw - 80px));
  }
  #helpDialog .help-panel{
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto;
    max-height:min(520px,calc(100dvh - 80px));
    overflow:hidden;
  }
  #helpDialog .help-content{
    min-height:0;
    max-height:310px;
    overflow:auto;
    overscroll-behavior:contain;
  }

  #movementsDialog{
    width:min(820px,calc(100vw - 80px));
  }
  #movementsDialog .movements-panel{
    max-height:min(620px,calc(100dvh - 80px));
  }
  #universalTransferDialog{
    width:min(640px,calc(100vw - 80px));
  }

  #inventoryDialog{
    width:min(960px,calc(100vw - 80px));
    max-height:calc(100dvh - 80px);
  }
  #inventoryDialog:has(.inventory-panel.list-only){
    width:min(820px,calc(100vw - 80px));
  }
  #inventoryDialog .inventory-panel{
    width:100%;
    min-width:0;
    max-height:min(650px,calc(100dvh - 80px));
    display:flex;
    flex-direction:column;
    gap:9px;
    padding:14px;
    overflow-y:auto;
    overflow-x:hidden;
  }
  #inventoryDialog .inventory-controls{
    grid-template-columns:minmax(180px,1fr) 150px 125px 200px;
  }
  #inventoryDialog .inventory-panel>*{
    min-width:0;
    flex:0 0 auto;
  }
  #inventoryDialog .inventory-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    flex:1 1 220px;
    min-height:140px;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    padding-right:6px;
    scrollbar-gutter:stable;
    align-content:start;
  }
  #inventoryDialog .inventory-item,
  #inventoryDialog .inventory-item-content,
  #inventoryDialog .inventory-meta,
  #inventoryDialog .inventory-meta>div{
    min-width:0;
  }
  #inventoryDialog .inventory-item{
    overflow:hidden;
  }
  #inventoryDialog .inventory-panel.list-only{
    max-height:min(520px,calc(100dvh - 96px));
    overflow:hidden;
  }
  #inventoryDialog .inventory-panel.list-only .inventory-summary,
  #inventoryDialog .inventory-panel.list-only .inventory-sync-row{
    display:none;
  }
  #inventoryDialog .inventory-panel.list-only .inventory-list{
    flex:0 1 auto;
    min-height:0;
    max-height:min(360px,calc(100dvh - 260px));
  }
  #inventoryDialog .inventory-panel.list-only .sticky-actions{
    position:static;
    padding:2px 0 0;
  }
  #inventoryDialog .sticky-actions{
    position:static;
    padding:2px 0 0;
  }

  body:has(#guideCoach:not(.hidden)) dialog[open]{
    inset-block-start:32px;
    inset-block-end:auto;
    max-height:calc(100dvh - 210px);
    margin-block:0;
  }
  body:has(#guideCoach:not(.hidden)) dialog[open]>form,
  body:has(#guideCoach:not(.hidden)) dialog[open]>.dialog-panel{
    max-height:calc(100dvh - 210px);
  }
}

@media(min-width:701px) and (max-width:900px){
  #inventoryDialog:has(.inventory-panel.list-only){
    width:min(680px,calc(100vw - 64px));
  }
  #inventoryDialog .inventory-controls{
    grid-template-columns:1fr 1fr;
  }
  #inventoryDialog .inventory-controls input{
    grid-column:1/-1;
  }
  #inventoryDialog .inventory-list{
    grid-template-columns:1fr;
  }
}

/* v0.8.1 · estado del flash del lector */
.scanner-torch-on{box-shadow:inset 0 0 0 2px currentColor;font-weight:800}

/* v0.8.2 · cuentas, aprobación y seguridad */
.account-panel,.user-admin-panel{max-width:720px}
.user-admin-list{display:grid;gap:12px;max-height:65vh;overflow:auto;padding:2px}
.user-admin-card{border:1px solid var(--line,#d7ded9);border-radius:18px;padding:14px;background:#fff;display:grid;gap:12px}
.user-admin-card.pending{border-color:#e1b94d;background:#fffaf0}
.user-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.user-admin-head>div{display:grid;gap:3px;min-width:0}
.user-admin-head strong,.user-admin-head small{overflow-wrap:anywhere}
.user-status{font-size:.78rem;font-weight:800;border-radius:999px;padding:6px 9px;background:#eef2ef;white-space:nowrap}
.user-status.pending{background:#fff0bf;color:#775900}.user-status.approved{background:#dff3e7;color:#145d3c}.user-status.rejected,.user-status.disabled{background:#f6e3e3;color:#8c2d33}
.user-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
#signupDialog .security-note{margin-top:4px}
@media(max-width:640px){.user-admin-head{align-items:flex-start}.user-admin-actions button{flex:1 1 42%}}

.scanner-tools{display:flex;justify-content:center;margin:.75rem 0 .25rem}.scanner-tools .secondary{width:100%;max-width:320px}.scanner-torch-on{font-weight:800}
