.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:4.375rem 3.75rem 5.3rem 8rem;font-family:var(--font-auth);background:linear-gradient(90deg,#0a07059e,#0a070552 38%,#0a070514 60%,#0a07052e),url(/assets/login/luxury_background_clean.png) center / cover no-repeat,#140e0b;overflow:hidden}.auth-hero{align-self:flex-start;margin-top:8.6rem;max-width:36rem;text-shadow:0 2px 18px rgba(0,0,0,.35)}.auth-hero h1{margin:0;font-size:4.85rem;line-height:1.04;font-weight:700;letter-spacing:-.01em;color:#fbf7f2}.auth-hero h1 span{display:block;color:#d9b07a}.auth-rule{display:block;width:4.9rem;height:4px;margin:1.45rem 0 2.2rem;border-radius:2px;background:#d6a96b}.auth-hero p{margin:0;max-width:25.5rem;font-size:1.5rem;line-height:1.34;color:#f2ece6}.auth-features{display:flex;list-style:none;margin:2.85rem 0 0;padding:0}.auth-features li{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;width:6.9rem;font-size:.95rem;color:#f2ece6}.auth-features li:first-child{width:6.3rem;align-items:flex-start}.auth-features li:first-child span{margin-left:1.3rem}.auth-features li+li:before{content:"";position:absolute;left:0;top:.8rem;height:4.4rem;width:1px;background:#ffffff38}.auth-features span{display:grid;place-items:center;width:3.75rem;height:3.75rem;border-radius:.8rem;border:1px solid rgba(255,255,255,.28);background:#1c130e8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-features img{width:2.1rem;height:2.1rem}.auth-card{position:relative;flex:0 0 41.25rem;width:41.25rem;min-height:49.1rem;padding:2.9rem 4.7rem 2.6rem 5.05rem;border-radius:2.5rem;background:linear-gradient(160deg,#5c4c408c,#2d2520c7 34%,#1a1513db);border:1px solid rgba(222,186,132,.32);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffeed22e;backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-left:.2rem}.auth-brand img{width:4.4rem;height:auto}.auth-brand i{width:2px;height:3rem;background:#d8b27abf}.auth-brand span{font-size:2.35rem;font-weight:500;color:#fbf7f2;letter-spacing:-.01em}.auth-brand b{font-weight:600;color:#d9b07a}.auth-title{margin:2.15rem 0 0 .75rem;font-size:2.78rem;font-weight:700;line-height:1.15;color:#fbf7f2}.auth-sub{margin:.55rem 0 0 1.1rem;font-size:1.19rem;line-height:1.4;color:#ebe4dd}.auth-form{margin-top:1.95rem;display:flex;flex-direction:column}.auth-field{position:relative;display:flex;align-items:center;height:3.5rem;margin-bottom:1.13rem;border-radius:.7rem;border:1px solid rgba(255,255,255,.22);background:#14100e6b;transition:border-color .2s,background .2s,box-shadow .2s}.auth-field:focus-within{border-color:#d9a75bd9;background:#14100e99;box-shadow:0 0 0 3px #d9a75b24}.auth-field>img{width:1.55rem;height:1.55rem;margin:0 1.1rem 0 1.25rem;flex:none}.auth-field input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:1.15rem;color:#fbf7f2}.auth-field input::placeholder{color:#d6cfc8}.auth-field .eye{display:grid;place-items:center;width:3.4rem;height:100%;border:0;background:none;color:#f2ece6}.auth-field .eye svg{width:1.6rem;height:1.6rem}.auth-field input:-webkit-autofill{-webkit-text-fill-color:#fbf7f2;transition:background-color 9999s}.auth-label{display:block;margin:.6rem 0 .95rem;font-size:1.12rem;font-weight:500;color:#f4eee8}.role-seg{display:grid;grid-template-columns:.98fr 1fr 1.1fr;height:3.3rem;border-radius:.7rem;border:1px solid rgba(255,255,255,.22);background:#14100e66;overflow:hidden}.role-seg button{position:relative;display:flex;align-items:center;gap:.85rem;padding:0 1rem;border:0;background:none;font-size:1.02rem;color:#ece6df;transition:background .2s}.role-seg button+button:before{content:"";position:absolute;left:0;top:.3rem;bottom:.3rem;width:1px;background:#ffffff1f}.role-seg button i{width:1.4rem;height:1.4rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);flex:none}.role-seg button.on{background:linear-gradient(180deg,#7e6448b3,#624d38b8);border-radius:.6rem;color:#fff}.role-seg button.on:before{display:none}.role-seg button.on+button:before{display:none}.role-seg button.on i{border-color:#e0b77c;background:radial-gradient(circle,#e0b77c 0 42%,transparent 46%)}.role-seg button:not(.on):hover{background:#ffffff0a}.auth-row{display:flex;align-items:center;justify-content:space-between;margin:1.85rem 0}.auth-check{display:inline-flex;align-items:center;gap:.75rem;font-size:1.12rem;color:#f4eee8;cursor:pointer}.auth-check input{position:absolute;opacity:0;pointer-events:none}.auth-check .box{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:.3rem;border:1.5px solid rgba(255,255,255,.45);color:transparent;transition:.15s}.auth-check .box svg{width:1.05rem;height:1.05rem}.auth-check input:checked+.box{background:#d9b07a;border-color:#d9b07a;color:#2a1c0e}.auth-check input:focus-visible+.box{outline:2px solid var(--ls-gold);outline-offset:2px}.auth-link{border:0;background:none;padding:0;font-size:1.12rem;color:#d9b07a;text-decoration:underline;text-underline-offset:3px}.auth-link:hover{color:#f0cf9d}.auth-alert{margin:-.6rem 0 1.1rem;padding:.7rem 1rem;border-radius:.6rem;font-size:.98rem;color:#ffd9d2;background:#b0342647;border:1px solid rgba(232,103,86,.45)}.auth-alert.info{color:#f6e5c8;background:#d9a75b29;border-color:#d9a75b73}.btn-gold,.btn-outline{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;text-decoration:none;border-radius:.75rem;transition:transform .15s,filter .2s,background .2s}.btn-gold{height:3.78rem;border:0;background:linear-gradient(180deg,#ddb987,#cfa56c);box-shadow:0 10px 26px #00000059,inset 0 1px #fff5e180;font-size:1.5rem;font-weight:600;color:#2b1d0f}.btn-gold svg{width:1.7rem;height:1.7rem}.btn-gold:hover{filter:brightness(1.06)}.btn-gold:active{transform:translateY(1px)}.btn-gold:disabled{filter:saturate(.6) brightness(.85);cursor:progress}.btn-outline{height:3.4rem;margin-top:1.45rem;border:1px solid rgba(255,255,255,.55);background:#0f0c0a2e;font-size:1.27rem;font-weight:500;color:#fbf7f2}.btn-outline img{width:1.55rem;height:1.55rem;filter:brightness(0) invert(1)}.btn-outline:hover{background:#ffffff0f}@media(max-width:1100px){.auth-page{padding:3rem 2.5rem}.auth-hero h1{font-size:3.6rem}}@media(max-width:900px){.auth-page{flex-direction:column;justify-content:flex-start;padding:2.5rem 16px 3rem;gap:2rem;background-position:30% center}.auth-hero{margin-top:0;align-self:stretch}.auth-hero h1{font-size:2.6rem}.auth-hero p{font-size:1.1rem}.auth-rule{margin:1rem 0 1.2rem}.auth-features{margin-top:1.6rem}.auth-card{flex:none;width:100%;max-width:34rem;min-height:0;padding:2rem 1.4rem;border-radius:1.6rem}.auth-brand span{font-size:1.8rem}.auth-title{margin:1.5rem 0 0;font-size:2rem}.auth-sub{margin-left:0;font-size:1rem}.role-seg button{gap:.5rem;padding:0 .6rem;font-size:.92rem}.auth-row{flex-wrap:wrap;gap:.8rem}.btn-gold{font-size:1.25rem}}.app{--sb-w: 18.94rem;display:flex;min-height:100vh;background:#121010}.sidebar{position:sticky;top:0;z-index:40;flex:0 0 var(--sb-w);width:var(--sb-w);height:100vh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(120% 50% at 0% 0%,rgba(92,64,40,.28),transparent 60%),linear-gradient(180deg,#1d1715,#171312 55%,#120f0e);border-right:1px solid rgba(255,255,255,.05);transition:flex-basis .25s ease,width .25s ease}.sb-brand{display:flex;flex-direction:column;align-items:center;padding-top:1.05rem;flex:none}.sb-brand img{width:4.2rem;height:auto}.sb-brand strong{margin-top:.3rem;font-family:var(--font-brand);font-size:2.15rem;font-weight:600;line-height:1.1;color:#fbf6ef;letter-spacing:.005em}.sb-brand small{margin-top:.42rem;font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#d9b07a;white-space:nowrap}.sb-nav{position:relative;z-index:1;flex:1;min-height:0;margin-top:1.95rem;padding:0 1.1rem 1rem 1.38rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 1.6rem),transparent 100%);mask-image:linear-gradient(180deg,#000 calc(100% - 1.6rem),transparent 100%)}.sb-nav::-webkit-scrollbar{display:none}.sb-item{position:relative;display:flex;align-items:center;gap:1.3rem;width:100%;height:3.08rem;padding:0 .7rem 0 1.4rem;border:0;border-radius:.9rem;background:none;text-align:left;text-decoration:none;font-size:1.04rem;letter-spacing:-.005em;font-weight:400;color:#f2ece6;white-space:nowrap;transition:background .2s,color .2s}.sb-item img{width:1.5rem;height:1.5rem;flex:none;opacity:.92}.sb-item span{flex:1;overflow:hidden;text-overflow:ellipsis}.sb-item .chev{width:1.15rem;height:1.15rem;flex:none;opacity:.85;transition:transform .25s}.sb-item:hover{background:#ffffff0a}.sb-item.active{background:linear-gradient(90deg,#8a6b49,#6f5539 55%,#5a4430);box-shadow:inset 0 1px #ffe6be2e,0 6px 18px #0000004d;color:#fff;font-weight:500}.sb-item.active img{opacity:1}.sb-group.open .chev{transform:rotate(180deg)}.sb-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.sb-sub>div{overflow:hidden}.sb-group.open .sb-sub{grid-template-rows:1fr}.sb-sub a{position:relative;display:block;margin-left:2.15rem;padding:.5rem .8rem .5rem 1.55rem;border-left:1px solid rgba(217,176,122,.25);font-size:.94rem;color:#bfb6ae;text-decoration:none;white-space:nowrap;transition:color .2s}.sb-sub a:first-child{margin-top:.3rem}.sb-sub a:last-child{margin-bottom:.45rem}.sb-sub a:hover{color:#fff}.sb-sub a.active{color:#e7c48f;font-weight:500}.sb-sub a.active:before{content:"";position:absolute;left:-3px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#e3b56c}.sb-bell{flex:none;height:9.6rem;background:url(/assets/dash/01_backgrounds/sidebar_bell_clean_RECREATED.png) 30% 100% / 125% auto no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 35%,#000 70%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 35%,#000 70%);opacity:.95;pointer-events:none}.app.sb-collapsed{--sb-w: 5.6rem}.sidebar.collapsed .sb-brand strong,.sidebar.collapsed .sb-brand small,.sidebar.collapsed .sb-item span,.sidebar.collapsed .sb-item .chev,.sidebar.collapsed .sb-sub,.sidebar.collapsed .sb-bell{display:none}.sidebar.collapsed .sb-brand img{width:3.2rem;margin-top:.4rem}.sidebar.collapsed .sb-nav{padding:0 .75rem}.sidebar.collapsed .sb-item{justify-content:center;padding:0}.main{position:relative;flex:1;min-width:0;padding:.75rem 1.19rem 1.75rem 1.44rem;isolation:isolate}.hero-bg{position:absolute;z-index:-1;top:0;right:0;width:100%;height:16.5rem;background:url(/assets/dash/01_backgrounds/luxury_room_banner_clean_RECREATED.png) right top / auto 125% no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%);opacity:.95}.topbar{position:relative;z-index:30;display:flex;align-items:center;gap:1.55rem;height:3.15rem}.icon-btn{display:grid;place-items:center;flex:none;width:3.15rem;height:3.15rem;border-radius:.8rem;border:1px solid rgba(255,255,255,.07);background:#201b19d1;color:#f2ece6}.icon-btn svg{width:1.55rem;height:1.55rem}.icon-btn:hover{background:#302824e6}.search{position:relative;display:flex;align-items:center;width:35.7rem;max-width:100%;height:3.15rem;padding:0 .6rem 0 1.25rem;border-radius:1.6rem;border:1px solid rgba(255,255,255,.09);background:#1e1917d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search>svg{width:1.5rem;height:1.5rem;flex:none;color:#f2ece6}.search input{flex:1;min-width:0;height:100%;margin-left:.8rem;border:0;outline:0;background:none;font-size:.98rem;color:#fbf7f2}.search input::placeholder{color:#e5ded8}.search:focus-within{border-color:#d9a75b99}.search kbd{flex:none;padding:.32rem .6rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);background:#120f0eb3;font-family:var(--font-ui);font-size:.92rem;color:#f2ece6}.top-right{margin-left:auto;display:flex;align-items:center;gap:2rem}.bell-wrap,.user-wrap{position:relative}.bell{position:relative;display:grid;place-items:center;width:2.8rem;height:2.8rem;border:0;border-radius:50%;background:none;color:#f7f2ec}.bell svg{width:1.85rem;height:1.85rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.bell i{position:absolute;top:.3rem;right:.42rem;width:.72rem;height:.72rem;border-radius:50%;background:#f0a43a;box-shadow:0 0 0 2px #14100ecc}.user{display:flex;align-items:center;gap:1rem;padding:.35rem .4rem .35rem .35rem;border:1px solid rgba(255,255,255,.06);border-radius:2.2rem;background:#1814128c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:left}.user>img,.user .initials{width:3.4rem;height:3.4rem;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.14)}.user .initials{display:grid;place-items:center;background:linear-gradient(135deg,#8a6b49,#4b3828);font-family:var(--font-serif);font-size:1.3rem;font-weight:700}.user .who{display:flex;flex-direction:column}.user .who b{font-size:1.13rem;font-weight:600;color:#fff}.user .who small{font-size:.88rem;color:#e8e1da}.user>svg{width:1.2rem;height:1.2rem;margin-left:.5rem}.dropdown{position:absolute;top:calc(100% + .6rem);right:0;z-index:50;min-width:15rem;padding:.5rem;border-radius:.9rem;border:1px solid rgba(255,255,255,.09);background:#1f1a18;box-shadow:0 18px 50px #0000008c;animation:drop .16s ease-out}@keyframes drop{0%{opacity:0;transform:translateY(-4px)}}.dropdown .empty{margin:.6rem;font-size:.9rem;color:var(--ls-dim)}.search-results{left:0;right:0}.search-results button{display:flex;justify-content:space-between;width:100%;padding:.65rem .8rem;border:0;border-radius:.6rem;background:none;text-align:left;font-size:.95rem}.search-results button:hover{background:#ffffff0d}.search-results small{color:#d9b07a}.notif{width:21rem}.notif h4{margin:.4rem .6rem .5rem;font-size:1rem}.notif-item{display:grid;grid-template-columns:1fr auto;gap:.1rem .6rem;padding:.6rem;border-radius:.6rem}.notif-item:hover{background:#ffffff0a}.notif-item b{font-size:.92rem;font-weight:600}.notif-item span{grid-column:1;font-size:.85rem;color:var(--ls-muted)}.notif-item small{grid-column:2;grid-row:1;font-size:.8rem;color:#d9b07a}.user-menu .um-head{display:flex;flex-direction:column;padding:.6rem .7rem .75rem;border-bottom:1px solid var(--ls-line);margin-bottom:.35rem}.user-menu .um-head b{font-size:.98rem}.user-menu .um-head small{font-size:.84rem;color:var(--ls-dim)}.user-menu button{display:block;width:100%;padding:.6rem .7rem;border:0;border-radius:.55rem;background:none;text-align:left;font-size:.95rem}.user-menu button:hover{background:#ffffff0d}.user-menu .danger{color:#f19a8b}.welcome{margin:2.85rem 0 0 1.25rem;min-height:6.6rem}.welcome h1{margin:0;font-family:var(--font-serif);font-size:2.3rem;font-weight:400;line-height:1.15;color:#fbf7f2;letter-spacing:-.01em;text-shadow:0 2px 14px rgba(0,0,0,.5)}.welcome i{display:block;width:3.6rem;height:3px;margin:.55rem 0 .95rem;border-radius:2px;background:#d9a75b}.welcome p{margin:0;font-size:1.18rem;color:#ece6df;text-shadow:0 1px 10px rgba(0,0,0,.6)}.load-error{margin:0 0 1rem;padding:.7rem 1rem;border-radius:.7rem;border:1px solid rgba(232,103,86,.45);background:#b0342633;color:#ffd9d2;font-size:.95rem}.load-error button{margin-left:.6rem;border:0;background:none;color:#f6c98a;text-decoration:underline}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:.95rem}.kpi{position:relative;display:flex;align-items:center;gap:1.15rem;height:6.2rem;padding:0 1.2rem 0 1.25rem;border-radius:.9rem;overflow:hidden;border:1px solid;background-size:cover;background-position:center right;box-shadow:0 10px 30px #00000059}.kpi:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.kpi>*{position:relative;z-index:1}.kpi.gold{border-color:#d9a75b8c;background-image:url(/assets/dash/01_backgrounds/metric_card_gold_RECREATED.png)}.kpi.gold:before{background:linear-gradient(90deg,#4028168c,#40281626)}.kpi.purple{border-color:#975cd299;background-image:url(/assets/dash/01_backgrounds/metric_card_purple_RECREATED.png)}.kpi.purple:before{background:linear-gradient(90deg,#3016488c,#3016481f)}.kpi.blue{border-color:#4680be99;background-image:url(/assets/dash/01_backgrounds/metric_card_blue_RECREATED.png)}.kpi.blue:before{background:linear-gradient(90deg,#0e243e8c,#0e243e1f)}.kpi.green{border-color:#2aa26499;background-image:url(/assets/dash/01_backgrounds/metric_card_green_RECREATED.png)}.kpi.green:before{background:linear-gradient(90deg,#0a32208c,#0a32201f)}.kpi-icon{display:grid;place-items:center;flex:none;width:4.1rem;height:4.1rem;border-radius:50%}.kpi-icon img{width:2.15rem;height:2.15rem}.kpi.gold .kpi-icon{background:#78522ebf}.kpi.purple .kpi-icon{background:#6c338dd9}.kpi.blue .kpi-icon{background:#2b588ce6}.kpi.green .kpi-icon{background:#1a784ee6}.kpi h3{margin:0 0 .25rem;font-size:1rem;font-weight:500;color:#f7f2ec}.kpi strong{font-family:var(--font-serif);font-size:2rem;font-weight:700;line-height:1.1;color:#fff}.row{display:grid;gap:1.3rem;margin-top:1.3rem}.row-a{grid-template-columns:1.488fr 1fr}.row-b{grid-template-columns:1.57fr 1fr;margin-top:1.25rem}.card{position:relative;min-width:0;border-radius:1rem;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,#1e1a19,#191615);box-shadow:0 10px 30px #0000004d}.card>header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.35rem 0 1.25rem}.card h2{display:flex;align-items:center;gap:.95rem;margin:0;font-size:1.3rem;font-weight:600;color:#fbf7f2}.card h2 img,.card h2 .bolt{width:1.75rem;height:1.75rem;color:#e3b56c}.occupancy{height:17.2rem;display:flex;flex-direction:column}.select{position:relative;display:flex;align-items:center}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2.3rem;padding:0 2.6rem 0 1rem;border-radius:.7rem;border:1px solid rgba(255,255,255,.1);background:#191514;font-size:.92rem;color:#f7f2ec}.select svg{position:absolute;right:.85rem;width:1rem;height:1rem;pointer-events:none}.chart{flex:1;min-height:0;padding:.2rem .4rem .4rem .6rem}.chart .recharts-surface{overflow:visible}.chart-tip{padding:.5rem .7rem;border-radius:.55rem;border:1px solid rgba(227,181,108,.4);background:#231d1a;box-shadow:0 8px 20px #0006}.chart-tip small{display:block;font-size:.78rem;color:var(--ls-dim)}.chart-tip b{font-size:.9rem;color:#f2d4a2}.room-status{height:17.2rem}.rs-body{display:flex;align-items:center;gap:2.2rem;padding:1.25rem 2rem 0 3.3rem}.donut{position:relative;width:11.3rem;height:11.3rem;flex:none}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center b{font-family:var(--font-serif);font-size:2.15rem;font-weight:700;line-height:1.1}.donut-center span{font-size:.98rem;color:#e5ded8}.legend{flex:1;list-style:none;margin:0;padding:0}.legend li{display:flex;align-items:center;gap:.85rem;height:2.65rem;border-bottom:1px solid rgba(255,255,255,.07);font-size:1.05rem}.legend li:last-child{border-bottom:0}.legend i{width:.75rem;height:.75rem;border-radius:50%;flex:none}.legend span{flex:1;color:#f2ece6}.legend b{font-weight:500}.reservations{min-height:16.7rem}.view-all{display:inline-flex;align-items:center;gap:.5rem;font-size:.98rem;font-weight:500;color:#fbf7f2;text-decoration:none}.view-all svg{width:1.2rem;height:1.2rem;transition:transform .2s}.view-all:hover{color:#e7c48f}.view-all:hover svg{transform:translate(3px)}.table-wrap{padding:.75rem 1.3rem .6rem;overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{height:2.4rem;padding:0 .6rem;border-bottom:1px solid rgba(255,255,255,.09);text-align:left;font-size:.95rem;font-weight:500;color:#e5ded8}td{height:3.38rem;padding:0 .6rem;border-bottom:1px solid rgba(255,255,255,.06);font-size:.98rem;font-weight:500;color:#fbf7f2}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .15s}tbody tr:hover{background:#ffffff06}td.code{color:#e8e1da;font-weight:400}td.empty{text-align:center;color:var(--ls-dim)}.guest{display:inline-flex;align-items:center;gap:.8rem}.guest img,.guest i{width:2.35rem;height:2.35rem;border-radius:50%;object-fit:cover;flex:none}.guest i{display:grid;place-items:center;font-style:normal;background:#3a2f28;font-size:.9rem}.pill{display:inline-block;padding:.3rem .65rem;border-radius:.45rem;background:#2b2624;font-size:.95rem}.badge{display:inline-block;padding:.38rem .75rem;border-radius:.55rem;font-size:.95rem;font-weight:500}.badge.in{color:#3fd287;background:#1c6e426b}.badge.res{color:#f3e1c4;background:#785a3a9e}.badge.out{color:#c9c2bc;background:#ffffff14}.badge.cx{color:#f19a8b;background:#b0342640}.timeline{list-style:none;margin:0;padding:1.25rem 1.3rem 1rem 1.6rem}.timeline li{position:relative;display:grid;grid-template-columns:6.4rem 1fr;align-items:start;min-height:3.1rem;padding-left:1.9rem;font-size:.95rem}.timeline li:before{content:"";position:absolute;left:0;top:.15rem;width:.72rem;height:.72rem;border-radius:50%;background:#e3b56c;box-shadow:0 0 0 3px #e3b56c38}.timeline li:not(:last-child):after{content:"";position:absolute;left:.33rem;top:1.1rem;bottom:-.05rem;width:2px;background:#e3b56c8c}.timeline time{color:#e8e1da}.timeline p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline b{font-weight:500;color:#fff}.timeline span{color:#c9c2bc}.timeline .empty{color:var(--ls-dim);padding-left:0}.timeline .empty:before{display:none}.module-card{display:flex;flex-direction:column;align-items:center;margin-top:1.4rem;padding:3.5rem 2rem;text-align:center}.module-card img{width:3.4rem;height:3.4rem}.module-card h2{margin-top:1.2rem;font-size:1.5rem}.module-card p{max-width:34rem;margin:.7rem 0 1.6rem;font-size:1.02rem;line-height:1.6;color:var(--ls-muted)}.btn-ghost{padding:.75rem 1.4rem;border-radius:.7rem;border:1px solid rgba(227,181,108,.5);color:#f2d4a2;font-weight:500;text-decoration:none}.btn-ghost:hover{background:#e3b56c1a}.sb-scrim{display:none}@media(max-width:1200px){.kpis{grid-template-columns:repeat(2,1fr)}.row-a,.row-b{grid-template-columns:1fr}.rs-body{padding-left:2rem}}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;width:17.5rem;transform:translate(-100%);transition:transform .25s ease}.app.sb-mobile-open .sidebar{transform:none}.app.sb-mobile-open .sb-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0000008c}.main{padding:.75rem 16px 2rem}.topbar{gap:.6rem}.search{flex:1;width:auto;min-width:0;padding-left:.9rem}.search input{margin-left:.5rem}.top-right{flex:none}.search kbd,.user .who,.user>svg{display:none}.top-right{gap:.4rem}.user{padding:0;border:0;background:none}.user>img,.user .initials{width:2.8rem;height:2.8rem}.notif{width:min(21rem,calc(100vw - 32px))}.welcome{margin:2rem 0 0;min-height:0}.welcome h1{font-size:1.8rem}.kpis{grid-template-columns:1fr}.rs-body{flex-direction:column;padding:1.2rem;gap:1rem}.legend{width:100%}.room-status,.occupancy{height:auto}.chart{flex:none;height:15rem}.card h2{font-size:1.15rem}.timeline li{grid-template-columns:5.5rem 1fr}.timeline p{white-space:normal}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-right:.2rem}.page-actions{display:flex;gap:.7rem;padding-bottom:.3rem}.btn-pri,.btn-sec,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;height:2.9rem;padding:0 1.35rem;border-radius:.75rem;font-size:.98rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:filter .2s,background .2s}.btn-pri{border:0;background:linear-gradient(180deg,#ddb987,#cfa56c);box-shadow:0 8px 22px #00000059,inset 0 1px #fff5e180;color:#2b1d0f}.btn-pri svg{width:1.15rem;height:1.15rem}.btn-pri:hover{filter:brightness(1.06)}.btn-pri:disabled{filter:saturate(.6) brightness(.85);cursor:progress}.btn-sec{border:1px solid rgba(255,255,255,.18);background:#ffffff08;color:#f2ece6;font-weight:500}.btn-sec:hover{background:#ffffff12}.btn-danger{border:0;background:#b5443a;color:#fff}.btn-danger:hover{filter:brightness(1.1)}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:.95rem}.mini-stats article{display:flex;align-items:center;justify-content:space-between;height:4.6rem;padding:0 1.5rem;border-radius:.9rem;border:1px solid rgba(217,167,91,.35);background:linear-gradient(90deg,#6e4c2c73,#281e1899)}.mini-stats article.ok{border-color:#2aa26473;background:linear-gradient(90deg,#14643e66,#14221c99)}.mini-stats article.off{border-color:#c85a4c66;background:linear-gradient(90deg,#822e2461,#24181699)}.mini-stats span{font-size:1rem;color:#ece6df}.mini-stats b{font-family:var(--font-serif);font-size:1.85rem}.list-card{margin-top:1.3rem;padding-bottom:.4rem}.toolbar{display:flex;flex-wrap:wrap;gap:.8rem;padding:1.15rem 1.3rem .3rem}.tb-search{flex:1 1 18rem;display:flex;align-items:center;gap:.7rem;height:2.8rem;padding:0 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:#171312}.tb-search:focus-within{border-color:#d9a75b99}.tb-search svg{width:1.2rem;height:1.2rem;flex:none;color:#cfc6be}.tb-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font-size:.95rem}.tb-search input::placeholder{color:#9c938c}.toolbar select,.fld input{height:2.8rem;padding:0 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:#171312;font-size:.95rem;color:#f7f2ec;outline:0}.toolbar select{padding-right:2.2rem;min-width:10rem}.toolbar select:focus,.fld input:focus{border-color:#d9a75bb3;box-shadow:0 0 0 3px #d9a75b1f}.staff-table td{height:4rem;font-weight:400}.staff-table tr.muted td{opacity:.6}.staff-table tr.muted td:last-child{opacity:1}th.right,td.right{text-align:right}th.center,td.center{text-align:center}td.dim,span.dim{color:#9c938c;font-size:.9rem}.person{display:inline-flex;align-items:center;gap:.85rem}.person img,.person>i{width:2.5rem;height:2.5rem;flex:none;border-radius:50%;object-fit:cover}.person>i{display:grid;place-items:center;font-style:normal;font-family:var(--font-serif);font-weight:700;background:linear-gradient(135deg,#8a6b49,#4b3828)}.person>span{display:flex;flex-direction:column}.person b{font-weight:600}.person em{font-style:normal;font-weight:400;color:#d9b07a;font-size:.85rem}.person small{font-size:.85rem;color:#a9a099}.role-tag{display:inline-block;padding:.3rem .7rem;border-radius:.5rem;font-size:.88rem;font-weight:500}.role-tag.admin{color:#f2d4a2;background:#a0703c6b}.role-tag.manager{color:#d8c2ff;background:#6c338d73}.role-tag.receptionist{color:#b9d8f7;background:#2b588c80}.row-actions{display:inline-flex;gap:.5rem}.row-actions button{height:2.1rem;padding:0 .85rem;border-radius:.55rem;border:1px solid rgba(255,255,255,.14);background:#ffffff08;font-size:.86rem}.row-actions button:hover{background:#ffffff14}.row-actions .warn{color:#f19a8b;border-color:#f19a8b59}.row-actions .good{color:#5ad89a;border-color:#5ad89a59}.form-card{margin-top:1.3rem;padding:1.5rem 1.8rem 1.8rem;max-width:62rem}.form-card-head h2{font-size:1.3rem}.form-card-head p{margin:.4rem 0 1.4rem;color:#a9a099;font-size:.95rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.3rem}.span-2{grid-column:1 / -1}.fld{display:flex;flex-direction:column;gap:.5rem;min-width:0}.fld>span{font-size:.92rem;font-weight:500;color:#e5ded8}.fld input::placeholder{color:#7f766f}.hint{font-size:.82rem;color:#a9a099}.role-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.role-cards button{display:flex;align-items:center;gap:.75rem;height:3rem;padding:0 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.12);background:#171312;font-size:.98rem;text-align:left}.role-cards button i{width:1.15rem;height:1.15rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);flex:none}.role-cards button.on{border-color:#d9a75bbf;background:linear-gradient(180deg,#7e64488c,#624d3880)}.role-cards button.on i{border-color:#e0b77c;background:radial-gradient(circle,#e0b77c 0 42%,transparent 46%)}.switch{display:flex;align-items:center;gap:.9rem;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{position:relative;width:2.9rem;height:1.6rem;flex:none;border-radius:1rem;background:#4a3f39;transition:background .2s}.switch .track span{position:absolute;top:.2rem;left:.2rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;transition:transform .2s}.switch input:checked+.track{background:#2aa264}.switch input:checked+.track span{transform:translate(1.3rem)}.switch input:focus-visible+.track{outline:2px solid var(--ls-gold);outline-offset:2px}.switch b{display:block;font-weight:600;font-size:.95rem}.switch small{color:#a9a099;font-size:.85rem}.form-error{margin:.4rem 1.3rem;padding:.7rem 1rem;border-radius:.6rem;border:1px solid rgba(232,103,86,.45);background:#b0342638;color:#ffd9d2;font-size:.92rem}.form-grid .form-error{margin:0}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:.4rem}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;background:#060403a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}.modal{width:min(52rem,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:1.4rem 1.6rem 1.6rem}.modal.small{width:min(28rem,100%)}.modal>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding:0}.modal h2{font-size:1.25rem}.modal p{margin:.7rem 0 1.3rem;color:#c9c2bc;line-height:1.55;font-size:.95rem}.modal .x{width:2.2rem;height:2.2rem;border:0;border-radius:.5rem;background:#ffffff0d;font-size:1.4rem;line-height:1}.modal .x:hover{background:#ffffff1a}.toast{position:fixed;right:1.5rem;bottom:1.5rem;z-index:120;max-width:26rem;padding:.85rem 1.2rem;border-radius:.8rem;border:1px solid rgba(217,167,91,.5);background:#241e1b;box-shadow:0 14px 40px #00000080;font-size:.95rem;animation:drop .2s ease-out}.role-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:.95rem}.role-overview .card{padding:1.1rem 1.3rem}.role-overview p{margin:.7rem 0 0;color:#c9c2bc;font-size:.93rem}.perm-table td{height:3.2rem}.perm-mod{display:inline-flex;align-items:center;gap:.8rem}.perm-mod img{width:1.35rem;height:1.35rem}.perm-mod.sub{padding-left:2.15rem;color:#c9c2bc}.perm-table svg.ok{width:1.3rem;height:1.3rem;color:#3fd287;vertical-align:middle}.perm-table .no{color:#6f6660}.perm-table td.small{font-size:.88rem;color:#e5ded8}@media(max-width:900px){.page-head{flex-direction:column;align-items:flex-start}.mini-stats,.role-overview{grid-template-columns:1fr;gap:.7rem}.form-grid,.role-cards{grid-template-columns:1fr}.form-card{padding:1.2rem}.toolbar select{flex:1;min-width:0}}:root{--gold: #e3b56c;--gold-2: #d9a75b;--gold-soft: rgba(217, 167, 91, .16);--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .13);--field: #171312;--muted: #c9c2bc;--dim: #9c938c;--ok: #3fd287;--warn: #f2bd57;--bad: #f19a8b;--info: #7fb6f2;--violet: #b98af0}.ic{width:1.15em;height:1.15em;flex:none}.ic.gold{color:var(--gold);width:1.6rem;height:1.6rem}.page.mod{padding-bottom:2.5rem}.page.mod .welcome{margin-bottom:.2rem}.btn-pri .ic,.btn-sec .ic{width:1.15rem;height:1.15rem}.btn-sec{text-decoration:none}.btn-pri.sm,.btn-sec.sm{height:2.25rem;padding:0 .85rem;font-size:.88rem;border-radius:.6rem;gap:.4rem}.btn-pri.block,.btn-sec.block{display:flex;width:100%;margin-top:.8rem}.btn-sec.danger{color:var(--bad);border-color:#f19a8b59}.btn-sec.danger:hover{background:#b034262e}.btn-pri:disabled,.btn-sec:disabled{opacity:.55;cursor:not-allowed}.push-left{margin-right:auto}.icon-sq{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;flex:none;border-radius:.65rem;border:1px solid var(--line-2);background:#ffffff08;color:#f2ece6}.icon-sq:hover{background:#ffffff14}.icon-sq.sm{width:2.1rem;height:2.1rem;border-radius:.5rem}.icon-sq .ic{width:1.1rem;height:1.1rem}button.link{margin-left:.6rem;border:0;background:none;color:#f6c98a;text-decoration:underline}.stat-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:1.1rem;margin-top:.4rem}.stat{position:relative;display:flex;align-items:center;gap:1rem;min-height:5.4rem;padding:.9rem 1.2rem;border-radius:.95rem;border:1px solid var(--tone-line, rgba(217, 167, 91, .35));background:linear-gradient(110deg,var(--tone-bg, rgba(110, 76, 44, .42)) 0%,rgba(28,23,21,.92) 78%);box-shadow:0 10px 26px #00000047;transition:transform .18s,border-color .18s,box-shadow .18s}.stat.click{cursor:pointer}.stat.click:hover{transform:translateY(-2px);border-color:var(--tone-c, var(--gold))}.stat.active{border-color:var(--tone-c, var(--gold));box-shadow:0 0 0 1px var(--tone-c, var(--gold)) inset,0 10px 26px #0000004d}.stat-ic{display:grid;place-items:center;width:3.1rem;height:3.1rem;flex:none;border-radius:50%;background:var(--tone-ic, rgba(120, 82, 46, .75));color:#fff}.stat-ic img{width:1.6rem;height:1.6rem}.stat-ic .ic{width:1.45rem;height:1.45rem}.stat small{display:block;font-size:.92rem;color:#ece6df}.stat b{display:block;font-family:var(--font-serif);font-size:1.7rem;line-height:1.2;color:#fff}.stat em{display:block;font-style:normal;font-size:.8rem;color:var(--dim);margin-top:.1rem}.stat.gold{--tone-bg: rgba(110, 76, 44, .5);--tone-line: rgba(217, 167, 91, .38);--tone-ic: rgba(120, 82, 46, .85);--tone-c: #e3b56c}.stat.purple{--tone-bg: rgba(92, 44, 132, .5);--tone-line: rgba(160, 100, 220, .38);--tone-ic: rgba(108, 51, 141, .9);--tone-c: #b98af0}.stat.green{--tone-bg: rgba(20, 100, 62, .48);--tone-line: rgba(42, 162, 100, .42);--tone-ic: rgba(26, 120, 78, .95);--tone-c: #3fd287}.stat.blue{--tone-bg: rgba(30, 70, 120, .5);--tone-line: rgba(80, 140, 210, .4);--tone-ic: rgba(43, 88, 140, .95);--tone-c: #7fb6f2}.stat.red{--tone-bg: rgba(130, 46, 36, .45);--tone-line: rgba(220, 110, 90, .4);--tone-ic: rgba(150, 52, 40, .9);--tone-c: #f19a8b}.stat.amber{--tone-bg: rgba(140, 100, 30, .45);--tone-line: rgba(242, 189, 87, .4);--tone-ic: rgba(160, 112, 30, .9);--tone-c: #f2bd57}.stat.grey{--tone-bg: rgba(90, 90, 90, .35);--tone-line: rgba(169, 168, 168, .35);--tone-ic: rgba(100, 96, 94, .9);--tone-c: #c9c2bc}.mod-card{margin-top:1.2rem}.mod-card>header{padding:1.05rem 1.3rem 0;gap:1rem}.mod-card h2{font-size:1.15rem;gap:.75rem}.mod-card h2 img{width:1.5rem;height:1.5rem}.card-body{padding:1rem 1.3rem 1.25rem}.card-actions{display:flex;align-items:center;gap:.6rem}.card-actions select{height:2.35rem;padding:0 2rem 0 .8rem;border-radius:.6rem;border:1px solid var(--line-2);background:var(--field);font-size:.9rem}.list-card{margin-top:1.2rem}.list-card .toolbar{align-items:center;padding:1rem 1.3rem .6rem}.list-card .toolbar .tabs{margin:0;padding:0;border:0}.fld select,.fld textarea,.toolbar select,.date-in input,.cal-nav input,.split-in select,.split-in input,.stay-row input{height:2.8rem;padding:0 .9rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:var(--field);font-size:.95rem;color:#f7f2ec;outline:0;min-width:0}.fld textarea{height:auto;padding:.7rem .9rem;resize:vertical;font-family:inherit;line-height:1.45}.fld select:focus,.fld textarea:focus,.toolbar select:focus,.date-in input:focus,.split-in input:focus,.split-in select:focus,.cal-nav input:focus{border-color:#d9a75bb3;box-shadow:0 0 0 3px #d9a75b1f}.fld input:disabled,.fld select:disabled{opacity:.6}.fld textarea::placeholder{color:#7f766f}input[type=date],input[type=time]{color-scheme:dark}.split-in{display:grid;grid-template-columns:8.5rem 1fr;gap:.5rem}.date-in{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--dim)}.date-in input{width:10.5rem}.hint.warn{display:flex;align-items:center;gap:.4rem;color:var(--warn)}.mt{margin-top:1rem}.tb-search{position:relative}.tb-search .clear{display:grid;place-items:center;width:1.6rem;height:1.6rem;border:0;border-radius:50%;background:#ffffff14;color:#f2ece6}.tb-search .clear .ic{width:.9rem;height:.9rem}.tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem 1.3rem 0;border-bottom:1px solid var(--line)}.list-card>.tabs{margin-top:.2rem}.tabs button{display:inline-flex;align-items:center;gap:.5rem;height:2.6rem;padding:0 .95rem;border:0;border-bottom:2px solid transparent;background:none;font-size:.95rem;color:var(--muted)}.tabs button:hover{color:#fff}.tabs button.on{color:#f2d4a2;border-bottom-color:var(--gold);font-weight:600}.tabs button span{min-width:1.6rem;padding:.1rem .45rem;border-radius:1rem;background:#ffffff12;font-size:.78rem;font-weight:600;color:#e5ded8}.tabs button.on span{background:var(--gold-soft);color:#f2d4a2}.list-card .toolbar .tabs button{height:2.8rem;border:1px solid transparent;border-radius:.7rem}.list-card .toolbar .tabs button.on{border-color:#d9a75b8c;background:#d9a75b1a}.segmented{display:inline-flex;padding:.25rem;border-radius:.8rem;border:1px solid var(--line-2);background:var(--field)}.segmented button{height:2.3rem;padding:0 1rem;border:0;border-radius:.6rem;background:none;font-size:.92rem;color:var(--muted)}.segmented button.on{background:linear-gradient(180deg,#7e6448b3,#624d38a6);color:#fff;font-weight:600}.data-table td{height:3.7rem;font-weight:400}.data-table.compact td{height:3rem}.data-table.clickable tbody tr{cursor:pointer}.data-table.clickable tbody tr:hover{background:#d9a75b0d}.data-table th.center,.data-table td.center{text-align:center}.data-table th.right,.data-table td.right{text-align:right}td.money{font-weight:600;color:#fff}td.neg,dd.neg,.neg{color:var(--bad)!important}dd.pos{color:var(--ok)}.strong{font-weight:600;display:block}small.sub{display:block;margin-top:.15rem;font-size:.82rem;color:var(--dim);white-space:normal}.room-cell{display:inline-flex;align-items:center;gap:.6rem}.room-cell b{font-weight:600;min-width:2.2rem}.room-no{font-family:var(--font-serif);font-weight:700;font-size:1.05rem}.tag-today{margin-left:.5rem;padding:.12rem .45rem;border-radius:.4rem;background:#d9a75b2e;color:#f2d4a2;font-size:.72rem;font-style:normal;font-weight:600;letter-spacing:.02em}.vip{margin-left:.45rem;padding:.08rem .4rem;border-radius:.35rem;background:linear-gradient(180deg,#e7c48f,#c99a55);color:#2b1d0f;font-size:.66rem;font-style:normal;font-weight:700;letter-spacing:.06em;vertical-align:.1em}.badge{font-size:.86rem;padding:.32rem .7rem;white-space:nowrap}.badge.prog{color:var(--info);background:#2b588c73}a.badge{text-decoration:none}.person{gap:.8rem}.av{width:2.4rem;height:2.4rem;flex:none;border-radius:50%;object-fit:cover}i.av{display:grid;place-items:center;font-style:normal;font-weight:600;font-size:.85rem;color:#f7e7cf;background:linear-gradient(135deg,#7a5d40,#3e2f24)}.status-dot{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem}.status-dot:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}.unassigned{color:var(--warn);font-style:normal;font-size:.85rem}.oos{padding:.15rem .45rem;border-radius:.4rem;background:#a9a8a82e;color:#ddd;font-size:.74rem}.pager{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.3rem 1rem;font-size:.88rem;color:var(--dim)}.pager div{display:flex;gap:.5rem}.pager button{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.6rem;border:1px solid var(--line-2);background:#ffffff08;color:#f2ece6}.pager button:hover:not(:disabled){border-color:var(--gold)}.pager button:disabled{opacity:.35;cursor:default}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:2.4rem 1rem 2.6rem;text-align:center}.empty-state>span{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--gold-soft);color:var(--gold);margin-bottom:.4rem}.empty-state>span .ic{width:1.6rem;height:1.6rem}.empty-state b{font-size:1.05rem}.empty-state p{margin:0 0 .6rem;color:var(--dim);font-size:.92rem;max-width:28rem}.loading{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:3rem 1rem;color:var(--dim)}.loading i{width:1.4rem;height:1.4rem;border-radius:50%;border:2px solid rgba(217,167,91,.25);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted-line{margin:.2rem 0 .4rem;color:var(--dim);font-size:.92rem}.muted-line.pad{padding:1.5rem;text-align:center}.dim{color:var(--dim)}.toasts{position:fixed;right:1.5rem;bottom:1.5rem;z-index:200;display:flex;flex-direction:column;gap:.6rem;max-width:min(28rem,calc(100vw - 32px))}.toast-item{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;border-radius:.8rem;border:1px solid rgba(63,210,135,.45);background:#1f2620;box-shadow:0 14px 40px #00000080;font-size:.93rem;animation:drop .2s ease-out}.toast-item .ic{width:1.25rem;height:1.25rem;color:var(--ok)}.toast-item.error{border-color:#f19a8b80;background:#2a1c1a}.toast-item.error .ic{color:var(--bad)}.modal.wide{width:min(64rem,100%)}.modal .data-table td{height:3.2rem}.form-actions .ic{width:1.1rem;height:1.1rem}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 24.5rem;gap:1.3rem;align-items:start}.booking-side{position:sticky;top:1rem}.booking-main .mod-card:first-child,.booking-side .mod-card{margin-top:.4rem}.stay-row{display:grid;grid-template-columns:1fr 1fr 5.5rem 9rem 9rem;gap:1rem;align-items:end}.nights-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;height:4.3rem;border-radius:.8rem;border:1px solid rgba(217,167,91,.45);background:var(--gold-soft)}.nights-chip b{font-family:var(--font-serif);font-size:1.6rem;color:#f2d4a2;line-height:1.1}.nights-chip span{font-size:.78rem;color:var(--muted)}.stepper{display:grid;grid-template-columns:2.6rem 1fr 2.6rem;align-items:center;height:2.8rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.1);background:var(--field);overflow:hidden}.stepper button{height:100%;border:0;background:#ffffff0a;font-size:1.2rem;color:#f2d4a2}.stepper button:hover{background:#d9a75b26}.stepper b{text-align:center;font-size:1.05rem}.type-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.1rem}.type-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.15rem;height:7rem;padding:.8rem .9rem;overflow:hidden;border-radius:.85rem;border:1px solid var(--line-2);background:linear-gradient(180deg,#0a08071a,#0a0807e0 78%),var(--img);text-align:left;transition:border-color .2s,transform .2s}.type-tile:hover{transform:translateY(-2px);border-color:#d9a75b99}.type-tile.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.type-tile b{font-family:var(--font-serif);font-size:1.1rem}.type-tile span{font-size:.95rem;font-weight:600;color:#f2d4a2}.type-tile span small{font-weight:400;color:var(--muted)}.type-tile em{position:absolute;top:.6rem;right:.6rem;padding:.15rem .5rem;border-radius:1rem;background:#1c6e42d9;font-size:.72rem;font-style:normal;font-weight:600}.type-tile em.none{background:#963428e6}.room-pick-group+.room-pick-group{margin-top:1rem}.room-pick-group h3{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .6rem;font-size:.95rem;font-weight:600;color:#f2ece6}.room-pick-group h3 span{font-size:.8rem;font-weight:400;color:var(--dim)}.room-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.4rem,1fr));gap:.6rem}.room-chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.6rem .75rem;border-radius:.7rem;border:1px solid var(--line-2);background:var(--field);text-align:left;transition:border-color .15s,background .15s}.room-chip:hover{border-color:#d9a75b8c}.room-chip b{font-family:var(--font-serif);font-size:1.1rem}.room-chip small{font-size:.72rem;color:var(--dim)}.room-chip.on{border-color:var(--gold);background:linear-gradient(180deg,#7e64488c,#624d3873)}.room-chip.on small{color:#ece0cf}.dot-clean{position:absolute;top:.55rem;right:.55rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--ls-cleaning)}.guest-picker .segmented{margin-bottom:1rem}.lookup .tb-search{width:100%}.lookup-list{list-style:none;margin:.6rem 0 0;padding:0;border:1px solid var(--line);border-radius:.8rem;overflow:hidden}.lookup-list li+li{border-top:1px solid var(--line)}.lookup-list button{display:flex;align-items:center;gap:.8rem;width:100%;padding:.65rem .9rem;border:0;background:none;text-align:left}.lookup-list button:hover{background:#d9a75b12}.lookup-list button>span{flex:1;display:flex;flex-direction:column}.lookup-list small,.picked-guest small{display:block;color:var(--dim);font-size:.82rem}.picked-guest{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border-radius:.8rem;border:1px solid rgba(217,167,91,.45);background:var(--gold-soft)}.picked-guest>div{flex:1}.picked-guest .av{width:3rem;height:3rem}.summary-card .card-body{padding-top:.9rem}.sum-room{display:flex;flex-direction:column;justify-content:flex-end;height:7.5rem;padding:.9rem 1rem;border-radius:.85rem;background:linear-gradient(180deg,#0a08070d,#0a0807e0),var(--img)}.sum-room b{font-family:var(--font-serif);font-size:1.35rem}.sum-room span{font-size:.86rem;color:#ece6df}.sum-list,.sum-money{margin:1rem 0 0}.sum-list div,.sum-money div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--line);font-size:.93rem}.sum-list dt,.sum-money dt{color:var(--muted)}.sum-list dd,.sum-money dd{margin:0;text-align:right;font-weight:500}.sum-list dd small{display:block;font-size:.78rem;color:var(--dim);font-weight:400}.sum-money .total{border-bottom:0;padding-top:.75rem}.sum-money .total dt{color:#fff;font-weight:600}.sum-money .total dd{font-family:var(--font-serif);font-size:1.45rem;color:#f2d4a2}.sum-money.tight{margin-top:0}.sum-money .disc input{width:7rem;height:2.2rem;padding:0 .6rem;border-radius:.5rem;border:1px solid var(--line-2);background:var(--field);text-align:right}.check-line{display:flex;align-items:center;gap:.65rem;margin:.9rem 0 .2rem;padding:.7rem .85rem;border-radius:.7rem;background:#1c6e422e;font-size:.9rem;cursor:pointer}.check-line input{width:1.1rem;height:1.1rem;accent-color:#2aa264}.summary-card .form-error{margin:.8rem 0 0}.fine{margin:.9rem 0 0;font-size:.78rem;line-height:1.5;color:var(--dim)}.confirm-box{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center}.confirm-box b{font-family:var(--font-serif);font-size:1.6rem;color:#f2d4a2}.confirm-box p{margin:.2rem 0 .4rem!important}.big-check{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:#1c6e4280;color:var(--ok)}.big-check .ic{width:2rem;height:2rem}.status-banner{display:flex;align-items:center;gap:1.6rem;margin-top:.4rem;padding:1rem 1.4rem;border-radius:1rem;border:1px solid var(--line);background:linear-gradient(180deg,#1e1a19,#191615)}.steps{flex:1;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}.steps li{position:relative;display:flex;align-items:center;gap:.7rem}.steps li+li:before{content:"";position:absolute;left:-1.2rem;right:calc(100% + .2rem);top:50%;height:2px;background:var(--line-2)}.steps li:not(:first-child):before{left:-40%;right:100%;width:auto}.steps i{display:grid;place-items:center;width:1.9rem;height:1.9rem;flex:none;border-radius:50%;border:2px solid var(--line-2);font-style:normal}.steps li.done i{border-color:var(--gold);background:var(--gold);color:#2b1d0f}.steps li.done i .ic{width:1rem;height:1rem}.steps b{display:block;font-size:.92rem}.steps small{font-size:.78rem;color:var(--dim)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.3rem;align-items:start}.detail-grid.wide-right{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.detail-grid .col{min-width:0}.stay-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:.9rem;background:linear-gradient(90deg,#6e4c2c4d,#281e1866);border:1px solid rgba(217,167,91,.25)}.stay-hero>div{display:flex;flex-direction:column}.stay-hero>div:last-child{text-align:right}.stay-hero small{font-size:.8rem;color:var(--dim)}.stay-hero b{font-family:var(--font-serif);font-size:1.3rem}.stay-hero span{font-size:.82rem;color:var(--muted)}.stay-hero .nights{align-items:center;padding:.4rem 1rem;border-radius:2rem;border:1px dashed rgba(217,167,91,.5)}.stay-hero .nights b{color:#f2d4a2;line-height:1}.kv{margin:1rem 0 0}.kv>div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.93rem}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--dim)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.kv dd a{color:#f2d4a2;text-decoration:none}.kv dd a:hover{text-decoration:underline}.kv .note{line-height:1.5;color:#ece6df}.kv.boxed{margin:0 0 1.1rem;padding:.3rem 1rem;border-radius:.8rem;background:#ffffff06;border:1px solid var(--line)}.guest-hero{display:flex;align-items:center;gap:1rem}.guest-hero b{display:block;font-size:1.15rem}.guest-hero span{font-size:.86rem;color:var(--dim)}.guest-hero .badge{margin-top:.4rem;display:inline-block}.inv-link{display:flex;align-items:center;gap:.8rem;margin-top:.9rem;padding:.8rem 1rem;border-radius:.8rem;border:1px solid var(--line-2);background:#ffffff06;text-decoration:none}.inv-link:hover{border-color:var(--gold)}.inv-link>.ic{width:1.5rem;height:1.5rem;color:var(--gold)}.inv-link span{flex:1;display:flex;flex-direction:column}.inv-link small{color:var(--dim);font-size:.8rem}.fd-list{list-style:none;margin:0;padding:.4rem 1.3rem 1rem}.fd-row{display:grid;grid-template-columns:minmax(0,2.4fr) 8rem 10rem 6rem 8rem;align-items:center;gap:1.2rem;padding:.85rem .4rem;border-bottom:1px solid var(--line)}.fd-row:last-child{border-bottom:0}.fd-guest{display:flex;align-items:center;gap:.85rem;min-width:0;text-decoration:none}.fd-guest span{display:flex;flex-direction:column;min-width:0}.fd-guest b{font-weight:600}.fd-guest small{font-size:.82rem;color:var(--dim)}.fd-guest:hover b{color:#f2d4a2}.fd-room,.fd-when{display:flex;flex-direction:column}.fd-room b{font-family:var(--font-serif);font-size:1.15rem}.fd-room small,.fd-when small{font-size:.78rem;color:var(--dim)}.fd-when b{font-size:.95rem;font-weight:500}.late{margin-top:.15rem;color:var(--bad);font-style:normal;font-size:.78rem;font-weight:600}.fd-amt{text-align:right;font-weight:600}.fd-room .room-flag{align-self:flex-start;margin-top:.2rem}.room-flag{padding:.15rem .5rem;border-radius:.45rem;background:#9745e633;color:var(--violet);font-size:.78rem;white-space:nowrap}.fd-row>.btn-pri,.fd-row>.btn-sec{justify-self:end}.cal-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cal-nav input{width:10.5rem}.cal-nav .range{margin-left:.4rem;font-size:.92rem;color:var(--muted)}.cal-legend{display:flex;flex-wrap:wrap;gap:1.2rem;padding:.2rem 1.3rem .8rem;font-size:.82rem;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:.45rem}.lg{display:inline-block;width:.9rem;height:.9rem;border-radius:.25rem}.lg.res{background:linear-gradient(90deg,#8a6436,#b78a4f)}.lg.in{background:linear-gradient(90deg,#1d7a4c,#2aa264)}.lg.out{background:#4a423d}.lg.mnt{background:repeating-linear-gradient(45deg,#555 0,#555 3px,#333 3px,#333 6px)}.lg.free{border:1px dashed rgba(255,255,255,.3)}.cal-scroll{overflow-x:auto;padding:0 1.3rem 1.2rem}.cal{min-width:calc(9.5rem + var(--days) * 3.6rem)}.cal-head,.cal-row{display:grid;grid-template-columns:9.5rem 1fr}.cal-head{position:sticky;top:0;z-index:2;background:#1c1817;border-bottom:1px solid var(--line-2)}.cal-roomh{display:flex;align-items:flex-end;padding:0 0 .6rem .4rem;font-size:.85rem;color:var(--dim)}.cal-days,.cal-cells{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr))}.cal-day{display:flex;flex-direction:column;align-items:center;padding:.5rem 0 .55rem;border-left:1px solid var(--line)}.cal-day small{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.cal-day b{font-size:1.05rem}.cal-day em{font-size:.68rem;font-style:normal;color:var(--ok)}.cal-day.wknd{background:#ffffff05}.cal-day.today{background:var(--gold-soft)}.cal-day.today b{color:#f2d4a2}.cal-row{border-bottom:1px solid var(--line)}.cal-row:hover{background:#ffffff05}.cal-room{display:flex;align-items:center;gap:.5rem;padding:0 .4rem;height:2.7rem}.cal-room i{width:.5rem;height:.5rem;border-radius:50%;flex:none}.cal-room b{font-family:var(--font-serif);font-size:.98rem}.cal-room small{font-size:.72rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-cells{position:relative}.cal-cell{height:2.7rem;border:0;border-left:1px solid var(--line);background:none;cursor:pointer}.cal-cell.wknd{background:#ffffff04}.cal-cell:hover{background:#d9a75b1f}.cal-row.mnt .cal-cells{background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 6px,transparent 6px 12px)}.cal-row.mnt .cal-cell{cursor:not-allowed}.cal-bar{position:absolute;top:.4rem;height:1.9rem;padding:0 .55rem;overflow:hidden;border:0;border-radius:.45rem;font-size:.76rem;font-weight:600;text-align:left;white-space:nowrap;text-overflow:ellipsis;color:#fff;box-shadow:0 3px 8px #00000059;transition:filter .15s,transform .15s}.cal-bar:hover{filter:brightness(1.15);transform:translateY(-1px);z-index:1}.cal-bar.reserved{background:linear-gradient(90deg,#8a6436,#b78a4f);color:#fff8ec}.cal-bar.checked_in{background:linear-gradient(90deg,#1d7a4c,#2aa264)}.cal-bar.checked_out{background:#4a423d;color:#d8d0c9;font-weight:500}.board{padding:0 1.3rem 1.3rem}.board .cal-legend{padding:.2rem 0 .4rem}.floor{margin-top:1rem}.floor h3{display:flex;align-items:baseline;gap:.8rem;margin:0 0 .6rem;font-size:1rem;font-weight:600}.floor h3 span{font-size:.82rem;font-weight:400;color:var(--dim)}.tiles{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:.6rem}.tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-height:5.1rem;padding:.6rem .7rem;overflow:hidden;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-top:3px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 16%,#1c1817),#1a1615);text-align:left;transition:transform .15s,box-shadow .15s}.tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000059,0 0 0 1px var(--c)}.tile b{font-family:var(--font-serif);font-size:1.15rem}.tile small{font-size:.72rem;color:var(--dim)}.tile-info{margin-top:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:600;color:var(--c)}.tile-flag{position:absolute;top:.45rem;right:.45rem;color:var(--warn)}.tile-flag .ic{width:.95rem;height:.95rem}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0604038c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .15s}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(30rem,100vw);overflow-y:auto;padding:1.4rem 1.5rem 2rem;border-left:1px solid var(--line-2);background:linear-gradient(180deg,#211c1a,#171312);box-shadow:-20px 0 50px #00000080;animation:slide .22s ease-out}@keyframes slide{0%{transform:translate(30px);opacity:0}}.drawer>.x{position:absolute;top:1rem;right:1rem;width:2.2rem;height:2.2rem;border:0;border-radius:.5rem;background:#ffffff0f;font-size:1.4rem;line-height:1}.drawer-head{display:flex;align-items:center;gap:1rem;padding-right:2.5rem}.big-no{display:grid;place-items:center;width:4.6rem;height:4.6rem;flex:none;border-radius:1rem;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);font-family:var(--font-serif);font-size:1.55rem;font-weight:700}.drawer-head b{display:block;font-size:1.2rem}.drawer-head small{display:block;color:var(--dim);font-size:.84rem}.status-pill{display:inline-block;margin-top:.4rem;padding:.2rem .65rem;border-radius:1rem;background:color-mix(in srgb,var(--c) 25%,transparent);color:var(--c);font-size:.8rem;font-weight:600}.drawer-price{display:flex;align-items:center;gap:.8rem;margin-top:1.1rem;padding:.8rem 1rem;border-radius:.8rem;background:#ffffff08;border:1px solid var(--line)}.drawer-price span{color:var(--dim);font-size:.88rem}.drawer-price b{flex:1;font-family:var(--font-serif);font-size:1.3rem;color:#f2d4a2}.drawer-sec{margin-top:1.3rem}.drawer-sec h4{margin:0 0 .6rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.status-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.status-btns button{display:flex;align-items:center;justify-content:center;gap:.45rem;height:2.6rem;border-radius:.65rem;border:1px solid var(--line-2);background:#ffffff08;font-size:.88rem}.status-btns button i{width:.6rem;height:.6rem;border-radius:50%;background:var(--c)}.status-btns button:hover:not(:disabled){border-color:var(--c)}.status-btns button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);opacity:1;cursor:default}.mini-res{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;margin-bottom:.45rem;border-radius:.7rem;border:1px solid var(--line);background:#ffffff06;text-decoration:none}.mini-res:hover{border-color:#d9a75b80}.mini-res>span{flex:1;display:flex;flex-direction:column;min-width:0}.mini-res small{font-size:.8rem;color:var(--dim)}.mini-res>.ic{color:var(--dim)}.mini-list{list-style:none;margin:0;padding:0}.mini-list li{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.mini-list li>span:first-child{display:flex;flex-direction:column;min-width:0}.mini-list b{font-size:.9rem;font-weight:500}.mini-list small{font-size:.78rem;color:var(--dim)}.type-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:.4rem}.type-card{overflow:hidden;display:flex;flex-direction:column}.type-img{position:relative;height:11rem}.type-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a080700 30%,#0a0807e6)}.type-name,.type-price{position:absolute;z-index:1;bottom:.9rem}.type-name{left:1.2rem;font-family:var(--font-serif);font-size:1.6rem;font-weight:700}.type-price{right:1.2rem;font-family:var(--font-serif);font-size:1.5rem;color:#f2d4a2}.type-price small{font-family:var(--font-ui);font-size:.82rem;color:var(--muted);margin-left:.2rem}.type-body{flex:1;display:flex;flex-direction:column;padding:1rem 1.2rem 1.15rem}.type-facts{display:flex;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0;padding:0;font-size:.88rem;color:var(--muted)}.type-facts li{display:inline-flex;align-items:center;gap:.4rem}.type-facts .ic{color:var(--gold)}.type-body p{margin:.8rem 0;font-size:.92rem;line-height:1.55;color:#e5ded8}.amenities{display:flex;flex-wrap:wrap;gap:.4rem}.amenities span{padding:.28rem .6rem;border-radius:1rem;border:1px solid rgba(217,167,91,.3);background:#d9a75b14;font-size:.78rem;color:#ecdcc4}.type-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1rem;font-size:.88rem;color:var(--muted)}.type-foot .ok{color:var(--ok)}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:.4rem 1.3rem 1.3rem}.kb-col{min-width:0;padding:.8rem;border-radius:.9rem;background:#ffffff05;border:1px solid var(--line)}.kb-col h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.95rem;font-weight:600}.kb-col h3 .ic{color:var(--gold)}.kb-col.in_progress h3 .ic{color:var(--info)}.kb-col.completed h3 .ic{color:var(--ok)}.kb-col h3 span{margin-left:auto;min-width:1.7rem;padding:.1rem .5rem;border-radius:1rem;background:#ffffff12;text-align:center;font-size:.8rem}.kb-list{display:flex;flex-direction:column;gap:.6rem;max-height:38rem;overflow-y:auto;scrollbar-width:thin}.kb-card{padding:.75rem .85rem;border-radius:.75rem;border:1px solid var(--line-2);border-left:3px solid rgba(255,255,255,.2);background:#1f1a18}.kb-card.pr-high{border-left-color:#e8705c}.kb-card.pr-low{border-left-color:#6f8fb3}.kb-card header{display:flex;align-items:center;gap:.7rem}.kb-card header>span{flex:1;display:flex;flex-direction:column;min-width:0}.kb-card header b:not(.room-no){font-size:.92rem;font-weight:600}.kb-card header small{font-size:.76rem;color:var(--dim)}.kb-card .room-no{display:grid;place-items:center;min-width:3rem;height:2.5rem;padding:0 .4rem;border-radius:.55rem;background:color-mix(in srgb,var(--c, #888) 20%,transparent);border:1px solid color-mix(in srgb,var(--c, #888) 50%,transparent);font-size:1rem}.kb-note{margin:.5rem 0 0;font-size:.82rem;line-height:1.45;color:#e2d6c6}.kb-card footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.65rem}.who{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kb-actions{display:inline-flex;align-items:center;gap:.35rem}.kb-actions button{display:inline-flex;align-items:center;gap:.3rem;height:1.95rem;padding:0 .65rem;border-radius:.5rem;border:1px solid var(--line-2);background:#ffffff0a;font-size:.8rem}.kb-actions button:hover{background:#ffffff17}.kb-actions button.good{color:var(--ok);border-color:#3fd28766}.kb-actions button.ghost{width:1.95rem;padding:0;justify-content:center;border-color:transparent;color:var(--dim)}.kb-actions button.ghost:hover{color:#fff}.kb-empty{margin:.4rem 0;padding:1.2rem;border:1px dashed var(--line-2);border-radius:.7rem;text-align:center;font-size:.85rem;color:var(--dim)}.prio{display:inline-block;padding:.18rem .5rem;border-radius:.4rem;font-size:.74rem;font-style:normal;font-weight:600;white-space:nowrap}.p-low{color:#a9c3e0;background:#466ea040}.p-med{color:#f3e1c4;background:#785a3a80}.p-high{color:#ffb39f;background:#be50324d}.p-urgent{color:#fff;background:#c2412f}.sched{min-width:62rem}.sched-row{display:grid;grid-template-columns:11rem repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}.sched-row.head{position:sticky;top:0;background:#1c1817;z-index:1}.sched-who{display:flex;flex-direction:column;justify-content:center;padding:.6rem .4rem}.sched-who b{font-size:.9rem;font-weight:600}.sched-who small{font-size:.75rem;color:var(--dim)}.sched-day{display:flex;flex-direction:column;align-items:center;padding:.5rem 0;border-left:1px solid var(--line)}.sched-day small{font-size:.72rem;text-transform:uppercase;color:var(--dim);letter-spacing:.05em}.sched-day b{font-size:1.05rem}.sched-day em{font-size:.7rem;font-style:normal;color:var(--muted)}.sched-day.today{background:var(--gold-soft)}.sched-cell{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.3rem;min-height:3.2rem;padding:.4rem;border-left:1px solid var(--line)}.chip{display:inline-flex;align-items:center;gap:.3rem;height:1.75rem;padding:0 .45rem;border-radius:.45rem;border:0;font-size:.74rem;color:#fff}.chip b{font-weight:700}.chip span{opacity:.85}.chip .ic{width:.8rem;height:.8rem}.chip.done{opacity:.5}.t-co{background:#a2543b}.t-daily{background:#2b6a8e}.t-deep{background:#6b4aa3}.t-turn{background:#9b7a3c}.t-insp{background:#4b6b54}.t-linen{background:#5a5a6e}.req-list{list-style:none;margin:0;padding:.3rem 1.3rem 1rem}.req{display:grid;grid-template-columns:3rem minmax(0,1.8fr) minmax(0,1.2fr) 6rem auto;align-items:center;gap:1.1rem;padding:.9rem .3rem;border-bottom:1px solid var(--line)}.req:last-child{border-bottom:0}.req.completed,.req.cancelled{opacity:.75}.req-ic{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.8rem;background:#d9a75b26;color:var(--gold)}.req-ic .ic{width:1.3rem;height:1.3rem}.req-ic.c-laundry{background:#2b6a8e4d;color:var(--info)}.req-ic.c-spa{background:#9745e633;color:var(--violet)}.req-ic.c-transport{background:#2aa26433;color:var(--ok)}.req-ic.c-wake_up{background:#f2bd572e;color:var(--warn)}.req-main b{font-weight:600}.qty{margin-left:.4rem;color:var(--gold);font-size:.85rem}.req-main small{display:block;font-size:.8rem;color:var(--dim)}.req-main small em{font-style:normal}.req-main small em.late{color:var(--bad);font-weight:600}.req-main p{margin:.3rem 0 0;font-size:.85rem;color:#e2d6c6}.req-guest{display:flex;align-items:center;gap:.7rem;min-width:0;text-decoration:none}.req-guest>span{display:flex;flex-direction:column;min-width:0}.req-guest small{font-size:.8rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req-amt{text-align:right;font-weight:600}.req-act{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.4rem}.req-act small{width:100%;text-align:right;font-size:.75rem}.svc-total{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:.7rem;background:var(--gold-soft)}.svc-total b{font-family:var(--font-serif);font-size:1.25rem;color:#f2d4a2}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.3rem;align-items:start}.report-grid>.mod-card{margin-top:.4rem}.sub-h{margin:1.3rem 0 .6rem;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.55rem}.cat-grid button,.prio-grid button{display:flex;align-items:center;gap:.55rem;height:2.8rem;padding:0 .8rem;border-radius:.7rem;border:1px solid var(--line-2);background:var(--field);font-size:.88rem;text-align:left}.cat-grid button .ic{color:var(--gold)}.cat-grid button.on{border-color:var(--gold);background:linear-gradient(180deg,#7e64488c,#624d3873)}.prio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.prio-grid button{justify-content:center;font-weight:600;background:var(--field);opacity:.65}.prio-grid button.on{opacity:1;box-shadow:0 0 0 2px currentColor inset}.bill-grid{display:grid;grid-template-columns:24rem minmax(0,1fr);gap:1.3rem;align-items:start}.bill-grid>.mod-card{margin-top:.4rem}.pick-list{list-style:none;margin:0;padding:.2rem .7rem .9rem;max-height:40rem;overflow-y:auto;scrollbar-width:thin}.pick-list button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem;border:1px solid transparent;border-radius:.75rem;background:none;text-align:left}.pick-list button:hover{background:#ffffff08}.pick-list button.on{border-color:var(--gold);background:var(--gold-soft)}.pick-list button>span{flex:1;display:flex;flex-direction:column;min-width:0}.pick-list small{font-size:.78rem;color:var(--dim)}.pick-list .badge{font-size:.72rem;padding:.2rem .45rem}.bill-head{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.bill-head>div{display:flex;flex-direction:column;padding:.8rem 1rem;border-radius:.8rem;background:#ffffff06;border:1px solid var(--line)}.bill-head small{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.bill-head b{font-size:1.05rem;margin:.15rem 0}.bill-head span{font-size:.85rem;color:var(--muted)}.lines{margin-bottom:.8rem}.lines td{height:3.2rem}.edit-line input{width:100%;height:2.3rem;padding:0 .6rem;border-radius:.5rem;border:1px solid var(--line-2);background:var(--field)}.edit-line td.center input{width:4.5rem;text-align:center}.edit-line td.right input{width:7rem;text-align:right}.bill-totals{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:2rem;align-items:start;margin-top:1rem}.bill-totals .sum-money{margin:0}.inv-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:1.3rem;align-items:start;margin-top:.4rem}.inv-side .mod-card{margin-top:0}.inv-side .badge{margin-bottom:.6rem}.paybar{height:.45rem;margin-top:.6rem;border-radius:1rem;background:#ffffff14;overflow:hidden}.paybar i{display:block;height:100%;border-radius:1rem;background:linear-gradient(90deg,#1d7a4c,#3fd287)}.invoice-paper{position:relative;overflow:hidden;padding:2.4rem 2.6rem 2rem;border-radius:1rem;background:#fbf8f3;color:#2a211b;box-shadow:0 20px 50px #00000073}.invoice-paper:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#b8894d,#e3b56c,#b8894d)}.inv-top{display:flex;justify-content:space-between;gap:2rem;padding-bottom:1.4rem;border-bottom:1px solid #e6dccd}.inv-brand{display:flex;align-items:center;gap:1rem}.inv-brand img{width:3.6rem;filter:drop-shadow(0 1px 0 rgba(0,0,0,.15))}.inv-brand b{display:block;font-family:var(--font-serif);font-size:1.45rem;color:#2a211b}.inv-brand small{display:block;font-size:.82rem;color:#7a6b5e}.inv-meta h2{margin:0 0 .4rem;text-align:right;font-family:var(--font-serif);font-size:1.8rem;letter-spacing:.12em;color:#b8894d}.inv-meta dl{margin:0}.inv-meta dl div{display:flex;justify-content:flex-end;gap:1rem;font-size:.88rem}.inv-meta dt{color:#7a6b5e}.inv-meta dd{margin:0;min-width:7rem;text-align:right;font-weight:600}.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1.3rem 0}.inv-parties>div{display:flex;flex-direction:column;gap:.15rem}.inv-parties small{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b8894d}.inv-parties b{font-size:1.05rem}.inv-parties span{font-size:.88rem;color:#5b4d41}.inv-table{width:100%;border-collapse:collapse;white-space:normal}.inv-table th{height:2.6rem;padding:0 .7rem;border:0;background:#2a211b;color:#f3e6d2;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.inv-table th:first-child{border-radius:.4rem 0 0 .4rem;width:2.5rem}.inv-table th:last-child{border-radius:0 .4rem .4rem 0}.inv-table td{height:auto;padding:.75rem .7rem;border-bottom:1px solid #ece3d6;color:#2a211b;font-size:.92rem;font-weight:400}.inv-table tbody tr:hover{background:none}.inv-table .center{text-align:center}.inv-table .right{text-align:right}.inv-bottom{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2rem;margin-top:1.2rem}.inv-notes small{display:block;margin:.4rem 0 .25rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b8894d}.inv-notes p,.inv-notes li{margin:0;font-size:.85rem;color:#5b4d41;line-height:1.55}.inv-notes ul{margin:0;padding-left:1.1rem}.void-note{color:#b5443a!important;font-weight:600}.inv-totals{margin:0}.inv-totals div{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.92rem}.inv-totals dt{color:#6a5b4e}.inv-totals dd{margin:0;font-weight:600}.inv-totals .grand{margin-top:.3rem;padding:.7rem .9rem;border-radius:.5rem;background:#2a211b;color:#f3e6d2}.inv-totals .grand dt{color:#f3e6d2;font-weight:600}.inv-totals .grand dd{font-family:var(--font-serif);font-size:1.25rem;color:#f2d4a2}.inv-totals .due dd{color:#b5443a;font-size:1.05rem}.inv-foot{margin-top:1.8rem;padding-top:1rem;border-top:1px solid #e6dccd;text-align:center;font-size:.84rem;font-style:italic;color:#7a6b5e}.paid-stamp,.void-stamp{position:absolute;top:6.5rem;right:3rem;transform:rotate(-14deg);padding:.3rem 1.2rem;border:3px solid;border-radius:.5rem;font-family:var(--font-serif);font-size:2rem;font-weight:700;letter-spacing:.15em;opacity:.22;pointer-events:none}.paid-stamp{color:#1d7a4c}.void-stamp{color:#b5443a}.pay-due{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.8rem 1rem;border-radius:.7rem;background:#b034262e}.pay-due b{font-family:var(--font-serif);font-size:1.4rem;color:#ffd9d2}.pay-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.pay-methods button{display:flex;align-items:center;gap:.55rem;height:2.8rem;padding:0 .8rem;border-radius:.7rem;border:1px solid var(--line-2);background:var(--field);font-size:.9rem}.pay-methods button .ic{color:var(--gold)}.pay-methods button.on{border-color:var(--gold);background:linear-gradient(180deg,#7e64488c,#624d3873)}.svc-groups,.settings-grid{columns:2;column-gap:1.3rem}.svc-groups>.mod-card,.settings-grid>.mod-card{display:inline-block;width:100%;break-inside:avoid;margin:.4rem 0 1.1rem}.svc-list{list-style:none;margin:0;padding:0}.svc-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.svc-list li:last-child{border-bottom:0}.svc-list li.off{opacity:.5}.svc-list b{font-weight:600}.svc-list small{display:block;font-size:.8rem;color:var(--dim)}.svc-used{font-size:.78rem;color:var(--dim);white-space:nowrap}.svc-price{font-family:var(--font-serif);font-size:1.1rem;color:#f2d4a2;white-space:nowrap}.svc-price small{display:inline;font-family:var(--font-ui);font-size:.75rem}.notif-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.2rem}.unsaved{align-self:center;padding:.3rem .7rem;border-radius:1rem;background:#f2bd5726;color:var(--warn);font-size:.85rem}.print-only{display:none}@media print{@page{margin:12mm}html,body{background:#fff!important}.sidebar,.topbar,.hero-bg,.page-head,.page-actions,.status-banner,.detail-grid,.no-print,.toasts,.sb-scrim{display:none!important}.app,.main{display:block!important;padding:0!important;margin:0!important;min-height:0!important}.inv-layout{display:block;margin:0}.invoice-paper{box-shadow:none;border-radius:0;padding:0}.invoice-paper:before{display:none}.print-only{display:block;color:#000;font-family:Georgia,serif}.print-slip h1{margin:0;font-size:22pt}.print-slip h2{margin:18pt 0 8pt;font-size:15pt}.print-slip table{width:100%;border-collapse:collapse}.print-slip th,.print-slip td{padding:6pt 8pt;border:1px solid #ccc;text-align:left;color:#000;height:auto;font-size:11pt}.print-slip p{font-size:10pt;color:#333}}@media(max-width:1200px){.booking-grid,.bill-grid,.inv-layout{grid-template-columns:1fr}.booking-side{position:static}.tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.stay-row{grid-template-columns:1fr 1fr 5rem}}@media(max-width:900px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.stat{min-height:4.6rem;padding:.75rem .9rem}.stat b{font-size:1.35rem}.stat-ic{width:2.6rem;height:2.6rem}.svc-groups,.settings-grid{columns:1}.detail-grid,.detail-grid.wide-right,.report-grid,.type-cards,.kanban,.bill-head,.bill-totals,.inv-parties,.inv-bottom{grid-template-columns:1fr}.type-strip{grid-template-columns:repeat(2,1fr)}.stay-row{grid-template-columns:1fr 1fr}.nights-chip{grid-column:1 / -1;height:3.2rem;flex-direction:row;gap:.5rem}.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.status-banner{flex-direction:column;align-items:flex-start}.steps{grid-template-columns:repeat(2,1fr);gap:.8rem;width:100%}.steps li:before{display:none}.fd-row{grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem}.fd-room,.fd-when,.fd-amt,.room-flag{grid-column:auto}.fd-row>.btn-pri,.fd-row>.btn-sec{grid-column:1 / -1}.req{grid-template-columns:2.6rem minmax(0,1fr)}.req-guest,.req-amt,.req-act{grid-column:2;text-align:left;justify-content:flex-start}.req-act small{text-align:left}.kv>div{grid-template-columns:7rem 1fr}.invoice-paper{padding:1.6rem 1.2rem}.inv-top{flex-direction:column}.inv-meta h2,.inv-meta dl div{text-align:left;justify-content:flex-start}.date-in input{width:9.5rem}.toolbar .tb-search{flex-basis:100%}.svc-list li{grid-template-columns:minmax(0,1fr) auto auto}.svc-used{display:none}.prio-grid{grid-template-columns:repeat(2,1fr)}.split-in{grid-template-columns:7rem 1fr}}:root{--ls-bg: #110f10;--ls-surface: #1b1716;--ls-surface-2: #231e1c;--ls-line: rgba(255, 255, 255, .09);--ls-gold: #d9a75b;--ls-gold-soft: #d8b27a;--ls-cream: #f7f2ec;--ls-muted: #c9c2bc;--ls-dim: #9c938c;--ls-occupied: #2aa264;--ls-available: #f2bd57;--ls-cleaning: #9745e6;--ls-maintenance: #a9a8a8;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-auth: "Montserrat", "Inter", system-ui, sans-serif;--font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;--font-brand: "Playfair Display", Georgia, serif;color-scheme:dark}html{font-size:clamp(11px,calc(100vw / 104.5),18px)}@media(max-width:900px){html{font-size:15px}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--ls-bg);color:var(--ls-cream);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--ls-gold);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#3a322d;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.splash{min-height:100vh;display:grid;place-items:center}.splash img{width:90px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.94)}}
