:root{--ink:#24343a;--muted:#5f6c69;--navy:#162934;--navy-2:#203b45;--navy-3:#2b4c54;--sidebar-bg:var(--navy);--cream:#fbfaf7;--sand:#f2eee7;--line:#dfd9cf;--gold:#c79552;--gold-soft:#f4ead9;--sage:#6f9586;--sage-soft:#e5f0eb;--coral:#c96f5e;--coral-soft:#fae9e4;--blue:#668b9a;--blue-soft:#e6eff2;--chart-occupied:#c28b3d;--chart-reserved:#5c8ca0;--chart-available:#6f9d88;--chart-cleaning:#8c78a8;--chart-maintenance:#c56d67;--shadow:0 13px 34px #16293412}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--sand)}body{color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex;background:var(--sand)}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;background:var(--sidebar-bg);color:#dbe5e3;padding:25px 16px 17px;display:flex;flex-direction:column;z-index:3}.brand{padding:5px 12px 27px;border-bottom:1px solid #ffffff18}.brand-top{display:flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--gold);color:var(--navy);border-radius:50%}.brand-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand-name{font-family:Century Gothic,Avenir Next,sans-serif;letter-spacing:-.07em;font-size:22px;font-weight:700;color:#fff}.brand-sub{display:block;color:#9cb3b5;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin:7px 0 0 46px}.nav-title{color:#83999c;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:28px 12px 9px}.nav{display:grid;gap:4px}.nav button,.nav a{width:100%;border:1px solid transparent;background:transparent;color:#b5c6c5;text-align:left;padding:11px 12px;display:flex;align-items:center;gap:12px;font-size:12px;text-decoration:none}.nav button:hover,.nav a:hover{background:#ffffff08;color:#fff}.nav button.active,.nav a.active{background:var(--navy-3);border-color:#55777c;color:#fff;box-shadow:inset 3px 0 0 var(--gold)}.nav-icon{width:18px;height:18px;display:grid;place-items:center;color:#9db5b5}.nav button.active .nav-icon,.nav a.active .nav-icon{color:var(--gold)}.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff18;padding:16px 9px 0}.property{color:#9cb3b5;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px}.staff{display:flex;align-items:center;gap:9px;color:#fff}.avatar{width:31px;height:31px;background:#d4a86a;color:var(--navy);display:grid;place-items:center;font-size:10px;font-weight:800;border-radius:50%}.staff b{display:block;font-size:11px}.staff span{display:block;color:#9cb3b5;font-size:10px;margin-top:3px}.main{min-width:0;flex:1;margin-left:242px;padding-top:67px}.topbar{height:67px;background:var(--cream);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:fixed;top:0;left:242px;right:0;z-index:30;overflow:visible}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb strong{color:var(--ink);font-size:13px;margin-left:8px}.top-actions{display:flex;align-items:center;gap:9px}.top-search{height:34px;width:205px;border:1px solid var(--line);background:#fff;padding:0 11px;color:var(--ink);outline:0}.top-search:focus{border-color:var(--gold)}.top-icon{width:34px;height:34px;border:1px solid var(--line);background:#fff;color:var(--muted);display:grid;place-items:center}.top-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.page{padding:32px 34px 46px;max-width:1700px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.page h1{font-family:Century Gothic,Avenir Next,sans-serif;letter-spacing:-.065em;font-size:31px;line-height:1;margin:0;color:var(--ink)}.page-lead{color:var(--muted);font-size:12px;margin:9px 0 0}.btn{border:1px solid var(--navy-2);background:var(--navy-2);color:#fff;padding:10px 15px;min-height:36px;font-weight:700;font-size:11px}.btn:hover{background:var(--navy-3)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.gold:hover{background:#d3a664}.btn.secondary{background:var(--cream);border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#fff;border-color:#cbbfae}.btn.small{padding:7px 10px;min-height:30px;font-size:10px}.grid{display:grid;gap:15px}.stats{grid-template-columns:repeat(4,1fr)}.card{background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow)}.stat{padding:17px 18px 15px;min-height:116px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-18px;bottom:-34px;width:96px;height:96px;border:1px solid #c7955228;transform:rotate(45deg)}.stat-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.stat-label svg{width:16px;height:16px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.stat strong{display:block;font-family:Century Gothic,Avenir Next,sans-serif;font-size:29px;letter-spacing:-.07em;margin:11px 0 4px}.stat-foot{font-size:10px;color:var(--sage)}.dashboard-grid{grid-template-columns:1.18fr .82fr;margin-top:15px}.card-head{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.card-head h3{margin:0;font-size:13px;letter-spacing:-.02em}.card-head small{color:var(--muted);font-size:10px}.card-body{padding:17px}.occupancy-wrap{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px;min-height:220px}.occupancy-ring{width:164px;height:164px;border-radius:50%;background:conic-gradient(var(--gold) 0 var(--ocupacion,0%),#e7dfd2 var(--ocupacion,0%) 100%);display:grid;place-items:center;position:relative;margin:auto}.occupancy-ring:after{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border-radius:50%;background:var(--cream)}.occupancy-value{position:relative;z-index:1;text-align:center}.occupancy-value strong{display:block;font-family:Century Gothic,Avenir Next,sans-serif;font-size:36px;letter-spacing:-.08em}.occupancy-value span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.occupancy-copy h4{margin:0;font-size:14px}.occupancy-copy p{color:var(--muted);font-size:11px;line-height:1.55;margin:8px 0 15px}.legend{display:grid;gap:8px}.legend-row{display:flex;align-items:center;justify-content:space-between;font-size:11px}.legend-label{display:flex;align-items:center;gap:7px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.gold{background:var(--gold)}.dot.sage{background:var(--sage)}.dot.blue{background:var(--blue)}.progress{height:7px;background:#e7e0d6;margin-top:13px}.progress i{display:block;height:100%;background:var(--gold);width:var(--ocupacion,0%)}.arrival-list{display:grid;gap:0}.arrival{display:grid;grid-template-columns:53px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eae4db}.arrival:last-child{border-bottom:0}.arrival-time{font-family:Century Gothic,Avenir Next,sans-serif;font-size:12px;color:var(--gold);font-weight:700}.arrival b{font-size:11px;display:block}.arrival span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.room-summary{margin-top:15px}.room-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.room-tile{min-height:68px;border:1px solid var(--line);padding:9px 8px;background:#fff}.room-tile b{font-family:Century Gothic,Avenir Next,sans-serif;font-size:17px}.room-tile span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.room-tile.occupied{border-top:3px solid var(--gold)}.room-tile.available{border-top:3px solid var(--sage)}.room-tile.cleaning{border-top:3px solid var(--blue)}.room-tile.maintenance{border-top:3px solid var(--coral)}.room-tile.reserved{border-top:3px solid var(--gold)}.table-wrap{overflow:auto}.infinite-loader{min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;color:var(--muted);font-size:11px}.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--cream);font-size:12px}.table th,.table td{border-top:1px solid var(--line);border-left:1px solid var(--line);border-right:0;border-bottom:0;padding:12px 13px;text-align:left;white-space:nowrap}.table tr>:last-child{border-right:1px solid var(--line)}.table tbody tr:last-child>td{border-bottom:1px solid var(--line)}.table th{background:#f1ede6;color:#687672;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.table tr:hover td{background:#fff}.badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid;font-size:10px;font-weight:750}.badge.gold{color:#9a6a25;background:var(--gold-soft);border-color:#e6c995}.badge.sage{color:#477665;background:var(--sage-soft);border-color:#bcd8cb}.badge.blue{color:#527783;background:var(--blue-soft);border-color:#bfd4dc}.badge.coral{color:#a55348;background:var(--coral-soft);border-color:#e8b6aa}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{height:36px;background:var(--cream);border:1px solid var(--line);padding:0 10px;color:var(--ink);outline:0}.toolbar input{min-width:240px}.toolbar input:focus,.toolbar select:focus{border-color:var(--gold)}.toolbar .spacer{flex:1}.empty{padding:40px;text-align:center;color:var(--muted)}.rooms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.room-card{background:var(--cream);border:1px solid var(--line);padding:16px;position:relative}.room-card:hover{border-color:#c6aa7d}.room-top{display:flex;justify-content:space-between;align-items:flex-start}.room-number{font-family:Century Gothic,Avenir Next,sans-serif;font-size:24px;letter-spacing:-.07em}.room-type{font-size:10px;color:var(--muted);margin-top:3px}.room-card .badge{margin-top:17px}.room-guest{border-top:1px solid var(--line);margin-top:15px;padding-top:11px;min-height:40px;font-size:10px;color:var(--muted)}.room-guest b{display:block;color:var(--ink);font-size:11px;margin-top:3px}.room-card-action{position:absolute;right:13px;bottom:13px;border:0;background:transparent;color:var(--gold);font-size:10px;font-weight:700}.room-card-action:hover{text-decoration:underline}.flow{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}.flow-card{padding:0}.flow-list{display:grid}.flow-row{display:grid;grid-template-columns:88px 1.2fr 1fr auto;align-items:center;gap:10px;padding:14px 17px;border-bottom:1px solid var(--line)}.flow-row:last-child{border-bottom:0}.flow-time{font-family:Century Gothic,Avenir Next,sans-serif;font-size:12px;color:var(--gold);font-weight:700}.flow-row b{font-size:11px}.flow-row span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.flow-actions{display:flex;gap:5px}.quick-card{padding:19px}.quick-card h3{margin:0 0 15px}.quick-item{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.quick-item:last-child{border-bottom:0}.quick-icon{width:28px;height:28px;background:var(--gold-soft);color:#9a6a25;display:grid;place-items:center;flex:none}.quick-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.quick-item b{display:block;font-size:11px}.quick-item span{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#172a2e66;display:none;align-items:center;justify-content:center;z-index:70;padding:15px;overflow:auto}.modal-backdrop.open{display:flex}.modal{width:min(500px,calc(100vw - 30px));max-height:calc(100dvh - 30px);display:flex;flex-direction:column;min-height:0;background:var(--cream);border:1px solid var(--line);box-shadow:0 22px 60px #172a2e38}.modal-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:16px 19px;border-bottom:1px solid var(--line);background:var(--cream)}.modal-head h2{font-size:15px;margin:0}.close{border:0;background:transparent;color:var(--muted);font-size:21px;line-height:1}.form{padding:18px;display:grid;gap:12px;min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain}.form label{display:grid;gap:5px;color:var(--muted);font-size:11px}.form input,.form select,.form textarea{height:37px;border:1px solid var(--line);background:#fff;padding:0 10px;color:var(--ink)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.toast{position:fixed;right:25px;bottom:24px;background:var(--navy);color:#fff;border-left:3px solid var(--gold);padding:13px 16px;font-size:11px;box-shadow:0 12px 28px #172a2e30;transform:translateY(15px);opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translateY(0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.1;white-space:nowrap}.btn svg{width:14px;height:14px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn.small svg{width:13px;height:13px}.avatar{width:29px;height:29px;flex:none;font-size:9px}.profile-icon{border-radius:50%;background:var(--gold);border:1px solid #e4b873;color:var(--navy);font-size:10px;font-weight:800;box-shadow:0 0 0 2px var(--sand)}.cargador{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--sand);color:var(--muted)}.cargador.compacto{min-height:clamp(240px,42vh,380px);background:transparent;border:0;box-shadow:none}.cargador-marca{width:124px;height:124px;display:grid;place-items:center}.cargador.compacto .cargador-marca{width:108px;height:108px}.cargador-marca img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) saturate(0) brightness(.58);opacity:.2;animation:cargador-pulso 2.4s ease-in-out infinite}.cargador-indicador{display:flex;align-items:center;justify-content:center;gap:8px;height:12px}.cargador-indicador span{width:8px;height:8px;border-radius:50%;background:#7b8583;opacity:.3;animation:cargador-punto 1.15s ease-in-out infinite}.cargador-indicador span:nth-child(2){animation-delay:.16s}.cargador-indicador span:nth-child(3){animation-delay:.32s}.cargador-mensaje{font-size:11px;letter-spacing:.04em;color:#87918e}.cargador.compacto .cargador-mensaje{font-size:11px}@keyframes cargador-pulso{0%,to{opacity:.14;transform:scale(.98)}50%{opacity:.28;transform:scale(1)}}@keyframes cargador-punto{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:.7;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.cargador-marca img,.cargador-indicador span{animation:none}.cargador-marca img{opacity:.22}.cargador-indicador span{opacity:.5}}.staff .avatar{display:grid;align-items:center;justify-content:center;margin-top:0;color:var(--navy);font-size:9px;line-height:1}.hotel-stat{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.hotel-stat:hover{border-color:#c6aa7d;background:#fff}.hotel-stat .stat-action{font-size:10px;color:var(--gold);font-weight:700;float:right;margin-top:2px}.module-note{display:flex;align-items:flex-start;gap:9px;background:#f4eee4;border-left:3px solid var(--gold);padding:11px 13px;color:#6d7772;font-size:11px;line-height:1.5;margin-bottom:15px}.module-note strong{color:var(--ink)}.stay-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--cream);overflow:auto}.stay-tab{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:13px 18px;font-size:11px;font-weight:750;white-space:nowrap}.stay-tab:hover{color:var(--ink);background:#fff}.stay-tab.active{color:var(--navy);border-bottom-color:var(--gold);background:#fff}.stay-panel{padding:0}.stay-panel .table{border-top:0}.stay-empty{padding:35px;text-align:center;color:var(--muted);background:var(--cream)}.stay-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px 17px;border-top:1px solid var(--line);background:#f6f2ec}.stay-summary-item{font-size:10px;color:var(--muted)}.stay-summary-item b{display:block;color:var(--ink);font-size:16px;margin-top:4px}.stay-actions{display:flex;gap:5px;flex-wrap:wrap}.hotel-action{border:1px solid var(--line);background:var(--cream);color:var(--ink);padding:7px 9px;font-size:10px;font-weight:700;white-space:nowrap}.hotel-action:hover{border-color:#c6aa7d;background:#fff}.hotel-action.primary{background:var(--navy-2);color:#fff;border-color:var(--navy-2)}.hotel-action.gold{background:var(--gold-soft);border-color:#e6c995;color:#8c6225}.hotel-action.danger{background:var(--coral-soft);border-color:#e8b6aa;color:#a55348}.room-next{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;color:var(--muted);font-size:10px;min-height:37px}.room-next b{display:block;color:var(--ink);font-size:10px;margin-top:3px}.room-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.room-actions .room-card-action{position:static;padding:0}.guest-profile{display:grid;grid-template-columns:270px 1fr;gap:15px}.guest-page-head{align-items:center}.guest-profile-kicker{display:block;margin-bottom:7px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.guest-card{padding:19px}.guest-initial{width:54px;height:54px;border-radius:50%;background:var(--gold-soft);color:#8c6225;display:grid;place-items:center;font-family:Century Gothic,Avenir Next,sans-serif;font-size:19px;font-weight:700;margin-bottom:14px}.guest-card h3{margin:0 0 4px;font-size:16px}.guest-card>p{color:var(--muted);font-size:11px;margin:0}.guest-details{display:grid;gap:10px;margin-top:21px}.guest-details div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:11px}.guest-details span{color:var(--muted)}.hotel-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line);background:#f6f2ec;padding:13px;margin-top:5px}.hotel-summary div{font-size:10px;color:var(--muted)}.hotel-summary b{display:block;color:var(--ink);font-size:14px;margin-top:3px}.hotel-summary .total{border-top:1px solid var(--line);padding-top:8px;margin-top:3px}.hotel-summary .balance b{color:var(--coral)}.modal-wide{width:min(650px,calc(100vw - 30px))}.modal-flow{display:grid;grid-template-columns:1fr 210px;gap:15px}.modal-info{border:1px solid var(--line);background:#f6f2ec;padding:14px}.modal-info h4{margin:0 0 11px;font-size:11px}.modal-info p{font-size:11px;color:var(--muted);line-height:1.55;margin:7px 0}.modal-info p b{color:var(--ink)}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form-grid .full{grid-column:1/-1}.modal .form label{color:var(--muted)}.modal .form label strong{color:var(--ink);font-weight:650}.modal .form small{font-size:10px;color:var(--muted);line-height:1.4}.modal-status-note{background:var(--sage-soft);border:1px solid #bcd8cb;color:#477665;padding:9px 10px;font-size:10px;line-height:1.45}.card.compact{box-shadow:none}.card.compact .card-head{padding:13px 15px}.card.compact .table th,.card.compact .table td{padding:10px 11px}.muted{color:var(--muted)}.hotel-stepbar{display:flex;gap:8px;margin:-2px 0 14px}.hotel-step{flex:1;padding:8px 10px;border:1px solid var(--line);background:#f6f2ec;color:var(--muted);font-size:10px;font-weight:750}.hotel-step.active{background:var(--gold-soft);border-color:#e6c995;color:#8c6225}.hotel-form-note{padding:9px 10px;background:#f6f2ec;border-left:3px solid var(--gold);color:var(--muted);font-size:10px;line-height:1.45}.guest-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guest-data-grid .full{grid-column:1/-1}.receipt{border:1px solid var(--line);background:#fff;padding:14px 15px;color:var(--ink);font-size:10px}.receipt-brand{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-size:10px;margin-bottom:10px}.receipt-title{font-weight:800;font-size:12px;margin-bottom:11px}.receipt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:5px 0;color:var(--muted)}.receipt-row b{color:var(--ink);font-weight:750;text-align:right}.receipt-row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;color:var(--ink);font-weight:800}.receipt-row.total b{font-size:12px}.receipt-divider{border-top:1px dashed #cfc8bd;margin:7px 0}.receipt-row.balance{border-top:1px solid var(--line);margin-top:5px;padding-top:10px;color:var(--coral);font-weight:800}.receipt-row.balance b{color:var(--coral);font-size:14px}.receipt-section-title{margin:10px 0 3px;color:var(--navy);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.receipt-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.companion-list{display:grid;gap:8px;margin-top:8px}.companion-row{display:grid;grid-template-columns:1.2fr .9fr 1fr .8fr;gap:7px}.companion-row input,.companion-row select{height:32px;font-size:10px}.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--line)}.receipt-meta span{display:block;color:var(--muted);font-size:9px}.receipt-meta b{display:block;color:var(--ink);font-size:10px;margin-top:3px}.receipt-movement{border:1px solid var(--line);background:#f6f2ec;padding:12px;margin-bottom:12px}.receipt-movement .receipt-row{padding:4px 0}.btn:disabled{opacity:.5;cursor:not-allowed}.modal.modal-wide{max-height:calc(100dvh - 30px)}.profile-wrap{position:relative}.profile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;border:0;padding:0;background:transparent}.profile-menu{position:absolute;right:0;top:calc(100% + 14px);width:min(270px,calc(100vw - 32px));min-width:240px;padding:10px;background:var(--cream);border:1px solid var(--line);border-radius:3px;box-shadow:0 8px 18px #16293429,0 2px 5px #16293414;display:none;z-index:30}.profile-menu:before,.profile-menu:after{content:"";position:absolute;right:13px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;pointer-events:none}.profile-menu:before{top:-9px;border-bottom:9px solid var(--line)}.profile-menu:after{top:-7px;right:14px;border-bottom:8px solid var(--cream)}.profile-menu.open{display:block}.profile-menu button{width:100%;min-height:58px;border:0;background:transparent;color:var(--ink);padding:13px 14px;border-radius:9px;text-align:left;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-menu button:hover{background:var(--gold-soft);color:var(--ink)}.profile-menu button+button{margin-top:6px;border-top:1px solid var(--line);border-radius:0;padding-top:14px;color:var(--coral)}.profile-menu .menu-muted{color:var(--muted);font-size:11px}.theme-option{display:flex;align-items:center;gap:12px;text-align:left}.theme-copy{display:grid;gap:3px}.theme-icon{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--gold);font-size:17px;line-height:1;transition:transform .2s ease,background .2s ease}.profile-menu button:hover .theme-icon{transform:rotate(12deg);background:var(--gold-soft)}.theme-switch{width:38px;height:21px;border-radius:999px;background:var(--line);padding:2px;display:flex;align-items:center;transition:background .2s ease}.theme-switch span{width:17px;height:17px;border-radius:50%;background:var(--cream);box-shadow:0 1px 3px #172a2e35;transform:translate(0);transition:transform .2s ease,background .2s ease}html[data-theme=dark] .theme-switch{background:var(--gold)}html[data-theme=dark] .theme-switch span{transform:translate(17px);background:#fffaf0}html[data-theme=dark]{--ink:#eef4f3;--muted:#a7b5b6;--navy:#13232d;--navy-2:#243c48;--navy-3:#315665;--sidebar-bg:#101d24;--cream:#273239;--sand:#1b262d;--line:#41515a;--gold:#d0a260;--gold-soft:#4a3b26;--sage:#83b9a5;--sage-soft:#243b35;--coral:#df8271;--coral-soft:#492c2a;--blue:#82adbf;--blue-soft:#263c45;--chart-occupied:#d7a34d;--chart-reserved:#78aabd;--chart-available:#7eb09a;--chart-cleaning:#aa8bc2;--chart-maintenance:#df8279;--shadow:0 13px 34px #00000045}html[data-theme=dark] .topbar,html[data-theme=dark] .card,html[data-theme=dark] .table,html[data-theme=dark] .room-card,html[data-theme=dark] .modal,html[data-theme=dark] .profile-menu{background:var(--cream)}html[data-theme=dark] .btn.secondary,html[data-theme=dark] .hotel-action,html[data-theme=dark] .top-icon{background:var(--cream);color:var(--ink)}html[data-theme=dark] .topbar .profile-icon{background:var(--gold);border-color:#e4b873;color:var(--navy);box-shadow:0 0 0 2px var(--sand)}html:not([data-theme=dark]) .topbar .profile-icon{background:#e8c98e;border-color:#d0a260;color:#162934;box-shadow:0 0 0 2px var(--sand)}html[data-theme=dark] .table th{background:#1e2a30;color:#d8e4e2}html[data-theme=dark] .table tr:hover td,html[data-theme=dark] .hotel-action:hover,html[data-theme=dark] .btn.secondary:hover{background:#29363b}html[data-theme=dark] .form input,html[data-theme=dark] .form select,html[data-theme=dark] .form textarea,html[data-theme=dark] .toolbar input,html[data-theme=dark] .toolbar select,html[data-theme=dark] .top-search{background:#1a2328;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .modal-form-grid input,html[data-theme=dark] .modal-form-grid select,html[data-theme=dark] .modal-form-grid textarea,html[data-theme=dark] .companion-row input,html[data-theme=dark] .companion-row select,html[data-theme=dark] .guest-data-grid input,html[data-theme=dark] .guest-data-grid select{background:#1a2328;color:var(--ink);border-color:var(--line);color-scheme:dark}html[data-theme=dark] .modal-form-grid input::placeholder,html[data-theme=dark] .companion-row input::placeholder{color:#829597}html[data-theme=dark] .modal-form-grid input:focus,html[data-theme=dark] .modal-form-grid select:focus,html[data-theme=dark] .modal-form-grid textarea:focus,html[data-theme=dark] .companion-row input:focus,html[data-theme=dark] .companion-row select:focus{border-color:var(--gold);outline:0;box-shadow:0 0 0 2px #d0a2602b}html[data-theme=dark] .modal-form-grid>label,html[data-theme=dark] .companion-row>label{color:var(--muted)}.modal-field{display:grid;gap:5px;color:var(--muted);font-size:11px}html[data-theme=dark] .hotel-step{background:#1a2328;color:var(--muted);border-color:var(--line)}html[data-theme=dark] .hotel-step.active{background:var(--gold-soft);color:#f2c875;border-color:#b9873e}html[data-theme=dark] .hotel-form-note,html[data-theme=dark] .hotel-summary{background:#27343a;color:var(--muted)}html[data-theme=dark] .hotel-form-note strong,html[data-theme=dark] .hotel-summary b{color:var(--ink)}html[data-theme=dark] .modal-status-note{background:var(--sage-soft);color:#a5d9c0;border-color:#4f9b7e}html[data-theme=dark] .module-note,html[data-theme=dark] .modal-info,html[data-theme=dark] .stay-summary,html[data-theme=dark] .receipt-movement{background:#27343a}html[data-theme=dark] .room-tile,html[data-theme=dark] .receipt{background:#1b252a}html[data-theme=dark] .occupancy-ring:after{background:var(--cream)}html[data-theme=dark] .progress{background:#3c484a}html[data-theme=dark] .badge.gold{color:#f2c875;background:#4b391f;border-color:#b9873e}html[data-theme=dark] .badge.sage{color:#91d5b4;background:#1e4035;border-color:#4f9b7e}html[data-theme=dark] .badge.blue{color:#a6d4e4;background:#203b46;border-color:#5d94aa}html[data-theme=dark] .badge.coral{color:#f3a096;background:#4b2929;border-color:#bd6c60}html[data-theme=dark] .hotel-action.gold{color:#f2c875;background:#4b391f;border-color:#b9873e}html[data-theme=dark] .hotel-action.danger{color:#f3a096;background:#4b2929;border-color:#bd6c60}html[data-theme=dark] .hotel-action.primary{color:#fff;background:var(--navy-2);border-color:#557d88}html[data-theme=dark] .stay-tab.active{color:var(--gold);background:var(--cream)}html[data-theme=dark] .quick-icon,html[data-theme=dark] .guest-initial{color:#f2c875;background:#4b391f}html[data-theme=dark] .receipt-brand,html[data-theme=dark] .receipt-section-title{color:#f2c875}html[data-theme=dark] .room-card-action{color:#e4b566}.brand{padding-top:0;padding-bottom:7px}.brand-top{gap:4px;align-items:center}.brand-mark.alogio-logo{width:50px;height:50px;margin-left:-6px;background:transparent;border-radius:0;overflow:visible;flex:none}.brand-mark.alogio-logo img{width:50px;height:50px;display:block;object-fit:contain}.brand-name.brand-wordmark{display:flex;align-items:center;gap:3px;white-space:nowrap;margin-left:0;font-family:Gill Sans MT,Avenir Next,Century Gothic,Trebuchet MS,sans-serif;font-size:25px;font-weight:700;letter-spacing:.018em}.brand-letter{display:block;line-height:1}.brand-i-letter{display:block;position:relative;width:10px;height:25px;flex:none}.brand-i-letter:before{content:"";position:absolute;left:3px;bottom:1px;width:3px;height:14px;background:#fff;border-radius:4px}.brand-i-letter:after{content:"";position:absolute;left:1.5px;top:0;width:5px;height:5px;background:#ff8124;border-radius:50%;box-shadow:0 0 0 2px #ff812422}.brand-i-stem{position:absolute;left:3px;bottom:1px;width:3px;height:13px;background:currentColor;border-radius:4px}.brand-i-dot{position:absolute;left:2px;top:0;width:5px;height:5px;background:#ff8124;border-radius:50%;box-shadow:0 0 0 2px #ff812422}.profile-icon.top-icon{display:grid}html.is-login .app,html.is-login body{background:#0d1b22}.suggest{position:relative;display:block;width:100%}.suggest input{width:100%;display:block}.suggest-list{position:fixed;z-index:40;margin:0;padding:4px;list-style:none;background:var(--cream);border:1px solid var(--line);box-shadow:0 14px 32px #172a2e28;max-height:min(220px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain}.suggest-list button{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px}.suggest-list button:hover,.suggest-list button.active{background:var(--gold-soft)}.suggest-list small{color:var(--muted);font-size:10px;flex:none}html[data-theme=dark] .suggest-list{background:#1a2328;border-color:var(--line)}html[data-theme=dark] .suggest-list button:hover,html[data-theme=dark] .suggest-list button.active{background:#2a353b}.estado-btn{gap:6px;font:inherit;line-height:1}.estado-btn:hover{filter:brightness(.97)}.estado-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4.5px solid currentColor;opacity:.72;flex:none;transition:transform .15s ease}.estado-btn.open .estado-caret{transform:rotate(180deg)}.estado-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;border:0;padding:0;background:transparent}.estado-menu{position:fixed;z-index:40;min-width:168px;max-height:min(240px,calc(100dvh - 16px));margin:0;padding:4px;list-style:none;background:var(--cream);border:1px solid var(--line);box-shadow:0 14px 32px #172a2e28;overflow-y:auto;overscroll-behavior:contain}.estado-menu button{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;font-size:11px;font-weight:650}.estado-menu button:hover{background:var(--gold-soft)}.estado-menu button.peligro{color:#a55348}html[data-theme=dark] .estado-menu{background:#1a2328;border-color:var(--line)}html[data-theme=dark] .estado-menu button:hover{background:#2a353b}html[data-theme=dark] .estado-menu button.peligro{color:#f3a096}html[data-theme=dark] .estado-menu button.peligro:hover{background:#4b2929}.cargador.mini{min-height:44px;flex-direction:row;gap:7px;background:transparent}.cargador.mini .cargador-marca{width:24px;height:24px}.cargador.mini .cargador-mensaje{font-size:10px}.cargador.mini .cargador-indicador{gap:4px}.cargador.mini .cargador-indicador span{width:4px;height:4px}.card.loading{background:transparent;border-color:transparent;box-shadow:none}.card.loading .card-head,.card.loading .stay-tabs{display:none}.card.loading .stay-panel{padding:0}.form-section-heading{margin-top:17px;padding-bottom:7px;border-bottom:1px solid var(--line);color:var(--navy);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.form-section-heading:first-child{margin-top:14px}.modal .form label,.modal-field,.hotel-form-note{font-weight:400}.receipt-row b,.receipt-meta b{font-weight:600}body{font-family:Segoe UI,Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:auto;text-rendering:optimizeLegibility}.page h1,.brand-name,.stat strong,.room-number,.occupancy-value strong{font-family:Segoe UI,Inter,ui-sans-serif,system-ui,sans-serif}.page h1{letter-spacing:-.03em}.table td b{font-weight:600}.card-head small,.list-meta-context{font-weight:400}.btn:hover:not(:disabled),.hotel-action:hover:not(:disabled),.estado-btn:hover:not(:disabled){transform:none;box-shadow:none}.btn.secondary:hover{background:#fff;border-color:#c6b9a7}.btn.checkin{background:#e4eff0;color:#3b6f76;border-color:#bad2d4}.btn.checkin:hover{background:#d8e8e9;border-color:#a7c6c8}.btn.checkout{background:#f2e8d7;color:#8a632e;border-color:#dfc59d}.btn.checkout:hover{background:#ecdfc8;border-color:#d2b481}.btn.danger{background:#f2dcd8;color:#9a5148;border-color:#deb0a8}.btn.danger:hover{background:#edd1cc;border-color:#cf9b92}.hotel-action{background:var(--cream);color:var(--ink);border-color:var(--line)}.hotel-action:hover{background:#fff;border-color:#c6b9a8}.hotel-action.primary,.hotel-action.checkin{background:#e4eff0;color:#3b6f76;border-color:#bad2d4}.hotel-action.primary:hover,.hotel-action.checkin:hover{background:#d8e8e9;border-color:#a7c6c8}.hotel-action.checkout{background:#f2e8d7;color:#8a632e;border-color:#dfc59d}.hotel-action.checkout:hover{background:#ecdfc8;border-color:#d2b481}.hotel-action.danger{background:#f2dcd8;color:#9a5148;border-color:#deb0a8}.hotel-action.danger:hover{background:#edd1cc;border-color:#cf9b92}.estado-btn{font-weight:500}.estado-menu button{font-weight:500;font-size:11.5px;min-height:36px}.receipt-brand{font-weight:600;letter-spacing:.08em}.receipt-title{font-weight:600;letter-spacing:.03em}.receipt-section-title{font-weight:600;letter-spacing:.08em}.close:hover{transform:none;box-shadow:none;background:var(--coral-soft)}:root{--role-brand-bg:var(--gold);--role-brand-border:#b48749;--role-brand-text:var(--navy);--role-success-bg:var(--sage-soft);--role-success-border:#bcd8cb;--role-success-text:#477665;--role-information-bg:var(--blue-soft);--role-information-border:#bfd4dc;--role-information-text:#527783;--role-warning-bg:var(--gold-soft);--role-warning-border:#e6c995;--role-warning-text:#8c6225;--role-danger-bg:var(--coral-soft);--role-danger-border:#e8b6aa;--role-danger-text:#a55348;--role-neutral-bg:#edf0ef;--role-neutral-border:#cbd2d1;--role-neutral-text:#59666b}.reservation-document{color:var(--ink)}.reservation-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.reservation-brand{display:flex;align-items:baseline;gap:7px;color:var(--navy);font-size:12px;letter-spacing:.08em}.reservation-brand strong{font-size:18px;font-weight:650;letter-spacing:.04em}.reservation-brand span{font-size:11px;font-weight:500}.reservation-document-kind{margin-top:8px;color:#657471;font-size:11px}.reservation-number{text-align:right}.reservation-number span{display:block;color:#657471;font-size:10px;margin-bottom:4px}.reservation-number strong{display:block;color:var(--ink);font-family:Segoe UI,Inter,ui-sans-serif,system-ui,sans-serif;font-size:19px;font-weight:650;letter-spacing:.01em}.reservation-rule{height:2px;background:var(--gold);margin:13px 0 18px}.reservation-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:#fff}.reservation-fact{display:grid;align-content:start;gap:6px;min-width:0;min-height:67px;padding:11px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.reservation-fact-wide{grid-column:span 2}.reservation-fact span:first-child{color:#657471;font-size:10px}.reservation-fact strong{overflow-wrap:anywhere;color:var(--ink);font-size:12px;font-weight:500;line-height:1.35}.reservation-fact-wide strong{font-size:14px;font-weight:600}.reservation-status{min-height:22px;display:flex;align-items:center}.reservation-status .badge{font-weight:500}.reservation-section{margin-top:23px}.reservation-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid var(--navy-2)}.reservation-section-head h3{margin:0;color:var(--navy);font-size:12px;font-weight:600}.reservation-section-head span{color:#657471;font-size:10px}.companions-table{border:1px solid var(--line);background:#fff}.companions-table-head,.companions-table-row{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;padding:9px 13px}.companions-table-head{background:var(--gold-soft);color:var(--navy);font-size:10px;font-weight:600}.companions-table-row{border-top:1px solid var(--line);color:var(--ink);font-size:11px}.companions-table-row span:last-child{color:#657471}.reservation-account-section{margin-top:26px}.stay-account{border:1px solid var(--line);background:#fff;color:var(--ink)}.stay-account-table{display:grid}.stay-account-head,.stay-account-row{display:grid;grid-template-columns:1.05fr 1.75fr auto;gap:18px;align-items:center;padding:10px 13px}.stay-account-head{background:var(--gold);color:var(--navy);font-size:10px;font-weight:650;letter-spacing:.04em}.stay-account-head span:last-child,.stay-account-row b{text-align:right}.stay-account-row{min-height:42px;border-top:1px solid var(--line);font-size:11px}.stay-account-row strong{color:var(--ink);font-weight:550}.stay-account-row span{color:#657471}.stay-account-row b{color:var(--ink);font-weight:650;white-space:nowrap}.stay-account-totals{padding:8px 13px 13px}.stay-account-total{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;min-height:35px;border-bottom:1px solid var(--line);font-size:11px}.stay-account-total b{color:var(--ink);font-weight:650;text-align:right;white-space:nowrap}.stay-account-total.muted span{color:#657471}.stay-account-section{margin-top:14px;padding:8px 0 7px;border-bottom:1px solid var(--navy-2);color:var(--navy);font-size:11px;font-weight:600}.stay-account-balance{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:12px;padding:12px 13px;background:var(--coral-soft);border-top:2px solid var(--coral);color:#8f4b42;font-size:12px;font-weight:600}.stay-account-balance b{color:#8f4b42;font-size:14px;text-align:right;white-space:nowrap}.reservation-document-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.payment-amount{color:var(--navy)!important;font-size:14px!important;font-weight:650!important}.payment-document-table{border:1px solid var(--line);background:#fff}.payment-document-table-head,.payment-document-table-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:10px 13px}.payment-document-table-head{background:var(--gold);color:var(--navy);font-size:10px;font-weight:650;letter-spacing:.04em}.payment-document-table-row{min-height:44px;border-top:1px solid var(--line);color:var(--ink);font-size:11px}.payment-document-table-row strong{font-weight:650;text-align:right;white-space:nowrap}.payment-totals{max-width:420px;margin-left:auto;border:1px solid var(--line);background:#fff}.payment-totals>div{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;min-height:37px;padding:0 13px;border-bottom:1px solid var(--line);color:#657471;font-size:11px}.payment-totals>div strong{color:var(--ink);font-weight:650;text-align:right;white-space:nowrap}.payment-totals .payment-total-balance{margin:8px;border:0;border-top:2px solid var(--coral);background:var(--coral-soft);color:#8f4b42;font-weight:600}.payment-totals .payment-total-balance strong{color:#8f4b42;font-size:13px}.reservation-rule{height:1px;background:var(--line)}.reservation-fact-wide{grid-column:auto}.reservation-fact{background:var(--cream);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.reservation-fact:nth-child(3n){border-right:0}.reservation-fact:nth-last-child(-n+3){border-bottom:0}.companions-table-head,.companions-table-row{align-items:stretch}.companions-table-head span+span,.companions-table-row span+span{border-left:1px solid var(--line);padding-left:18px}.stay-account-head,.payment-document-table-head{background:#f1ede6;color:var(--navy);border-bottom:1px solid var(--line)}.stay-account-head,.stay-account-row,.payment-document-table-head,.payment-document-table-row{align-items:stretch}.stay-account-head span,.stay-account-row>*,.payment-document-table-head span,.payment-document-table-row>*{display:flex;align-items:center}.stay-account-head span+span,.stay-account-row>*+*,.payment-document-table-head span+span,.payment-document-table-row>*+*{border-left:1px solid var(--line);padding-left:18px}.stay-account-head span:last-child,.stay-account-row b,.payment-document-table-head span:last-child,.payment-document-table-row strong{justify-content:flex-end}.stay-account-balance{background:#f1ede6;border-top:1px solid var(--navy-2);color:var(--ink)}.stay-account-balance b{color:var(--ink)}.payment-totals .payment-total-balance{background:#f1ede6;border-top:1px solid var(--navy-2);color:var(--ink)}.payment-totals .payment-total-balance strong{color:var(--ink)}.reservation-fact:nth-child(n){border-bottom:1px solid var(--line)}.btn,.hotel-action,.estado-btn,.stay-tab,.close{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.btn:hover:not(:disabled),.hotel-action:hover:not(:disabled),.estado-btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled),.hotel-action:active:not(:disabled),.estado-btn:active:not(:disabled){transform:translateY(0)}.btn svg,.hotel-action svg{width:14px;height:14px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.btn.gold:hover{background:#d8ad70;border-color:#d8ad70;box-shadow:0 3px #9a6a25}.btn.secondary:hover{background:#fff;border-color:#b8a990;box-shadow:0 3px #d1c6b6}.btn.danger{background:#b85f52;border-color:#a65348;color:#fff}.btn.danger:hover{background:#c87062;border-color:#b85f52;box-shadow:0 3px #8c433b}.hotel-action{display:inline-flex;align-items:center;justify-content:center;gap:6px}.hotel-action:hover{background:#fff;border-color:#b8a990;box-shadow:0 2px #d1c6b6}.hotel-action.primary,.hotel-action.checkin{background:#3d7882;color:#fff;border-color:#326670}.hotel-action.primary:hover,.hotel-action.checkin:hover{background:#4b8b94;border-color:#3d7882;box-shadow:0 3px #275963}.hotel-action.checkout{background:#9b6c32;color:#fff;border-color:#855a27}.hotel-action.checkout:hover{background:#b27e3b;border-color:#9b6c32;box-shadow:0 3px #70491f}.hotel-action.success{background:#4f806d;color:#fff;border-color:#3f6b5b}.hotel-action.success:hover{background:#61927d;border-color:#4f806d;box-shadow:0 3px #315745}.hotel-action.danger{background:#b85f52;color:#fff;border-color:#a65348}.hotel-action.danger:hover{background:#c87062;border-color:#b85f52;box-shadow:0 3px #8c433b}.badge.rose{color:#98545f;background:#f5e4e6;border-color:#dfb4bb}.badge.slate{color:#59666b;background:#edf0ef;border-color:#c5cecc}.list-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:11px 15px;margin-bottom:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.list-meta-primary{color:var(--ink);font-size:11px;font-weight:650}.list-meta-primary strong{font-family:Century Gothic,Avenir Next,sans-serif;font-size:16px;letter-spacing:-.04em;margin-right:4px}.list-meta-context{font-size:10px}.list-meta-actions{margin-bottom:15px}.list-meta-actions .stay-actions{margin-left:auto}.estado-btn{min-width:104px;justify-content:space-between}.estado-menu{min-width:198px;padding:6px;background:var(--cream);box-shadow:0 16px 34px #172a2e30}.estado-menu button{min-height:38px;padding:9px 11px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.estado-menu button:before{content:"";width:7px;height:7px;flex:none;border:1px solid currentColor;background:currentColor}.estado-menu button:hover{background:var(--gold-soft);padding-left:14px}.estado-menu button.peligro:hover{background:var(--coral-soft)}.estado-menu button.estado-pendiente{color:#98545f}.estado-menu button.estado-confirmada{color:#9a6a25}.estado-menu button.estado-hospedado{color:#477665}.estado-menu button.estado-finalizada{color:#527783}.estado-menu button.estado-cancelada,.estado-menu button.estado-no-presento{color:#a55348}.estado-menu button.estado-no-presento{color:#59666b}.receipt{border:1px solid var(--line);border-top:3px solid var(--navy-2);background:#fff;padding:17px 18px;color:var(--ink);font-variant-numeric:tabular-nums}.receipt-brand{padding-bottom:11px;border-bottom:1px solid var(--line);letter-spacing:.12em;font-size:10px}.receipt-title{font-size:13px;letter-spacing:.04em;margin:15px 0 10px}.receipt-row{min-height:30px;padding:7px 0;border-bottom:1px dotted #cfc8bd}.receipt-row.total{margin-top:5px;padding:10px 0;border-top:1px solid var(--line);border-bottom:0;background:#f6f2ec}.receipt-row.balance{margin:10px -8px -6px;padding:12px 8px;border-top:2px solid var(--coral);background:var(--coral-soft);color:#a55348}.receipt-row.balance b{color:#a55348}.receipt-section-title{margin:16px 0 3px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.12em}.receipt-meta .detail-status{display:block;margin-top:3px}.receipt-meta .detail-status .badge{min-height:24px}.close{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--muted)}.close:hover{border-color:var(--line);background:var(--coral-soft);color:var(--coral)}.close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}html[data-theme=dark] .badge.rose{color:#f0aeb8;background:#4b2e35;border-color:#9d5b68}html[data-theme=dark] .badge.slate{color:#c2d0d0;background:#2d3a3e;border-color:#5d6e72}html[data-theme=dark] .btn.danger,html[data-theme=dark] .hotel-action.danger{background:#7f3e38;border-color:#a65348}html[data-theme=dark] .hotel-action.primary,html[data-theme=dark] .hotel-action.checkin{background:#2d626b;border-color:#4f8b94}html[data-theme=dark] .hotel-action.checkout{background:#795324;border-color:#a97636}html[data-theme=dark] .hotel-action.success{background:#35614f;border-color:#61927d}html[data-theme=dark] .receipt{background:#1b252a;border-top-color:#557d88}html[data-theme=dark] .receipt-row.total{background:#27343a}html[data-theme=dark] .receipt-row.balance{background:#492c2a}html[data-theme=dark] .estado-menu button.estado-pendiente{color:#f0aeb8}html[data-theme=dark] .estado-menu button.estado-no-presento{color:#c2d0d0}.alogio-visual-final{display:contents}.btn,.hotel-action,.estado-btn,.stay-tab,.close{transform:none!important;box-shadow:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.btn,.hotel-action{font-weight:500;letter-spacing:.005em}.table td b,.receipt-row b,.receipt-meta b{font-weight:600}.btn svg,.hotel-action svg{width:14px;height:14px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn.gold:hover{background:#d0a260;border-color:#d0a260}.btn.secondary:hover{background:#fff;border-color:#c6b9a8}.btn.checkin,.hotel-action.checkin,.hotel-action.primary{background:#e4eff0;color:#3b6f76;border-color:#bad2d4}.btn.checkin:hover,.hotel-action.checkin:hover,.hotel-action.primary:hover{background:#d8e8e9;border-color:#a7c6c8}.btn.checkout,.hotel-action.checkout{background:#f2e8d7;color:#8a632e;border-color:#dfc59d}.btn.checkout:hover,.hotel-action.checkout:hover{background:#ecdfc8;border-color:#d2b481}.btn.danger,.hotel-action.danger{background:#f2dcd8;color:#9a5148;border-color:#deb0a8}.btn.danger:hover,.hotel-action.danger:hover{background:#edd1cc;border-color:#cf9b92}.hotel-action.success{background:#e4efe9;color:#4d7869;border-color:#bfd7cb}.hotel-action.success:hover{background:#d9e9e1;border-color:#aacbbd}.badge{font-weight:600}.badge.rose{color:#975560;background:#f4e4e7;border-color:#dfbdc3}.badge.slate{color:#5d696d;background:#edf0ef;border-color:#cbd2d1}.estado-btn{font-weight:500;min-width:104px;justify-content:space-between}.estado-menu{min-width:190px;padding:5px;box-shadow:0 14px 28px #172a2e22}.estado-menu li+li{border-top:1px solid var(--line)}.estado-menu button{min-height:36px;padding:9px 11px;display:flex;align-items:center;font-size:11.5px;font-weight:500}.estado-menu button:before{display:none}.estado-menu button:hover,.estado-menu button.peligro:hover{padding-left:11px}.receipt{border-top:2px solid var(--navy-2);padding:16px 18px;font-weight:400}.receipt-brand,.receipt-title,.receipt-section-title{font-weight:600}.receipt-row.total{background:transparent;font-weight:500}.receipt-row.balance,.modal-head h2{font-weight:600}.list-meta{display:none}.form-section-heading{font-weight:600}html[data-theme=dark] .btn.checkin,html[data-theme=dark] .hotel-action.checkin,html[data-theme=dark] .hotel-action.primary{background:#2f565d;color:#c5e0e0;border-color:#4d7d82}html[data-theme=dark] .btn.checkout,html[data-theme=dark] .hotel-action.checkout{background:#5a4529;color:#ebd6ae;border-color:#8d6c3c}html[data-theme=dark] .hotel-action.success{background:#294b3e;color:#b9decf;border-color:#4e806b}html[data-theme=dark] .receipt-row.total{background:transparent}.badge{font-weight:500}.badge.neutral{color:var(--role-neutral-text);background:var(--role-neutral-bg);border-color:var(--role-neutral-border)}.btn,.hotel-action,.estado-btn{transition:background-color .16s ease,border-color .16s ease,color .16s ease,outline-color .16s ease;transform:none!important;box-shadow:none!important}.btn.gold{background:var(--role-brand-bg);border-color:var(--role-brand-border);color:var(--role-brand-text)}.btn.gold:hover{background:#d0a260;border-color:#a97b3d}.btn.secondary,.hotel-action{background:var(--cream);border-color:var(--line);color:var(--ink)}.btn.secondary:hover,.hotel-action:hover{background:#fff;border-color:#c6b9a8}.btn.checkin,.hotel-action.checkin,.hotel-action.primary{background:var(--role-information-bg);border-color:var(--role-information-border);color:var(--role-information-text)}.btn.checkin:hover,.hotel-action.checkin:hover,.hotel-action.primary:hover{background:#d8e8e9;border-color:#a7c6c8;color:#3b6f76}.btn.checkout,.hotel-action.checkout,.hotel-action.success{background:var(--role-success-bg);border-color:var(--role-success-border);color:var(--role-success-text)}.btn.checkout:hover,.hotel-action.checkout:hover,.hotel-action.success:hover{background:#d9e9e1;border-color:#aacbbd;color:#3f6b5b}.btn.danger,.hotel-action.danger{background:var(--role-danger-bg);border-color:var(--role-danger-border);color:var(--role-danger-text)}.btn.danger:hover,.hotel-action.danger:hover{background:#edd1cc;border-color:#cf9b92;color:#96483e}.hotel-action.gold{background:var(--role-warning-bg);border-color:var(--role-warning-border);color:var(--role-warning-text)}.btn:focus-visible,.hotel-action:focus-visible,.estado-btn:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px}.estado-menu button{font-weight:500;min-height:36px;padding:9px 11px;transition:background-color .16s ease,color .16s ease}.estado-menu button:hover,.estado-menu button.peligro:hover{padding-left:11px;background:var(--gold-soft)}.estado-menu button.estado-pendiente{color:var(--role-warning-text)}.estado-menu button.estado-confirmada,.estado-menu button.estado-finalizada{color:var(--role-success-text)}.estado-menu button.peligro:hover,.estado-menu button.estado-cancelada:hover,.estado-menu button.estado-no-presento:hover{background:var(--role-danger-bg)}html[data-theme=dark] .badge.success{color:#b9decf;background:#294b3e;border-color:#4e806b}html[data-theme=dark] .badge.information{color:#c5e0e0;background:#2f565d;border-color:#4d7d82}html[data-theme=dark] .badge.warning{color:#ebd6ae;background:#5a4529;border-color:#8d6c3c}html[data-theme=dark] .badge.danger{color:#efb1a7;background:#512f2d;border-color:#91564d}html[data-theme=dark] .badge.neutral{color:#c2d0d0;background:#2d3a3e;border-color:#5d6e72}html[data-theme=dark] .btn.checkout,html[data-theme=dark] .hotel-action.checkout,html[data-theme=dark] .hotel-action.success{background:#294b3e;color:#b9decf;border-color:#4e806b}html[data-theme=dark] .btn.danger,html[data-theme=dark] .hotel-action.danger{background:#512f2d;color:#efb1a7;border-color:#91564d}html[data-theme=dark] .estado-menu button.estado-pendiente{color:#ebd6ae}html[data-theme=dark] .estado-menu button.estado-confirmada,html[data-theme=dark] .estado-menu button.estado-finalizada{color:#b9decf}.hotel-action.gold{background:var(--gold-soft);border-color:var(--role-warning-border);color:var(--role-warning-text)}.hotel-action.gold:hover{background:#eee0c8;border-color:#d7b873;color:#73521f}html[data-theme=dark] .hotel-action.gold{background:#5a4529;color:#ebd6ae;border-color:#8d6c3c}.badge.success-soft{color:#4c693d;background:#eef6ec;border-color:#b8d2b6}.badge.success{color:var(--role-success-text);background:var(--role-success-bg);border-color:var(--role-success-border)}.badge.success-strong{color:#356451;background:#d5e8dc;border-color:#9fc5ae}.badge.information-soft{color:#426671;background:#f0f6f8;border-color:#c8dde3}.badge.information{color:var(--role-information-text);background:var(--role-information-bg);border-color:var(--role-information-border)}.badge.information-strong{color:#345f6d;background:#d4e5ea;border-color:#99bec9}.badge.warning-soft{color:#76551d;background:#fbf4e6;border-color:#e5d2a7}.badge.warning{color:var(--role-warning-text);background:var(--role-warning-bg);border-color:var(--role-warning-border)}.badge.warning-strong{color:#704b17;background:#f0dfbc;border-color:#d3ab62}.badge.danger{color:var(--role-danger-text);background:var(--role-danger-bg);border-color:var(--role-danger-border)}.badge.danger-strong{color:#8e3e35;background:#f5d9d3;border-color:#d98f84}.estado-menu button.estado-hospedado{color:var(--role-information-text)}.estado-menu button.estado-cancelada{color:var(--role-danger-text)}.estado-menu button.estado-no-presento{color:#8e3e35}html[data-theme=dark] .badge.success-soft{color:#c4dfb8;background:#30452e;border-color:#688b60}html[data-theme=dark] .badge.success-strong{color:#b9decf;background:#294b3e;border-color:#4e806b}html[data-theme=dark] .badge.information-soft{color:#c5e0e0;background:#293d45;border-color:#567b85}html[data-theme=dark] .badge.information-strong{color:#c5e0e0;background:#2f565d;border-color:#4d7d82}html[data-theme=dark] .badge.warning-soft{color:#f1dca7;background:#4a3b26;border-color:#8d6c3c}html[data-theme=dark] .badge.warning-strong{color:#f1dca7;background:#5a4529;border-color:#a47b3a}html[data-theme=dark] .badge.danger-strong{color:#efb1a7;background:#512f2d;border-color:#91564d}html[data-theme=dark] .estado-menu button.estado-no-presento{color:#efb1a7}span.badge{min-height:22px;padding:3px 8px;border-width:1px;border-left-width:3px;background:transparent;cursor:default;letter-spacing:.005em}span.badge.positive-soft{color:#4c693d;background:transparent;border-color:#b8d2b6;border-left-color:#7da66e}span.badge.positive-strong{color:#356451;background:transparent;border-color:#9fc5ae;border-left-color:#477665}span.badge.active{color:#426671;background:transparent;border-color:#c8dde3;border-left-color:#527783}span.badge.notice{color:#76551d;background:transparent;border-color:#e5d2a7;border-left-color:#caa45b}span.badge.negative{color:var(--role-danger-text);background:transparent;border-color:var(--role-danger-border);border-left-color:var(--coral)}span.badge.ready{color:#477665;background:transparent;border-color:#bcd8cb;border-left-color:var(--sage)}span.badge.occupied{color:#80652f;background:transparent;border-color:#dfc99b;border-left-color:var(--gold)}span.badge.scheduled{color:#527783;background:transparent;border-color:#bfd4dc;border-left-color:#7daebc}span.badge.attention{color:#76551d;background:transparent;border-color:#e5d2a7;border-left-color:#caa45b}span.badge.blocked{color:#59666b;background:transparent;border-color:#cbd2d1;border-left-color:#7c888b}span.badge.payment{color:#8c6225;background:transparent;border-color:#e6c995;border-left-color:var(--gold)}.hotel-action{min-height:32px;padding:7px 10px;border-width:1px;font-weight:500}.hotel-action.warning{background:var(--role-warning-bg);border-color:var(--role-warning-border);color:var(--role-warning-text)}.hotel-action.warning:hover{background:#eee0c8;border-color:#d7b873;color:#73521f}.dot.occupied{background:var(--gold)}.dot.ready{background:var(--sage)}.dot.attention{background:#caa45b}.room-tile.occupied{border-top-color:var(--gold)}.room-tile.available{border-top-color:var(--sage)}.room-tile.cleaning{border-top-color:#caa45b}.room-tile.maintenance{border-top-color:#7c888b}.room-tile.reserved{border-top-color:#7daebc}html[data-theme=dark] span.badge.positive-soft{color:#c4dfb8;border-color:#688b60;border-left-color:#83b96f}html[data-theme=dark] span.badge.positive-strong{color:#b9decf;border-color:#4e806b;border-left-color:#83b9a5}html[data-theme=dark] span.badge.active{color:#c5e0e0;border-color:#567b85;border-left-color:#82adbf}html[data-theme=dark] span.badge.notice{color:#f1dca7;border-color:#8d6c3c;border-left-color:#d0a260}html[data-theme=dark] span.badge.negative{color:#efb1a7;border-color:#91564d;border-left-color:#df8271}html[data-theme=dark] span.badge.ready{color:#b9decf;border-color:#4e806b;border-left-color:#83b9a5}html[data-theme=dark] span.badge.occupied{color:#f1dca7;border-color:#8d6c3c;border-left-color:#d0a260}html[data-theme=dark] span.badge.scheduled{color:#c5e0e0;border-color:#567b85;border-left-color:#82adbf}html[data-theme=dark] span.badge.attention{color:#f1dca7;border-color:#8d6c3c;border-left-color:#d0a260}html[data-theme=dark] span.badge.blocked{color:#c2d0d0;border-color:#5d6e72;border-left-color:#9aa8aa}html[data-theme=dark] span.badge.payment{color:#ebd6ae;border-color:#8d6c3c;border-left-color:#d0a260}button.estado-btn.badge{min-height:30px;padding:6px 9px;border-width:2px;background:var(--cream);cursor:pointer;font-weight:500}button.estado-btn.badge:hover{background:#fff;border-color:var(--navy-2)}html[data-theme=dark] button.estado-btn.badge{background:var(--cream)}html[data-theme=dark] button.estado-btn.badge:hover{background:#314149;border-color:#6d9298}.badge.positive-soft{color:#4c693d;border-color:#b8d2b6}.badge.positive-strong{color:#356451;border-color:#9fc5ae}.badge.active{color:#426671;border-color:#c8dde3}.badge.notice{color:#76551d;border-color:#e5d2a7}.badge.negative{color:var(--role-danger-text);border-color:var(--role-danger-border)}.badge.ready{color:#477665;border-color:#bcd8cb}.badge.occupied{color:#80652f;border-color:#dfc99b}.badge.scheduled{color:#527783;border-color:#bfd4dc}.badge.attention{color:#76551d;border-color:#e5d2a7}.badge.blocked{color:#59666b;border-color:#cbd2d1}.badge.payment{color:#8c6225;border-color:#e6c995}.estado-menu button.estado-pendiente{color:#76551d}.estado-menu button.estado-confirmada{color:#4c693d}.estado-menu button.estado-finalizada{color:#356451}.estado-menu button.estado-hospedado{color:#426671}.estado-menu button.estado-cancelada,.estado-menu button.estado-no-presento{color:var(--role-danger-text)}html[data-theme=dark] .badge.positive-soft{color:#c4dfb8;border-color:#688b60}html[data-theme=dark] .badge.positive-strong{color:#b9decf;border-color:#4e806b}html[data-theme=dark] .badge.active{color:#c5e0e0;border-color:#567b85}html[data-theme=dark] .badge.notice{color:#f1dca7;border-color:#8d6c3c}html[data-theme=dark] .badge.negative{color:#efb1a7;border-color:#91564d}html[data-theme=dark] .badge.ready{color:#b9decf;border-color:#4e806b}html[data-theme=dark] .badge.occupied{color:#f1dca7;border-color:#8d6c3c}html[data-theme=dark] .badge.scheduled{color:#c5e0e0;border-color:#567b85}html[data-theme=dark] .badge.attention{color:#f1dca7;border-color:#8d6c3c}html[data-theme=dark] .badge.blocked{color:#c2d0d0;border-color:#5d6e72}html[data-theme=dark] .badge.payment{color:#ebd6ae;border-color:#8d6c3c}html[data-theme=dark] .estado-menu button.estado-pendiente{color:#f1dca7}html[data-theme=dark] .estado-menu button.estado-confirmada{color:#c4dfb8}html[data-theme=dark] .estado-menu button.estado-finalizada{color:#b9decf}html[data-theme=dark] .estado-menu button.estado-hospedado{color:#c5e0e0}html[data-theme=dark] .estado-menu button.estado-cancelada,html[data-theme=dark] .estado-menu button.estado-no-presento{color:#efb1a7}span.badge{border-width:1px}span.badge.positive-soft{background:#e1efdf;border-color:#7da66e}span.badge.positive-strong{background:#d2e6d9;border-color:#477665}span.badge.active{background:#dbeaed;border-color:#527783}span.badge.notice{background:#f2e4c6;border-color:#caa45b}span.badge.negative{background:#f0d9d4;border-color:var(--coral)}span.badge.ready{background:#dcece2;border-color:var(--sage)}span.badge.occupied{background:#eee2c4;border-color:var(--gold)}span.badge.scheduled{background:#dbeaed;border-color:#7daebc}span.badge.attention{background:#f2e4c6;border-color:#caa45b}span.badge.blocked{background:#e3e7e6;border-color:#7c888b}span.badge.payment{background:#f0e1c2;border-color:var(--gold)}html[data-theme=dark] span.badge.positive-soft{background:#30452e;border-color:#688b60}html[data-theme=dark] span.badge.positive-strong{background:#294b3e;border-color:#4e806b}html[data-theme=dark] span.badge.active{background:#293d45;border-color:#567b85}html[data-theme=dark] span.badge.notice{background:#4a3b26;border-color:#8d6c3c}html[data-theme=dark] span.badge.negative{background:#512f2d;border-color:#91564d}html[data-theme=dark] span.badge.ready{background:#294b3e;border-color:#4e806b}html[data-theme=dark] span.badge.occupied{background:#4a3b26;border-color:#8d6c3c}html[data-theme=dark] span.badge.scheduled{background:#293d45;border-color:#567b85}html[data-theme=dark] span.badge.attention{background:#4a3b26;border-color:#8d6c3c}html[data-theme=dark] span.badge.blocked{background:#2d3a3e;border-color:#5d6e72}html[data-theme=dark] span.badge.payment{background:#4a3b26;border-color:#8d6c3c}html[data-theme=dark] span.badge.positive-soft{background:#30452e;border-color:#83b96f}html[data-theme=dark] span.badge.positive-strong{background:#294b3e;border-color:#83b9a5}html[data-theme=dark] span.badge.active{background:#293d45;border-color:#82adbf}html[data-theme=dark] span.badge.notice{background:#4a3b26;border-color:#d0a260}html[data-theme=dark] span.badge.negative{background:#512f2d;border-color:#df8271}html[data-theme=dark] span.badge.ready{background:#294b3e;border-color:#83b9a5}html[data-theme=dark] span.badge.occupied{background:#4a3b26;border-color:#d0a260}html[data-theme=dark] span.badge.scheduled{background:#293d45;border-color:#82adbf}html[data-theme=dark] span.badge.attention{background:#4a3b26;border-color:#d0a260}html[data-theme=dark] span.badge.blocked{background:#2d3a3e;border-color:#9aa8aa}html[data-theme=dark] span.badge.payment{background:#4a3b26;border-color:#d0a260}.stat-action{display:inline-flex;align-items:center;gap:5px}.stat-action svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px}.room-actions{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;justify-content:center;min-height:45px;align-items:flex-start}.room-actions .hotel-action{justify-content:center}.btn,.hotel-action,button.estado-btn.badge{border-width:2px}:root{--button-primary:#d3a15d;--button-primary-hover:#c28b49;--button-primary-border:#b27f3f;--button-neutral:#e2dbcf;--button-neutral-hover:#d4cabb;--button-neutral-border:#c4b5a1;--button-info:#a9d8df;--button-info-hover:#94cbd4;--button-info-border:#78b7c0;--button-success:#b4dabe;--button-success-hover:#9fcbaa;--button-success-border:#92bd9d;--button-warning:#ecd18f;--button-warning-hover:#dfbd70;--button-warning-border:#d3ac5c;--button-danger:#e7a39a;--button-danger-hover:#d88d82;--button-danger-border:#cf8177}.btn,.hotel-action{border-radius:2px;background:var(--button-neutral);border:2px solid var(--button-neutral-border);color:#314148;box-shadow:none;transform:none;font-weight:600}.btn:hover:not(:disabled),.hotel-action:hover:not(:disabled){background:var(--button-neutral-hover);border-color:#b6a58e;color:#314148;box-shadow:none;transform:none}.btn.gold,.hotel-action.gold{background:var(--button-primary);border-color:var(--button-primary-border);color:#24343a}.btn.gold:hover:not(:disabled),.hotel-action.gold:hover:not(:disabled){background:var(--button-primary-hover);border-color:#a96f35;color:#24343a}.btn.secondary{background:var(--button-neutral);border-color:var(--button-neutral-border);color:#314148}.btn.secondary:hover:not(:disabled){background:var(--button-neutral-hover);border-color:#b6a58e;color:#314148}.btn.checkin,.hotel-action.checkin,.hotel-action.primary{background:var(--button-info);border-color:var(--button-info-border);color:#214650}.btn.checkin:hover:not(:disabled),.hotel-action.checkin:hover:not(:disabled),.hotel-action.primary:hover:not(:disabled){background:var(--button-info-hover);border-color:#6faeb9;color:#214650}.btn.checkout,.hotel-action.checkout,.hotel-action.success{background:var(--button-success);border-color:var(--button-success-border);color:#285743}.btn.checkout:hover:not(:disabled),.hotel-action.checkout:hover:not(:disabled),.hotel-action.success:hover:not(:disabled){background:var(--button-success-hover);border-color:#7eaa8c;color:#285743}.btn.danger,.hotel-action.danger{background:var(--button-danger);border-color:var(--button-danger-border);color:#6b322d}.btn.danger:hover:not(:disabled),.hotel-action.danger:hover:not(:disabled){background:var(--button-danger-hover);border-color:#bd7067;color:#6b322d}.hotel-action.warning{background:var(--button-warning);border-color:var(--button-warning-border);color:#5c4217}.hotel-action.warning:hover:not(:disabled){background:var(--button-warning-hover);border-color:#bd9443;color:#5c4217}html[data-theme=dark] .btn,html[data-theme=dark] .hotel-action{color:#19343d}html[data-theme=dark] .btn,html[data-theme=dark] .hotel-action{background:#46545a;border:2px solid #819096;color:#eef4f3}html[data-theme=dark] .btn:hover:not(:disabled),html[data-theme=dark] .hotel-action:hover:not(:disabled){background:#53636a;border-color:#a6b5b8;color:#fff}html[data-theme=dark] .btn.gold,html[data-theme=dark] .hotel-action.gold{background:#8b6232;border-color:#d0a260;color:#fff2d1}html[data-theme=dark] .btn.gold:hover:not(:disabled),html[data-theme=dark] .hotel-action.gold:hover:not(:disabled){background:#a3763d;border-color:#e0bd82;color:#fff8e8}html[data-theme=dark] .btn.secondary{background:#46545a;border-color:#819096;color:#eef4f3}html[data-theme=dark] .btn.secondary:hover:not(:disabled){background:#53636a;border-color:#a6b5b8;color:#fff}html[data-theme=dark] .btn.checkin,html[data-theme=dark] .hotel-action.checkin,html[data-theme=dark] .hotel-action.primary{background:#3d747c;border-color:#7bb8c0;color:#effcff}html[data-theme=dark] .btn.checkin:hover:not(:disabled),html[data-theme=dark] .hotel-action.checkin:hover:not(:disabled),html[data-theme=dark] .hotel-action.primary:hover:not(:disabled){background:#4b8992;border-color:#a5d8dd;color:#fff}html[data-theme=dark] .btn.checkout,html[data-theme=dark] .hotel-action.checkout,html[data-theme=dark] .hotel-action.success{background:#43745e;border-color:#83c49e;color:#effff4}html[data-theme=dark] .btn.checkout:hover:not(:disabled),html[data-theme=dark] .hotel-action.checkout:hover:not(:disabled),html[data-theme=dark] .hotel-action.success:hover:not(:disabled){background:#52866d;border-color:#a9dfbb;color:#fff}html[data-theme=dark] .btn.danger,html[data-theme=dark] .hotel-action.danger{background:#7d423a;border-color:#dd877c;color:#ffe8e3}html[data-theme=dark] .btn.danger:hover:not(:disabled),html[data-theme=dark] .hotel-action.danger:hover:not(:disabled){background:#965149;border-color:#f0a69a;color:#fff}html[data-theme=dark] .hotel-action.warning{background:#7d632d;border-color:#e0b95c;color:#fff5d6}html[data-theme=dark] .hotel-action.warning:hover:not(:disabled){background:#96783a;border-color:#f1d487;color:#fffbea}.estado-control{display:inline-flex;align-items:center;gap:3px;vertical-align:middle}.estado-trigger{width:22px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.estado-trigger:hover{background:var(--gold-soft);color:var(--ink)}.estado-trigger:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px}.estado-trigger[aria-expanded=true]{color:var(--navy-2)}.estado-trigger .estado-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.8;transition:transform .15s ease}.estado-trigger[aria-expanded=true] .estado-caret{transform:rotate(180deg)}.estado-control{min-width:137px;gap:3px}.estado-control>span.badge{box-sizing:border-box;flex:0 0 112px;width:112px;min-width:112px;height:24px;min-height:24px;justify-content:center;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.estado-control .estado-trigger{flex:0 0 22px;width:22px;height:30px}.dot.occupied{background:var(--chart-occupied)}.dot.reserved{background:var(--chart-reserved)}.dot.ready{background:var(--chart-available)}.dot.attention{background:var(--chart-cleaning)}.dot.maintenance{background:var(--chart-maintenance)}.occupancy-ring{background:var(--line)}.estado-trigger:hover,.estado-trigger[aria-expanded=true]{background:#f3f1ed;color:var(--ink)}.estado-menu button:hover,.estado-menu button.peligro:hover{background:#f3f1ed;padding-left:11px}.profile-menu button:hover{background:#f3f1ed;color:var(--ink)}.profile-menu button:hover .theme-icon,.suggest-list button:hover,.suggest-list button.active{background:#f3f1ed}.stay-tab:hover{background:#f7f5f1}.hotel-stat:hover{border-color:#c9c5bd;background:#f8f7f4}.table tr:hover td{background:#f8f7f4}html[data-theme=dark] .estado-trigger:hover,html[data-theme=dark] .estado-trigger[aria-expanded=true],html[data-theme=dark] .estado-menu button:hover,html[data-theme=dark] .estado-menu button.peligro:hover,html[data-theme=dark] .profile-menu button:hover{background:#35444a;color:var(--ink)}html[data-theme=dark] .profile-menu button:hover .theme-icon,html[data-theme=dark] .suggest-list button:hover,html[data-theme=dark] .suggest-list button.active{background:#35444a}html[data-theme=dark] .stay-tab:hover{background:#2d3b41;color:var(--ink)}html[data-theme=dark] .hotel-stat:hover{border-color:#63747a;background:#2d3b41}html[data-theme=dark] .table tr:hover td{background:#2d3b41}html[data-theme=dark] .reservation-document,html[data-theme=dark] .reservation-brand{color:var(--ink)}html[data-theme=dark] .reservation-brand span,html[data-theme=dark] .reservation-document-kind,html[data-theme=dark] .reservation-number span,html[data-theme=dark] .reservation-fact span:first-child,html[data-theme=dark] .reservation-section-head span,html[data-theme=dark] .companions-table-row span:last-child,html[data-theme=dark] .stay-account-row span,html[data-theme=dark] .stay-account-total.muted span{color:var(--muted)}html[data-theme=dark] .reservation-facts,html[data-theme=dark] .companions-table,html[data-theme=dark] .stay-account,html[data-theme=dark] .payment-document-table,html[data-theme=dark] .reservation-fact{background:var(--cream);border-color:var(--line)}html[data-theme=dark] .reservation-section-head h3,html[data-theme=dark] .stay-account-section{color:var(--ink)}html[data-theme=dark] .companions-table-head,html[data-theme=dark] .stay-account-head,html[data-theme=dark] .payment-document-table-head{background:#33454b;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .companions-table-row,html[data-theme=dark] .stay-account-row,html[data-theme=dark] .payment-document-table-row{color:var(--ink);border-color:var(--line)}html[data-theme=dark] .stay-account-balance{background:#492c2a;border-top-color:var(--coral);color:#efb1a7}html[data-theme=dark] .stay-account-balance b{color:#efb1a7}html[data-theme=dark] .stay-account-total{border-color:var(--line)}.dashboard-grid{align-items:start}.dashboard-grid>.card{align-self:start;min-width:0}.occupancy-wrap{grid-template-columns:minmax(180px,210px) minmax(260px,360px);justify-content:center;gap:32px;min-height:248px;padding:24px 32px}.occupancy-ring{margin:0;justify-self:center}.occupancy-copy{width:100%;max-width:360px}.arrival-list{max-height:clamp(280px,42vh,430px);overflow-y:auto;align-content:start;scrollbar-gutter:stable;scrollbar-color:var(--line) transparent}.dashboard-grid{align-items:stretch}.dashboard-grid>.card{align-self:stretch;display:flex;flex-direction:column}.dashboard-grid>.card>.card-body{flex:1 1 auto}.occupancy-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100%;min-height:0;padding:22px 30px 24px}.occupancy-ring{flex:none}.occupancy-ring{width:148px;height:148px}.occupancy-ring:after{top:14px;right:14px;bottom:14px;left:14px}.occupancy-value strong{font-size:32px}.occupancy-copy{width:100%;max-width:540px;text-align:center}.occupancy-copy h4{text-align:center}.occupancy-copy p{max-width:520px;margin:8px auto 18px}.occupancy-copy .legend{max-width:480px;margin:0 auto;text-align:left}.arrival-list{flex:1 1 auto;min-height:0}html,body,*{scrollbar-width:thin;scrollbar-color:#aebfc2 #f0eeea}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#f0eeea;border-left:1px solid #e3e0da;border-top:1px solid #e3e0da}*::-webkit-scrollbar-thumb{background:#aebfc2;border:2px solid #f0eeea;border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:#8da6aa}*::-webkit-scrollbar-corner{background:#f0eeea}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] *{scrollbar-color:#536b73 #1b262d}html[data-theme=dark] *::-webkit-scrollbar-track{background:#1b262d;border-color:#273239}html[data-theme=dark] *::-webkit-scrollbar-thumb{background:#536b73;border-color:#1b262d}html[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:#77939a}html[data-theme=dark] *::-webkit-scrollbar-corner{background:#1b262d}html[data-theme=dark]::-webkit-scrollbar-track{background:#1b262d;border-color:#273239}html[data-theme=dark]::-webkit-scrollbar-thumb{background:#536b73;border-color:#1b262d}html[data-theme=dark]::-webkit-scrollbar-thumb:hover{background:#77939a}html[data-theme=dark]::-webkit-scrollbar-corner{background:#1b262d}.dashboard-departures-list{max-height:clamp(280px,42vh,430px);overflow:auto;scrollbar-gutter:stable}.dashboard-departures-list .table thead th{position:sticky;top:0;z-index:1}.page-table{overflow:visible}.page-table .table thead th{top:82px;z-index:3}.main:has(.page-table):after{content:"";position:fixed;top:67px;left:242px;right:0;height:15px;background:var(--sand);z-index:2;pointer-events:none}.table thead th{position:sticky;top:0;z-index:2;background:#f1ede6;background-clip:padding-box}html[data-theme=dark] .table thead th{background:#1e2a30;color:#d8e4e2}.app-compact-header,.app-bottom-nav,.app-more-backdrop,.app-more-sheet{display:none}@media (max-width: 767px){html,body,#app{min-width:0;width:100%;overflow-x:hidden}body{padding:0}.app{min-height:100vh}.sidebar,.topbar{display:none}.main{width:100%;min-width:0;margin-left:0}.main:has(.page-table):after{display:none}.page-table .table thead th{top:0}.app-compact-header{height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 14px;position:sticky;top:0;z-index:8;background:var(--sidebar-bg);border-bottom:1px solid #ffffff18;color:#dbe5e3}.compact-brand{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:inherit;padding:0;font:inherit;font-weight:700;min-height:44px}.compact-brand img{display:block;width:28px;height:28px;object-fit:contain}.compact-brand span{font-size:14px;letter-spacing:.02em}.app-compact-header{grid-template-columns:auto 1fr}.compact-title{display:none}.compact-profile{position:relative;display:flex;align-items:center}.compact-profile{justify-self:end}.compact-profile .top-icon{width:44px;height:44px;border-radius:50%;background:var(--gold-soft);border-color:var(--gold-soft);color:var(--navy);font-weight:800}.compact-profile .profile-menu{right:0;left:auto;top:calc(100% + 7px);width:min(238px,calc(100vw - 28px));z-index:12}.page{padding:20px 16px calc(96px + env(safe-area-inset-bottom));max-width:none}.page-head{display:grid;grid-template-columns:1fr;gap:15px;align-items:stretch;margin-bottom:20px}.page h1{display:none}.page-head:has(h1:only-child){margin-bottom:0}.page-lead{font-size:12px;margin-top:7px}.page-head>.btn{width:100%;min-height:48px;justify-content:center}.toolbar{display:grid;grid-template-columns:1fr;gap:9px;margin-bottom:14px}.toolbar input,.toolbar select,.toolbar .btn{width:100%;min-height:48px}.toolbar .spacer{display:none}.toolbar>.muted{padding:5px 0;font-size:11px}.module-note{margin-bottom:12px;padding:12px;font-size:11px}.grid.stats,.grid.dashboard-grid{grid-template-columns:1fr;gap:10px}.stat{min-height:126px;padding:16px}.dashboard-grid{margin-top:10px}.card-head{gap:10px;align-items:flex-start;flex-wrap:wrap}.card-head .btn{margin-left:auto;min-height:44px}.occupancy-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;padding:18px 14px 20px}.occupancy-ring{width:176px;height:176px;flex:0 0 176px}.occupancy-copy{width:100%;max-width:420px;text-align:center}.occupancy-copy p{margin:8px auto 17px;max-width:380px}.occupancy-copy .legend{width:100%;max-width:380px;margin:0 auto;text-align:left}.arrival-list{max-height:390px;overflow:auto;padding:0 14px}.arrival{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:13px 0}.arrival>.badge{grid-column:2}.room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-tile:last-child{grid-column:1/-1}.dashboard-departures-list{max-height:390px;overflow:auto}.table-wrap{width:100%;overflow:visible}.table-wrap.card,.page-table{border:0;background:transparent;box-shadow:none}.table{display:block;width:100%;background:transparent;border:0}.table thead{display:none}.table tbody{display:grid;gap:10px}.table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:12px 14px;background:var(--cream);border:1px solid var(--line);box-shadow:0 2px 7px #172a2e0b}.table td{display:grid;grid-template-columns:minmax(102px,38%) minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:8px 0;border:0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.table td:last-child{border-bottom:0}.table td:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.table td[data-label=Acciones],.table td[data-label=Acción]{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch;padding-top:11px}.table td[data-label=Acciones]:before,.table td[data-label=Acción]:before{font-size:10px}.table td[data-label=Acciones] .stay-actions{justify-content:flex-start}.table td[data-label=Acción] .hotel-action{width:100%;justify-content:center}.table .stay-actions{gap:7px}.table .hotel-action{min-height:44px}.table .badge{justify-self:start}.estado-control{min-width:0}.stay-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.stay-tab{padding:13px 4px;font-size:9px;line-height:1.2}.stay-panel{padding:0}.stay-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 10px}.stay-summary-item{text-align:center;font-size:9px;line-height:1.3}.stay-summary-item b{font-size:15px}.rooms-grid{grid-template-columns:1fr;gap:10px}.room-card{padding:16px}.room-actions{display:grid;grid-template-columns:1fr}.room-actions .hotel-action{width:100%;min-height:46px;justify-content:center}.guest-profile{grid-template-columns:1fr;gap:12px}.guest-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px}.guest-page-head .guest-profile-kicker{margin-bottom:5px;font-size:9px;letter-spacing:.12em}.guest-page-head h1{display:block;min-width:0;overflow-wrap:anywhere;font-size:22px;line-height:1.08;letter-spacing:-.035em}.guest-page-head>.mobile-back-action{width:44px!important;min-width:44px;height:44px;min-height:44px;border-radius:2px}.guest-card{padding:18px 16px}.guest-initial{width:52px;height:52px;margin-bottom:12px;font-size:18px}.guest-card h3{font-size:17px;line-height:1.2}.guest-card>p{font-size:11px;margin-top:4px}.guest-details{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;gap:0;margin-top:18px;border-top:1px solid var(--line)}.guest-details div{display:grid;grid-template-columns:1fr;gap:4px;min-width:0;padding:11px 0;border-bottom:1px solid var(--line)}.guest-details div:nth-last-child(-n+2){border-bottom:0}.guest-details span{font-size:9px;line-height:1.25}.guest-details b{overflow-wrap:anywhere;font-size:11px;line-height:1.3}.guest-history-card .card-head{padding:15px 16px;align-items:flex-start}.guest-history-card .card-head h3{font-size:14px;line-height:1.2}.guest-history-card .card-head small{max-width:125px;font-size:9px;line-height:1.3;text-align:right}.page-table-historial .mobile-record-list{padding:0 16px 4px}.page-table-historial .mobile-record-card{margin:0!important;padding:14px 0;border:0;border-top:1px solid var(--line);background:transparent;box-shadow:none}.page-table-historial .mobile-record-card:first-child{border-top:0}.page-table-historial .mobile-record-head{align-items:center;gap:10px}.page-table-historial .mobile-record-title{gap:4px}.page-table-historial .mobile-record-title strong{font-size:12px}.page-table-historial .mobile-record-title span{font-size:10px}.modal-backdrop{align-items:flex-end;padding:0;background:#172a2e99}.modal,.modal.modal-wide{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;overflow:hidden;box-shadow:0 -12px 35px #172a2e30}.modal-head{position:sticky;top:0;z-index:1;padding:15px 16px;background:var(--cream)}.modal-head h2{font-size:16px}.close{display:grid;place-items:center;width:44px;height:44px;margin:-8px -8px -8px 0;font-size:25px}.form{padding:16px;gap:13px}.modal-form-grid,.modal-flow{grid-template-columns:1fr;gap:13px}.modal-form-grid .full{grid-column:auto}.modal .form input,.modal .form textarea{min-height:48px;height:48px;font-size:16px}.modal .form select{width:100%;min-width:0;min-height:44px;height:44px;padding:0 34px 0 11px;font-size:13px;line-height:1.2;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--cream);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color-scheme:light}html[data-theme=dark] .modal .form select{color-scheme:dark}.modal .form select option{font-size:13px;line-height:1.25;padding:6px 10px}.modal .form textarea{height:100px;padding-top:12px}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.form-actions .btn{width:100%;min-height:48px;justify-content:center}.modal-info{order:-1}.toast{left:16px;right:16px;bottom:calc(82px + env(safe-area-inset-bottom));width:auto}.app-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:18;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:72px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);box-shadow:0 -6px 18px #172a2e12}.app-bottom-nav button{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:48px;padding:4px 2px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:9px;font-weight:600}.app-bottom-nav button>span{white-space:nowrap;line-height:1.1}.app-bottom-nav button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-bottom-nav button.active{color:var(--navy-2)}.app-bottom-nav button.active svg{color:var(--gold)}.app-bottom-nav button:focus-visible,.app-more-links button:focus-visible{outline:2px solid var(--navy-2);outline-offset:-2px}.app-more-backdrop{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;border:0;padding:0;background:transparent}.app-more-sheet{position:fixed;left:auto;right:0;bottom:calc(72px + env(safe-area-inset-bottom));z-index:20;display:block;width:min(128px,100vw);max-height:min(45dvh,300px);overflow:auto;padding:6px 4px 8px;background:var(--cream);border:1px solid var(--line);border-right:0;border-bottom:0;border-radius:14px 0 0;box-shadow:0 0 18px #00000029;animation:app-more-rise .2s cubic-bezier(.2,.8,.2,1) both}.app-more-links{display:grid;grid-template-columns:1fr;gap:0}.app-more-section-divider{height:1px;margin:4px 0 2px;background:var(--line)}.app-more-section-label{padding:8px 4px 3px;border-top:1px solid var(--line);color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}.app-more-links button{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;padding:6px 2px 5px;border:0;background:transparent;color:var(--ink);text-align:center;font:inherit;font-size:9px;line-height:1.1}.app-more-links button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.app-more-links button .app-more-arrow{display:none}.app-more-links button.active{border-color:transparent;background:transparent;color:var(--gold)}.app-more-value{display:none}.app-more-logout{color:var(--coral)!important}@keyframes app-more-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.table tbody tr:focus-within{border-color:var(--navy-2);box-shadow:0 0 0 2px #3d788233}.page-table-reservas .table td[data-label=Estado] .estado-control{width:100%}.page-table-reservas .table td[data-label=Estado] .estado-trigger{width:100%;min-height:44px;justify-content:space-between}.page-table-pagos .table td[data-label=Acción] .hotel-action,.page-table-huespedes .table td[data-label=Acciones] .hotel-action,.page-table-llegadas .table td[data-label=Acción] .hotel-action,.page-table-salidas .table td[data-label=Acción] .hotel-action{width:100%;min-height:46px}.reservation-document{padding:16px}.reservation-document-head{display:grid;grid-template-columns:1fr auto;gap:12px}.reservation-brand strong{font-size:16px}.reservation-brand span{font-size:10px}.reservation-number{text-align:right}.reservation-number strong{font-size:18px}.reservation-facts{grid-template-columns:1fr}.reservation-fact{min-height:0;padding:12px 13px;border-right:0;border-bottom:1px solid var(--line)}.reservation-fact:nth-child(3n){border-right:0}.reservation-fact:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.reservation-fact:last-child{border-bottom:0}.companions-table-head,.companions-table-row{grid-template-columns:1fr 1fr;gap:10px;padding:9px 10px}.companions-table-head span+span,.companions-table-row span+span{padding-left:10px}.stay-account-head,.stay-account-row{grid-template-columns:1fr 1fr 1fr;gap:8px;padding-inline:10px}.stay-account-head span+span,.stay-account-row>*+*{padding-left:8px}.payment-document-table-head,.payment-document-table-row{grid-template-columns:1fr auto;gap:10px;padding-inline:10px}.payment-totals{max-width:none}.payment-totals>div{gap:10px;padding-inline:10px}.guest-data-grid{grid-template-columns:1fr;gap:13px}.guest-data-grid .full{grid-column:auto}.companion-row{grid-template-columns:1fr;gap:9px;padding:10px;border:1px solid var(--line)}.companion-row input{height:48px;min-height:48px;font-size:16px}.companion-row select{height:44px;min-height:44px;font-size:13px}.receipt-actions{display:grid;grid-template-columns:1fr;gap:8px}.receipt-actions .btn,.receipt-actions .hotel-action{width:100%;min-height:48px;justify-content:center}.reservation-document-actions{display:grid;grid-template-columns:1fr;gap:8px}.reservation-document-actions .btn,.reservation-document-actions .hotel-action{width:100%;min-height:48px;justify-content:center}.page-table .table tbody{padding-bottom:2px}}@media (prefers-reduced-motion: reduce){.app-more-sheet{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-select{position:relative;display:block;width:100%;min-width:0}.mobile-select-native{display:block;width:100%;min-width:0}.mobile-select-trigger,.mobile-select-menu,.mobile-list-controls,.mobile-filter-backdrop,.mobile-filter-sheet,.mobile-record-list{display:none}@media (max-width:767px){.desktop-toolbar,.payment-metrics-desktop{display:none!important}select{max-width:100%;font-size:13px;line-height:1.2}select option{font-size:13px;line-height:1.25}.mobile-select-native{display:none!important}.mobile-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;height:44px;min-height:44px;padding:0 11px;border:1px solid var(--line);border-radius:2px;background:var(--cream);color:var(--ink);font:inherit;font-size:13px;line-height:1.2;text-align:left;overflow:hidden}.mobile-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-select-caret{width:7px;height:7px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.75}.mobile-select-open .mobile-select-trigger{border-color:var(--gold);outline:2px solid color-mix(in srgb,var(--gold) 20%,transparent);outline-offset:1px}.mobile-select-menu{position:fixed;z-index:60;display:grid;gap:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid var(--line);border-radius:4px;background:var(--cream);color:var(--ink);box-shadow:0 12px 28px #172a2e35}.mobile-select-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;border:0;padding:0;background:transparent}.mobile-select-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;padding:8px 9px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;line-height:1.2;text-align:left;white-space:normal}.mobile-select-menu button+button{border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.mobile-select-menu button:hover,.mobile-select-menu button.active{background:var(--gold-soft)}.mobile-select-menu button:focus-visible{outline:2px solid var(--navy-2);outline-offset:-2px}.mobile-select-menu button svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.page-head>div{min-width:0;flex:1 1 auto}.page-head>.mobile-primary-action,.dash-mobile-fab.mobile-add-action{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:17;display:grid;width:52px!important;min-width:52px;height:52px;min-height:52px;padding:0;place-items:center;border:1px solid var(--gold)!important;border-radius:50%;background:var(--gold)!important;color:var(--navy)!important;justify-self:auto;box-shadow:0 7px 18px #172a2e2e;-moz-appearance:none;appearance:none;-webkit-appearance:none}.page-head>.mobile-primary-action svg,.dash-mobile-fab.mobile-add-action svg{width:20px;height:20px}.page-head>.mobile-back-action{display:grid;width:48px!important;min-width:48px;height:48px;min-height:48px;padding:0;place-items:center;border-radius:14px;justify-self:auto}.page-head>.mobile-back-action svg{width:18px;height:18px}.mobile-action-label{display:none}.mobile-list-controls{display:flex;align-items:center;gap:8px;margin:0 0 16px}.mobile-list-summary{display:none!important}.mobile-list-summary-text{display:none}.mobile-search-field{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;height:48px;padding:0 12px;background:var(--cream);border:1px solid var(--line);color:var(--muted)}.mobile-search-field:focus-within{border-color:var(--navy-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--navy-2) 16%,transparent)}.mobile-search-field>svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mobile-search-field input{min-width:0;flex:1;height:48px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:450;letter-spacing:.005em}.mobile-search-field input::placeholder{color:var(--muted);opacity:1}.mobile-search-clear{display:grid;place-items:center;flex:none;width:42px;height:42px;border:0;background:transparent;color:var(--muted)}.mobile-search-clear svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-search-clear:focus-visible,.mobile-control-button:focus-visible,.mobile-sheet-close:focus-visible,.mobile-sheet-actions button:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px}.mobile-list-actions{display:flex;align-items:center;gap:8px;flex:none}.mobile-control-button{display:inline-flex;align-items:center;justify-content:center;gap:0;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:1px solid var(--line);background:var(--cream);color:var(--ink);font:inherit;font-size:10px;font-weight:600;letter-spacing:.01em}.mobile-control-button span,.mobile-control-button b{display:none}.mobile-control-button:hover,.mobile-control-button.has-filter{border-color:var(--gold);background:var(--gold-soft);color:var(--navy)}.mobile-control-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.mobile-control-button b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--navy-2);color:#fff;font-size:10px}.mobile-metrics-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;border:0;padding:0;background:#172a2e73}.mobile-metrics-dialog{position:fixed;left:50%;top:50%;z-index:25;width:min(344px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;transform:translate(-50%,-50%);padding:15px;background:var(--cream);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 42px #172a2e45;animation:mobile-metrics-enter .18s ease-out both}.mobile-metrics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:1px 0 13px;border-bottom:1px solid var(--line)}.mobile-metrics-kicker{display:block;color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.mobile-metrics-head h2{margin:4px 0 0;color:var(--ink);font-size:18px;line-height:1.1;font-weight:650;letter-spacing:-.025em}.mobile-metrics-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink)}.mobile-metrics-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:13px}.mobile-metric-card{display:flex;flex-direction:column;min-width:0;min-height:116px;padding:12px;border:1px solid var(--line);background:var(--sand)}.mobile-metric-card span{color:var(--muted);font-size:9px;line-height:1.25}.mobile-metric-card strong{display:block;margin:12px 0 4px;overflow-wrap:anywhere;color:var(--ink);font-size:18px;line-height:1.05;font-weight:700;letter-spacing:-.04em}.mobile-metric-card small{margin-top:auto;color:var(--muted);font-size:9px;line-height:1.3}.mobile-metrics-loading{padding:24px 0 10px;color:var(--muted);font-size:11px;text-align:center}@keyframes mobile-metrics-enter{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.mobile-filter-backdrop{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;border:0;padding:0;background:#172a2e73}.mobile-filter-sheet{position:fixed;left:0;right:0;bottom:0;z-index:25;display:block;max-height:min(78dvh,620px);overflow:auto;padding:8px 16px calc(0px + env(safe-area-inset-bottom));background:var(--cream);border-radius:18px 18px 0 0;box-shadow:0 -14px 36px #172a2e30}.mobile-sheet-handle{width:36px;height:4px;margin:0 auto 14px;border-radius:3px;background:var(--line)}.mobile-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.mobile-sheet-kicker{display:none}.mobile-sheet-header h2{margin:0;color:var(--ink);font-size:16px;line-height:1.15;font-weight:650}.mobile-sheet-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink)}.mobile-sheet-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-filter-fields{display:grid;gap:16px;padding:17px 0}.mobile-filter-group{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.01em}.mobile-filter-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mobile-filter-options button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:500;white-space:nowrap;text-align:left}.mobile-filter-options button.active{border-color:var(--gold);background:var(--gold-soft);color:var(--ink);font-weight:650}.mobile-filter-options button:focus-visible{outline:2px solid var(--navy-2);outline-offset:1px}.mobile-filter-check{display:inline-block;flex:none;width:auto;height:auto;border-radius:0;background:transparent;color:currentColor;font-size:16px;line-height:1}.mobile-sheet-actions{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:8px;margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);z-index:1}.mobile-sheet-actions button{min-height:46px;padding:0 12px;border:1px solid var(--line);font:inherit;font-size:11px;font-weight:650}.mobile-sheet-reset{background:transparent;color:var(--ink)}.mobile-sheet-apply{background:var(--gold);border-color:var(--gold)!important;color:var(--navy)}.desktop-data-table{display:none!important}.mobile-record-list{display:grid;gap:0}.mobile-record-card+.mobile-record-card{margin-top:14px}.mobile-record-card{display:grid;gap:13px;padding:15px 14px;background:var(--cream);border:1px solid var(--line)}.mobile-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.mobile-record-title{display:grid;gap:5px;min-width:0}.mobile-record-title strong{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:13px;line-height:1.25}.mobile-record-title span,.mobile-record-context{color:var(--muted);font-size:10px;line-height:1.35}.mobile-record-status{flex:none}.mobile-record-status .estado-control{min-width:0}.mobile-record-status .estado-control>span.badge{flex-basis:auto;width:auto;min-width:0;height:26px;min-height:26px;padding-inline:8px}.mobile-record-status .estado-trigger{height:30px;width:26px}.mobile-record-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mobile-record-meta span{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:9px;line-height:1.2}.mobile-record-meta b{overflow-wrap:anywhere;color:var(--ink);font-size:11px;font-weight:650}.mobile-record-actions{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.mobile-record-actions .hotel-action{flex:0 1 auto;min-height:38px;padding:0 13px;justify-content:center;white-space:normal;font-size:10px}.mobile-record-actions .mobile-record-context{margin-right:auto}.card-head .btn{min-height:36px;padding:0 12px;justify-content:center}.room-actions{display:flex;align-items:center;justify-content:center;gap:8px;min-height:0}.room-actions .hotel-action{width:auto;min-height:38px;padding:0 13px;justify-content:center}.mobile-record-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700}.mobile-record-list .estado-menu{z-index:40}.page-table:has(.mobile-record-list){overflow:visible}.page-table:has(.mobile-record-list)>.mobile-record-list{padding-bottom:2px}.dashboard-departures-list .mobile-record-meta{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-theme=dark] .mobile-search-field:focus-within{box-shadow:0 0 0 3px #7bb8c02b}html[data-theme=dark] .app-bottom-nav button.active{color:var(--gold)}html[data-theme=dark] .mobile-record-list{background:var(--sand)}html[data-theme=dark] .mobile-control-button:hover,html[data-theme=dark] .mobile-control-button.has-filter{background:var(--gold-soft);color:var(--ink)}html[data-theme=dark] .mobile-filter-options button.active{border-color:var(--gold);background:var(--gold-soft);color:var(--ink)}html[data-theme=dark] .mobile-sheet-apply{background:var(--gold);border-color:var(--gold)!important;color:var(--navy)}html[data-theme=dark] .mobile-filter-backdrop{background:#050b0dcc}}.payment-metric-placeholder{min-height:126px}.payment-metric-placeholder .stat-label,.payment-metric-placeholder .stat-foot{opacity:.62}.payment-metric-placeholder strong{color:var(--muted);font-size:29px;letter-spacing:0}.payment-kpi-pulse{display:block;width:16px;height:16px;border:2px solid currentColor;border-radius:50%;opacity:.42;animation:payment-kpi-pulse 1.3s ease-in-out infinite}@keyframes payment-kpi-pulse{0%,to{opacity:.28;transform:scale(.86)}50%{opacity:.72;transform:scale(1)}}.toolbar-search{display:flex;align-items:center;flex:0 1 320px;min-width:240px;height:42px;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:0;background:var(--cream);color:var(--muted);box-shadow:inset 0 1px #ffffff8c;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.toolbar-search:focus-within{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 16%,transparent),inset 0 1px #ffffffb3}.toolbar-search>svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.toolbar-search input,.toolbar-search input:focus{width:100%;min-width:0;height:40px;flex:1;padding:0!important;border:0!important;outline:0;background:transparent!important;color:var(--ink);box-shadow:none!important}.toolbar-search input::placeholder{color:var(--muted);opacity:.92}html[data-theme=dark] .toolbar-search{background:#223039;border-color:#506169;box-shadow:inset 0 1px #ffffff0a}html[data-theme=dark] .toolbar-search:focus-within{border-color:#81979b;background:#2a3a40;box-shadow:0 0 0 3px #81979b2b,inset 0 1px #ffffff0d}.modal-head.no-title{justify-content:flex-end}.users-head{align-items:flex-end}.users-role-mobile-trigger{display:none}.users-role-field{position:relative;display:grid;gap:6px;color:var(--muted);font-size:11px}.users-form-field-label{display:block}.users-role-control{position:relative}.users-role-dropdown{display:none}.confirmation-body{display:grid;justify-items:center;gap:12px;padding:2px 0 0;text-align:center}.confirmation-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--role-warning-border);background:var(--role-warning-bg);color:var(--role-warning-text)}.confirmation-mark.danger{border-color:var(--role-danger-border);background:var(--role-danger-bg);color:var(--role-danger-text)}.confirmation-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.confirmation-message{max-width:390px;margin:0;color:var(--ink);font-size:13px;line-height:1.45;font-weight:600}.confirmation-detail{max-width:390px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.confirmation-actions{justify-content:center;width:100%;margin-top:4px}.confirmation-body{position:relative;padding:28px 4px 2px}.confirmation-close{position:absolute;top:0;right:0;width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);padding:0}.confirmation-close:hover{background:var(--coral-soft);color:var(--ink)}.confirmation-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.confirmation-mark.information{border-color:var(--role-information-border);background:var(--role-information-bg);color:var(--role-information-text)}.confirmation-mark.success{border-color:var(--role-success-border);background:var(--role-success-bg);color:var(--role-success-text)}.users-form-card{margin-bottom:15px}.users-form-card .card-head h2,.users-table-card .card-head h2,.users-credentials-card .card-head h2{margin:0;font-size:13px}.users-form{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;padding:17px}.users-form label{display:grid;gap:6px;color:var(--muted);font-size:11px}.users-form input,.users-form select{height:38px;border:1px solid var(--line);background:var(--cream);padding:0 10px;color:var(--ink);outline:0}.users-form input:focus,.users-form select:focus{border-color:var(--gold)}.users-form .form-actions{grid-column:1/-1}.users-form-help{grid-column:1/-1;margin-top:-5px;color:var(--muted);font-size:10px;line-height:1.35}.users-error{grid-column:1/-1;margin:0;color:var(--coral);font-size:11px}.users-table td:first-child strong{display:block;font-size:11px}.users-table td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.users-table td select{height:28px;margin-left:8px;border:1px solid var(--line);background:var(--cream);color:var(--ink);font-size:10px;padding:0 6px}.users-role-label{display:none}.users-temporary-status{display:inline-flex;margin-top:7px;padding:3px 6px;border:1px solid var(--gold);background:var(--gold-soft);color:#8c6225;font-size:9px;font-weight:700}.users-actions{display:flex;flex-wrap:wrap;gap:5px}.users-actions .hotel-action{display:inline-flex;align-items:center;gap:5px}.users-actions .hotel-action svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.users-action-reset{background:var(--gold-soft);border-color:#e6c995;color:#8c6225}.users-mobile-list{display:none}.users-credentials-card{margin-bottom:15px}.users-credentials-card .card-head{align-items:flex-start}.users-credentials-card .eyebrow{margin:0 0 4px}.users-credentials-body{display:grid;gap:13px;padding:17px}.users-credentials-body>p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.users-credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.users-credential-grid>div{display:grid;gap:5px;min-width:0;padding:11px 12px;border:1px solid var(--line);background:var(--sand)}.users-credential-grid span{color:var(--muted);font-size:10px}.users-credential-grid strong{font-size:12px;overflow-wrap:anywhere}.users-credential-grid small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.users-credential-grid code{padding:8px;background:var(--cream);border:1px dashed var(--gold);color:var(--ink);font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.users-role-modal-body{display:grid;gap:14px;padding:0}.users-role-modal-body>p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.users-role-modal-body>p strong{color:var(--ink)}.users-role-options{display:grid;gap:7px}.users-role-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:10px 12px;border:1px solid var(--line);background:var(--cream);color:var(--ink);text-align:left}.users-role-options button:hover,.users-role-options button.active{border-color:var(--gold);background:var(--gold-soft)}.users-role-options button:disabled{cursor:wait;opacity:.65}.users-role-option-copy{display:grid;gap:3px}.users-role-option-copy strong{font-size:12px}.users-role-option-copy small{color:var(--muted);font-size:10px;line-height:1.25}.users-role-options button>svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.password-required-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--sand)}.password-required-card{width:min(460px,100%);padding:28px}.password-required-mark{width:42px;height:42px;display:grid;place-items:center;margin-bottom:15px;background:var(--gold-soft);color:var(--gold);border:1px solid var(--gold)}.password-required-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.password-required-card h1{margin:0;color:var(--ink);font-size:25px;letter-spacing:-.03em}.password-required-card>p:not(.eyebrow){margin:9px 0 20px;color:var(--muted);font-size:12px;line-height:1.5}.password-required-card form{display:grid;gap:13px}.password-required-card label{display:grid;gap:6px;color:var(--muted);font-size:11px}.password-required-card input{height:42px;border:1px solid var(--line);background:var(--cream);padding:0 11px;color:var(--ink);outline:0}.password-required-card input:focus{border-color:var(--gold)}.password-required-card small{color:var(--muted);font-size:10px;line-height:1.4}.password-required-card .users-error{grid-column:auto}.password-required-card .btn{width:100%;min-height:44px}html[data-theme=dark] .users-form input,html[data-theme=dark] .users-form select,html[data-theme=dark] .users-table td select,html[data-theme=dark] .password-required-card input{background:#1a2328;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .users-credential-grid code{background:#1a2328}html[data-theme=dark] .users-action-reset,html[data-theme=dark] .users-temporary-status{background:#5a4529;border-color:#8d6c3c;color:#ebd6ae}.users-mobile-menu-backdrop{display:none}@media (max-width:767px){.users-head{align-items:flex-start;gap:14px}.users-mobile-intro{display:none}.users-head .btn{width:100%}.users-form{grid-template-columns:1fr}.users-table{display:none}.users-table-card{border:0;box-shadow:none;background:var(--cream)}.users-mobile-list{display:block;padding:0}.users-mobile-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px 14px;border-top:1px solid var(--line);background:transparent}.users-mobile-card:first-child{border-top:0}.users-mobile-identity{display:grid;min-width:0;align-content:start;gap:2px}.users-mobile-identity strong{display:block;overflow-wrap:anywhere;font-size:13px;line-height:1.25}.users-mobile-identity small{display:block;overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.25}.users-mobile-card .users-role-label{display:inline-flex;flex:none;min-height:20px;padding:3px 6px;border:1px solid var(--line);font-size:9px;color:var(--ink)}.users-role-label.administrador{background:var(--gold-soft);border-color:var(--gold)}.users-role-label.usuario{background:var(--sage-soft);border-color:var(--sage)}.users-role-label.lector{background:var(--blue-soft);border-color:var(--blue)}.users-mobile-identity .users-temporary-status{width:max-content;margin-top:5px;padding:3px 5px;font-size:8px}.users-mobile-action-trigger{position:relative;z-index:26;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:5px 7px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:9px;font-weight:700;white-space:nowrap}.users-mobile-action-trigger svg{width:13px;height:13px;fill:currentColor;stroke:none}.users-mobile-action-trigger[aria-expanded=true]{border-color:var(--gold);background:var(--gold-soft)}.users-mobile-actions-menu{position:absolute;top:calc(100% - 4px);right:14px;z-index:27;display:grid;gap:1px;width:min(226px,calc(100vw - 36px));padding:6px;background:var(--cream);border:1px solid var(--line);box-shadow:0 8px 18px #16293424,0 2px 5px #16293414}.users-mobile-actions-menu:before,.users-mobile-actions-menu:after{content:"";position:absolute;right:16px;width:0;height:0;pointer-events:none}.users-mobile-actions-menu:before{top:-9px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:9px solid var(--line)}.users-mobile-actions-menu:after{top:-7px;right:17px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:8px solid var(--cream)}.users-mobile-menu-item{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 10px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:11px;text-align:left}.users-mobile-menu-item:hover,.users-mobile-menu-item:focus-visible{background:var(--gold-soft);outline:0}.users-mobile-menu-item svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.users-mobile-menu-item.danger{color:var(--coral)}.users-mobile-menu-item.danger:hover,.users-mobile-menu-item.danger:focus-visible{background:var(--coral-soft)}.users-mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:block;border:0;padding:0;background:transparent}.users-credentials-body{padding:15px}.users-credential-grid{grid-template-columns:1fr}.users-credentials-body .btn{width:100%;min-height:44px}.users-form-card .card-head,.users-table-card .card-head,.users-credentials-card .card-head{padding:14px 15px}.password-required-page{padding:16px}.password-required-card{padding:22px 18px}.password-required-card h1{font-size:23px}}@media (max-width:767px){.modal-backdrop:has(.modal.modal-centered){align-items:center;padding:15px}.modal.modal-centered{width:min(380px,calc(100vw - 30px));max-height:calc(100dvh - 30px);border:1px solid var(--line);border-radius:0;box-shadow:0 22px 60px #172a2e38}.modal.modal-centered .form{padding:16px}.users-role-modal-body{gap:13px}.users-role-options button{min-height:56px}}@media (max-width:767px){.users-role-native{display:none}.users-role-mobile-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0 11px;border:1px solid var(--line);background:var(--cream);color:var(--ink);font:inherit;font-size:14px;text-align:left}.users-role-mobile-trigger svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.users-role-mobile-trigger[aria-expanded=true]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}}@media (max-width:767px){.users-role-dropdown{position:absolute;top:calc(100% + 3px);bottom:auto;left:0;right:0;z-index:28;display:grid;gap:0;overflow:hidden;padding:4px 0;background:var(--cream);border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 18px #16293429,0 2px 5px #16293414;transform-origin:top center;animation:users-role-dropdown-in .16s ease-out both}.users-role-dropdown.up{top:auto;bottom:calc(100% + 3px);box-shadow:0 -8px 18px #16293429,0 -2px 5px #16293414;transform-origin:bottom center;animation-name:users-role-dropdown-in-up}.users-role-dropdown button{display:grid;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;justify-content:initial;gap:9px;width:100%;min-height:42px;padding:7px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.users-role-dropdown button:last-child{border-bottom:0}.users-role-dropdown button:hover,.users-role-dropdown button:focus-visible{background:var(--sand);outline:0}.users-role-dropdown button.active{background:var(--gold-soft);outline:0}.users-role-dropdown button>svg:last-child{width:16px;height:16px;flex:none;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.users-role-dropdown .users-role-option-icon{width:17px;height:17px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.users-role-dropdown button.active .users-role-option-icon{stroke:var(--gold)}.users-role-dropdown .users-role-option-copy{display:block;min-width:0}.users-role-dropdown .users-role-option-copy strong{display:block;overflow:hidden;font-size:12px;line-height:1.2;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.users-role-mobile-trigger[aria-expanded=true] svg{transform:rotate(180deg)}}@keyframes users-role-dropdown-in{0%{opacity:0;transform:translateY(-4px) scaleY(.98)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes users-role-dropdown-in-up{0%{opacity:0;transform:translateY(4px) scaleY(.98)}to{opacity:1;transform:translateY(0) scaleY(1)}}@media (prefers-reduced-motion:reduce){.users-role-dropdown{animation:none}}@media (max-width:767px){.modal-backdrop{align-items:center;padding:16px;background:#172a2e99}.modal,.modal.modal-wide{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:4px;overflow:hidden;box-shadow:0 22px 60px #172a2e38;animation:modal-mobile-enter .18s ease-out both}.modal-head{position:static;padding:14px 16px;background:var(--cream)}.modal-head h2{font-size:15px}.close{width:32px;height:32px;margin:-4px -4px -4px 0;font-size:21px}.modal .form{padding:16px;gap:13px}}@keyframes modal-mobile-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.modal{animation:none}}@media (max-width:767px){.modal .form .users-form input{font-size:14px}.users-mobile-identity strong{font-size:12px}.users-mobile-identity small{font-size:10px}}html:has(.modal-backdrop.open),html:has(.mobile-filter-sheet),html:has(.mobile-metrics-dialog),html:has(.mobile-select-menu),html:has(.estado-menu),html:has(.profile-menu.open),html:has(.app-more-sheet),body:has(.modal-backdrop.open),body:has(.mobile-filter-sheet),body:has(.mobile-metrics-dialog),body:has(.mobile-select-menu),body:has(.estado-menu),body:has(.profile-menu.open),body:has(.app-more-sheet){overflow:hidden;overscroll-behavior:none}html:has(.export-loader-backdrop.open),body:has(.export-loader-backdrop.open){overflow:hidden;overscroll-behavior:none}.export-loader-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#172a2e66;z-index:1000;padding:20px}.export-loader-backdrop.open{display:flex}.export-loader{width:min(310px,calc(100vw - 40px));padding:24px 24px 20px;background:var(--cream);border:1px solid var(--line);box-shadow:0 16px 34px #172a2e24;display:grid;justify-items:center;gap:14px;text-align:center}.export-loader-icon{width:58px;height:58px;color:#7b8583;opacity:.62;animation:cargador-pulso 2.4s ease-in-out infinite}.export-loader-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.export-loader-x{stroke:var(--sage);stroke-width:2.3}.export-loader-copy{display:grid;gap:5px}.export-loader-copy strong{color:var(--ink);font-size:13px;font-weight:650}.export-loader-copy span{color:var(--muted);font-size:11px}.export-loader-progress{width:100%;height:5px;overflow:hidden;background:var(--line)}.export-loader-progress i{display:block;width:40%;height:100%;background:var(--sage);transform:translate(-110%);animation:export-loader-progress 1.35s ease-in-out infinite}.export-loader.completed .export-loader-icon{color:var(--sage);opacity:1;animation:none}.export-loader-progress.completed i{width:100%;transform:none;animation:none}.export-loader.error .export-loader-icon{color:var(--coral);opacity:1;animation:none}.export-loader-progress.error i{width:100%;transform:none;background:var(--coral);animation:none}@keyframes export-loader-progress{0%{transform:translate(-110%)}to{transform:translate(285%)}}@media (prefers-reduced-motion:reduce){.export-loader-icon{animation:none;opacity:.75}.export-loader-progress i{animation:none;transform:translate(0);width:62%}}@media (max-width:767px){.export-loader{padding:22px 20px 18px}.export-loader-icon{width:54px;height:54px}}.dashboard-mobile-layout{display:none}.dashboard-desktop-layout{display:block}@media (max-width:767px){.dashboard-desktop-layout{display:none}.dashboard-mobile-layout{display:block}.page:has(.dashboard-mobile-layout){padding:16px 16px calc(96px + env(safe-area-inset-bottom));max-width:none}.dash-mobile-error{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--coral);background:var(--coral-soft);color:var(--ink);font-size:11px;line-height:1.4}.dash-mobile-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:1px 2px 14px}.dash-mobile-context>div{display:grid;gap:4px;min-width:0}.dash-mobile-context span,.dash-mobile-kicker{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.09em;line-height:1.1;text-transform:uppercase}.dash-mobile-context strong{color:var(--ink);font-size:13px;font-weight:600;line-height:1.2}.dash-mobile-refresh{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid var(--line);background:transparent;color:var(--muted)}.dash-mobile-refresh svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dash-mobile-refresh:active{background:var(--gold-soft);color:var(--gold)}.dash-mobile-hero,.dash-mobile-panel{background:var(--cream);border:1px solid var(--line);box-shadow:0 5px 16px #172a2e0d}.dash-mobile-hero{padding:16px 15px 14px}.dash-mobile-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dash-mobile-hero-head h1{display:block;margin:5px 0 0;color:var(--ink);font-family:inherit;font-size:18px;font-weight:650;letter-spacing:-.025em;line-height:1.1}.dash-mobile-hero-head>svg{width:18px;height:18px;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dash-mobile-hero-value{display:flex;align-items:baseline;gap:8px;margin:17px 0 11px}.dash-mobile-hero-value strong{color:var(--ink);font-size:40px;font-weight:700;letter-spacing:-.07em;line-height:.9}.dash-mobile-hero-value span{color:var(--muted);font-size:10px}.dash-mobile-progress{height:7px;overflow:hidden;background:var(--sand);border-radius:999px}.dash-mobile-progress i{display:block;height:100%;min-width:4px;background:var(--gold);border-radius:inherit}.dash-mobile-hero-foot{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:var(--muted);font-size:10px}.dash-mobile-hero-foot b{color:var(--ink);font-weight:650}.dash-mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.dash-mobile-quick-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:124px;padding:13px 13px 12px;border:1px solid var(--line);background:var(--cream);color:var(--ink);text-align:left;box-shadow:0 5px 16px #172a2e0a}.dash-mobile-quick-card:active{border-color:var(--gold);background:var(--gold-soft)}.dash-mobile-quick-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;line-height:1.25}.dash-mobile-quick-top svg{width:16px;height:16px;flex:none;color:var(--gold);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dash-mobile-quick-card strong{display:block;margin:14px 0 2px;color:var(--ink);font-size:28px;font-weight:700;letter-spacing:-.06em;line-height:1}.dash-mobile-quick-card small{display:block;min-height:25px;color:var(--muted);font-size:9px;line-height:1.35}.dash-mobile-link{display:flex;align-items:center;gap:4px;margin-top:auto;color:var(--gold);font-size:9px;font-weight:650;line-height:1.2}.dash-mobile-link svg,.dash-mobile-panel-action svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dash-mobile-panel{margin-top:10px}.dash-mobile-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 12px;border-bottom:1px solid var(--line)}.dash-mobile-panel-head>div{min-width:0}.dash-mobile-panel-head h2{margin:5px 0 0;color:var(--ink);font-size:16px;font-weight:650;letter-spacing:-.025em;line-height:1.1}.dash-mobile-panel-note{flex:none;padding-top:12px;color:var(--muted);font-size:9px;white-space:nowrap}.dash-mobile-panel-action{display:inline-flex;align-items:center;gap:3px;flex:none;margin-top:8px;padding:0;border:0;background:transparent;color:var(--gold);font:inherit;font-size:10px;font-weight:650;white-space:nowrap}.dash-mobile-panel-action:active{color:var(--ink)}.dash-mobile-occupancy-content{display:grid;grid-template-columns:minmax(126px,42%) minmax(0,1fr);align-items:center;gap:13px;padding:16px 14px}.dash-mobile-ring{position:relative;display:grid;place-items:center;width:min(136px,100%);aspect-ratio:1;margin:auto;border-radius:50%}.dash-mobile-ring:after{content:"";position:absolute;top:13px;right:13px;bottom:13px;left:13px;border-radius:50%;background:var(--cream)}.dash-mobile-ring>div{position:relative;z-index:1;text-align:center}.dash-mobile-ring strong{display:block;color:var(--ink);font-size:27px;font-weight:700;letter-spacing:-.06em;line-height:1}.dash-mobile-ring span{display:block;margin-top:4px;color:var(--muted);font-size:9px}.dash-mobile-legend{display:grid;gap:8px;min-width:0}.dash-mobile-legend>div,.dash-mobile-room-grid>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;line-height:1.25}.dash-mobile-legend span,.dash-mobile-room-grid span{display:flex;align-items:center;gap:6px;min-width:0}.dash-mobile-legend i,.dash-mobile-room-grid i{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%}.dash-mobile-legend i.occupied,.dash-mobile-room-grid i.occupied{background:var(--chart-occupied)}.dash-mobile-legend i.reserved{background:var(--chart-reserved)}.dash-mobile-legend i.available,.dash-mobile-room-grid i.available{background:var(--chart-available)}.dash-mobile-legend i.cleaning,.dash-mobile-room-grid i.cleaning{background:var(--chart-cleaning)}.dash-mobile-legend i.maintenance,.dash-mobile-room-grid i.maintenance{background:var(--chart-maintenance)}.dash-mobile-legend b,.dash-mobile-room-grid b{color:var(--ink);font-size:11px;font-weight:650}.dash-mobile-arrival-list,.dash-mobile-departure-list{padding:0 14px}.dash-mobile-arrival-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.dash-mobile-arrival-row:last-child,.dash-mobile-departure-row:last-child{border-bottom:0}.dash-mobile-arrival-row time,.dash-mobile-departure-row time{color:var(--gold);font-size:11px;font-weight:700;white-space:nowrap}.dash-mobile-arrival-row>div{min-width:0}.dash-mobile-arrival-row strong,.dash-mobile-departure-main strong{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:11px;font-weight:650;line-height:1.25}.dash-mobile-arrival-row span,.dash-mobile-departure-main span{display:block;margin-top:3px;overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.3}.dash-mobile-arrival-row .badge{min-height:22px;padding:3px 6px;font-size:9px;white-space:nowrap}.dash-mobile-empty{padding:17px 14px;color:var(--muted);font-size:10px}.dash-mobile-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}.dash-mobile-room-grid>div{min-height:48px;padding:9px 10px;border:1px solid var(--line);background:var(--sand)}.dash-mobile-room-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 14px;padding:11px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.dash-mobile-room-total b{color:var(--ink);font-size:12px;font-weight:650}.dash-mobile-departure-row{display:grid;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.dash-mobile-departure-main{display:flex;align-items:flex-start;gap:12px}.dash-mobile-departure-main time{flex:0 0 45px;padding-top:1px}.dash-mobile-departure-main>div{min-width:0}.dash-mobile-departure-meta{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-left:57px}.dash-mobile-departure-meta>span{display:grid;gap:3px;min-width:0;color:var(--muted);font-size:9px}.dash-mobile-departure-meta b{color:var(--ink);font-size:10px;font-weight:650}.dash-mobile-checkout{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:32px;padding:0 9px;border:1px solid var(--line);background:var(--sand);color:var(--ink);font:inherit;font-size:9px;font-weight:650}.dash-mobile-checkout svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dash-mobile-checkout:active{border-color:var(--gold);background:var(--gold-soft)}.dash-mobile-fab{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:17;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid var(--gold);border-radius:50%;background:var(--gold);color:var(--navy);box-shadow:0 7px 18px #172a2e2e}.dash-mobile-fab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dash-mobile-fab:active{transform:scale(.96)}.dash-mobile-refresh:focus-visible,.dash-mobile-quick-card:focus-visible,.dash-mobile-panel-action:focus-visible,.dash-mobile-checkout:focus-visible,.dash-mobile-fab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}}html[data-theme=dark] .form input,html[data-theme=dark] .form select,html[data-theme=dark] .form textarea,html[data-theme=dark] .toolbar input,html[data-theme=dark] .toolbar select,html[data-theme=dark] .top-search,html[data-theme=dark] .modal-form-grid input,html[data-theme=dark] .modal-form-grid select,html[data-theme=dark] .modal-form-grid textarea,html[data-theme=dark] .companion-row input,html[data-theme=dark] .companion-row select,html[data-theme=dark] .guest-data-grid input,html[data-theme=dark] .guest-data-grid select,html[data-theme=dark] .hotel-step,html[data-theme=dark] .suggest-list,html[data-theme=dark] .estado-menu{background:#223039}html[data-theme=dark] .form input,html[data-theme=dark] .form select,html[data-theme=dark] .form textarea,html[data-theme=dark] .toolbar input,html[data-theme=dark] .toolbar select,html[data-theme=dark] .top-search,html[data-theme=dark] .modal-form-grid input,html[data-theme=dark] .modal-form-grid select,html[data-theme=dark] .modal-form-grid textarea,html[data-theme=dark] .companion-row input,html[data-theme=dark] .companion-row select,html[data-theme=dark] .guest-data-grid input,html[data-theme=dark] .guest-data-grid select{border-color:#506169}html[data-theme=dark] .modal-form-grid input:focus,html[data-theme=dark] .modal-form-grid select:focus,html[data-theme=dark] .modal-form-grid textarea:focus,html[data-theme=dark] .companion-row input:focus,html[data-theme=dark] .companion-row select:focus,html[data-theme=dark] .toolbar input:focus,html[data-theme=dark] .toolbar select:focus,html[data-theme=dark] .top-search:focus{border-color:#81979b;box-shadow:0 0 0 2px #81979b2b}html[data-theme=dark] .hotel-step.active{background:#3a3e3a;color:#d5c39d;border-color:#978762}@media (max-width:767px){html[data-theme=dark] .mobile-select-trigger{background:#223039}html[data-theme=dark] .mobile-select-open .mobile-select-trigger{border-color:#81979b;outline-color:#81979b38}html[data-theme=dark] .mobile-select-menu button:hover,html[data-theme=dark] .mobile-select-menu button.active,html[data-theme=dark] .mobile-control-button:hover,html[data-theme=dark] .mobile-control-button.has-filter,html[data-theme=dark] .mobile-filter-options button.active{background:#354149}html[data-theme=dark] .mobile-control-button:hover,html[data-theme=dark] .mobile-control-button.has-filter,html[data-theme=dark] .mobile-filter-options button.active{border-color:#81979b}#app:has(.modal-backdrop.open) .mobile-add-action,#app:has(.mobile-filter-sheet) .mobile-add-action,#app:has(.mobile-metrics-dialog) .mobile-add-action,#app:has(.mobile-select-menu) .mobile-add-action,#app:has(.estado-menu) .mobile-add-action,#app:has(.profile-menu.open) .mobile-add-action{display:none!important}}.mobile-scroll-top{display:none}@media (max-width:767px){.app-compact-header{position:fixed;inset:0 0 auto}.main{padding-top:58px}.mobile-scroll-top{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:17;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #8da09e;border-radius:50%;background:#eef2ef;color:#294d56;box-shadow:0 6px 16px #24343a38,0 2px #ffffffb8 inset;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.mobile-scroll-top.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}#app:has(.mobile-add-action) .mobile-scroll-top{bottom:calc(144px + env(safe-area-inset-bottom))}.mobile-scroll-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-scroll-top:hover{background:#e2ebe8;border-color:#65858a}.mobile-scroll-top:focus-visible{outline:3px solid #9abcc0;outline-offset:3px}.mobile-scroll-top:active{transform:scale(.96)}html[data-theme=dark] .mobile-scroll-top{border-color:#789ba1;background:#31444a;color:#fff;box-shadow:0 7px 18px #00000061,0 2px #ffffff14 inset}html[data-theme=dark] .mobile-scroll-top:hover{background:#3c565e;border-color:#a7c3c5}#app:has(.modal-backdrop.open) .mobile-scroll-top,#app:has(.mobile-filter-sheet) .mobile-scroll-top,#app:has(.mobile-metrics-dialog) .mobile-scroll-top,#app:has(.mobile-select-menu) .mobile-scroll-top,#app:has(.estado-menu) .mobile-scroll-top,#app:has(.profile-menu.open) .mobile-scroll-top{display:none!important}}.login-root{--night: #0d1b22;--night-2: #122832;--panel: #182d36;--panel-2: #1d3540;--line: #49616a;--line-soft: #ffffff18;--ink: #f3f5f3;--muted: #a7b9ba;--gold: #d5a45b;--gold-light: #f1c879;--aqua: #83c5bf;--shadow: 0 28px 90px #06111699;min-height:100vh;color:var(--ink);font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;overflow-x:hidden}.login-root *{box-sizing:border-box}.login-root button,.login-root input{font:inherit}.login-root button{cursor:pointer}.login-root .scene{min-height:100vh;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 42%,#203e48 0,#142c35 30%,var(--night) 72%)}.login-root .scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(120deg,#09171d99,transparent 45%,#d5a45b08)}.login-root .scene:after{content:"";position:absolute;left:50%;top:50%;width:min(68vw,920px);height:min(68vw,920px);transform:translate(-50%,-50%);border:1px solid #ffffff0d;border-radius:50%;z-index:-1;box-shadow:0 0 0 90px #ffffff008,0 0 0 180px #ffffff005}.login-root .ambient-icons{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;opacity:.82}.login-root .ambient-icons .pattern{fill:url(#hotel-pattern)}.login-root .ambient-icons .orbit-line{fill:none;stroke:#9ec3c226;stroke-width:1}.login-root .ambient-icons .glow{fill:#d5a45b12}.login-root .scene-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:30px clamp(24px,5vw,76px)}.login-root .brand{display:flex;align-items:center;gap:5px}.login-root .brand img{width:56px;height:56px;display:block;object-fit:contain;animation:brand-pulse 4.2s ease-in-out infinite}.login-root .brand-name{display:inline-flex;align-items:center;min-width:104px;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:24px;font-weight:800;letter-spacing:.08em;color:#fff;white-space:nowrap;transition:opacity .24s ease,transform .24s ease,letter-spacing .24s ease}.login-root .brand-name.is-resetting{opacity:.28;transform:translateY(-1px);letter-spacing:.11em}.login-root .brand-typed{display:inline-block}.login-root .brand-i{display:inline-block;position:relative;color:#fff}.login-root .brand-i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold-light);top:-5px;left:50%;transform:translate(-50%);box-shadow:0 0 0 3px #d5a45b18}.login-root .brand-caret{display:inline-block;width:2px;height:22px;margin-left:4px;background:var(--gold-light);animation:caret-blink .85s steps(1) infinite}@keyframes brand-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 #d5a45b00)}50%{transform:scale(1.035);filter:drop-shadow(0 0 8px #d5a45b44)}}@keyframes caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}.login-root .scene-status{display:flex;align-items:center;gap:9px;color:#b7c9c8;font-size:11px;letter-spacing:.04em}.login-root .scene-status .dot{width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 5px #83c5bf18,0 0 15px #83c5bf88}.login-root .login-stage{min-height:100vh;display:grid;place-items:center;padding:0 20px;position:relative}.login-root .login-card{position:relative;width:min(100%,470px);background:linear-gradient(145deg,#203b45f2,#172b34f6);border:1px solid #6d8a8e55;box-shadow:var(--shadow),0 0 0 8px #ffffff05;border-radius:18px;padding:34px 38px 30px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-root .login-card:before{content:"";position:absolute;left:-1px;top:28px;width:3px;height:82px;border-radius:0 3px 3px 0;background:linear-gradient(var(--gold-light),var(--gold));box-shadow:0 0 22px #d5a45b55}.login-root .login-card:after{content:"";position:absolute;right:22px;top:22px;width:62px;height:62px;border-top:1px solid #d5a45b66;border-right:1px solid #d5a45b66;border-radius:0 14px 0 0;pointer-events:none}.login-root .login-card h1{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:35px;line-height:1.06;letter-spacing:-.055em;font-weight:750;margin:0;color:#fff}.login-root .login-card h1 em{font-style:normal;color:#dbe7e3}.login-root .intro{max-width:355px;color:var(--muted);font-size:12px;line-height:1.6;margin:13px 0 28px}.login-root .form{display:grid;gap:16px}.login-root .field-label{display:grid;gap:7px;color:#c7d2d0;font-family:Lucida Sans Unicode,Tahoma,Segoe UI,sans-serif;font-size:11px;font-weight:600}.login-root .field{height:48px;display:flex;align-items:center;gap:11px;border:1px solid #78909566;border-radius:9px;background:#0e2028aa;padding:0 13px;transition:border-color .2s,box-shadow .2s,background .2s}.login-root .field:focus-within{border-color:var(--gold);background:#10252dcc;box-shadow:0 0 0 3px #d5a45b1c}.login-root .field svg{width:17px;height:17px;fill:none;stroke:#9cb4b6;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.login-root .field input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-family:Lucida Sans Unicode,Tahoma,Segoe UI,sans-serif;font-size:13px;font-weight:400;letter-spacing:.005em;min-width:0}.login-root .field input::placeholder{color:#81999c;font-weight:400}.login-root .field button{border:0;background:transparent;color:#9cb4b6;padding:3px;display:grid;place-items:center}.login-root .field button:hover{color:var(--gold-light)}.login-root .field button svg{width:17px;height:17px}.login-root .submit{height:49px;border:1px solid var(--gold);border-radius:9px;background:linear-gradient(135deg,#d5a45b,#b98239);color:#14242a;font-family:Lucida Sans Unicode,Tahoma,Segoe UI,sans-serif;font-size:12px;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 25px #d5a45b20;transition:transform .2s,box-shadow .2s,filter .2s}.login-root .submit:hover{transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 14px 32px #d5a45b38}.login-root .submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-root .submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-root .security{display:flex;align-items:center;justify-content:center;gap:7px;color:#8fa7a8;font-size:10px;margin-top:20px}.login-root .security svg{width:14px;height:14px;fill:none;stroke:var(--aqua);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.login-root .footer{position:absolute;z-index:2;left:clamp(24px,5vw,76px);bottom:25px;color:#718b8e;font-size:10px;letter-spacing:.03em}.login-root .footer strong{color:#a9c1bf;font-weight:700}.login-root .login-error{color:#f3a096;font-size:11px;margin:0}.login-root .demo-aviso{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 12px;padding:10px 12px;border:1px solid #d5a45b66;border-radius:9px;background:#d5a45b14}.login-root .demo-aviso p{flex:1 1 190px;margin:0;color:#e9d3ac;font-size:11px;line-height:1.45}.login-root .demo-aviso button{border:1px solid var(--gold);border-radius:7px;background:transparent;color:var(--gold-light);font-size:11px;font-weight:700;padding:6px 10px;cursor:pointer}.login-root .demo-aviso button:hover{background:var(--gold);color:#14242a}.login-root .demo-note{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #78909544;border-radius:9px;background:#0e2028aa}.login-root .demo-note-icon{width:17px;height:17px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid #9cb4b6;border-radius:50%;color:#9cb4b6;font-size:10px;font-weight:700}.login-root .demo-note p{margin:0;color:#a9c1bf;font-size:10.5px;line-height:1.5}.login-root .toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#142b34;color:#eef5f2;border:1px solid #73908f55;border-left:3px solid var(--gold);padding:12px 17px;border-radius:8px;font-size:11px;box-shadow:0 15px 35px #06111688;opacity:0;pointer-events:none;transition:.25s;z-index:5}.login-root .toast.show{opacity:1;transform:translate(-50%)}html.is-login,html.is-login body{margin:0;min-height:100%;background:#0d1b22}@media (max-width: 767px){.login-root .scene{min-height:100dvh}.login-root .scene-top{padding:18px 16px;align-items:flex-start}.login-root .brand img{width:38px;height:38px}.login-root .brand-name{font-size:19px;min-width:86px}.login-root .brand-caret{height:18px}.login-root .scene-status{max-width:145px;text-align:right;font-size:9px;line-height:1.35}.login-root .login-stage{min-height:100dvh;padding:86px 16px 78px;align-items:center}.login-root .login-card{width:100%;padding:27px 20px 23px;border-radius:14px}.login-root .login-card:before{top:23px;height:67px}.login-root .login-card:after{right:15px;top:15px;width:48px;height:48px;border-radius:0 10px 0 0}.login-root .login-card h1{font-size:29px}.login-root .intro{font-size:11px;margin:11px 0 22px}.login-root .form{gap:14px}.login-root .field{height:52px;padding:0 12px}.login-root .field input{font-size:16px}.login-root .field button{width:44px;height:44px;padding:0}.login-root .submit{height:52px}.login-root .security{margin-top:17px;font-size:9px}.login-root .footer{left:16px;right:16px;bottom:18px;text-align:center;font-size:9px}}
