/* Identidad Fantasías: estados de habitación visibles de un vistazo. */
.sidebar{padding-top:22px}.brand{margin-bottom:42px}.profile{margin-top:auto}
.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{min-height:142px;position:relative;overflow:hidden}.stat-card:after{content:'';position:absolute;right:-26px;bottom:-42px;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle,#fff6 0 2%,transparent 3% 100%);opacity:.55}.stat-card strong,.stat-card .stat-detail{position:relative;z-index:1}.stat-card .stat-detail{max-width:95%;line-height:1.45}.accent-gold{background:linear-gradient(135deg,#fffaf1,#f8ead0)!important}.accent-lilac{background:linear-gradient(135deg,#faf5fa,#eaddea)!important}
.low-stock-alert{margin:-19px auto 26px;max-width:760px;padding:13px 18px;border:1px solid #efb7bd;border-left:4px solid #c80b1a;border-radius:10px;background:linear-gradient(100deg,#fff1f2,#fffafb);box-shadow:0 9px 20px #9b091412;display:flex;align-items:center;justify-content:center;gap:10px;color:#a50c19;text-align:center}.low-stock-alert>span{font:700 9px 'DM Mono';letter-spacing:.8px}.low-stock-alert>strong{font:700 12px Manrope}.low-stock-alert>small{font:600 10px Manrope;color:#8e5259}
.date-range{display:flex;align-items:end;gap:10px;margin:-4px 0 18px;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 7px 18px #32101708}.date-range label{display:grid;gap:5px;font:700 9px Manrope;letter-spacing:.08em;color:#806f73;text-transform:uppercase}.date-range input{border:1px solid #e2d6d6;border-radius:6px;padding:7px 9px;color:var(--ink);font:600 11px Manrope;background:#fff}.date-range #range-caption{margin:0 0 8px auto;color:#806f73;font-size:10px}
.time-chip{display:flex;gap:7px;align-items:center;padding:9px 12px;border-radius:7px;background:#ffffff14;border:1px solid #ffffff32;color:#fff;font:600 11px 'DM Mono';letter-spacing:.4px}.time-chip>span{color:#f4c1c5;font-size:14px}.time-chip strong{font:600 11px 'DM Mono'}
.product-photo{object-fit:cover;background:#f4eceb}.product-icon.product-photo{width:44px;height:44px;border-radius:10px;display:block}.quick-product-photo{width:38px;height:38px;border-radius:9px;object-fit:cover;background:#f5eded;display:block}.quick-product>span:not(.quick-product-photo){font-size:22px;width:38px;text-align:center}
.ranking-bars{padding:14px 0 3px;display:grid;gap:11px}.ranking-bars>div{display:grid;grid-template-columns:30px 1fr 36px;gap:8px;align-items:center;font:700 10px Manrope;color:#624950}.ranking-bars i{height:11px;border-radius:10px;background:#f2e3e5;overflow:hidden}.ranking-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#dc2a39,#9e0714)}.ranking-bars strong{text-align:right;font-size:9px;color:#a20b18}
.account-items{margin-top:15px;padding:12px;background:#fff9f8;border:1px solid #f0dbd8;border-radius:9px}.account-items>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.account-items>div:first-child strong{font:700 10px Manrope;color:#70434a}.account-items-list{display:grid;gap:6px;margin-top:9px}.account-items-list>div{display:grid;grid-template-columns:1fr auto 24px;gap:8px;align-items:center;padding-top:7px;border-top:1px solid #f1e4e1;font-size:10px}.account-items-list small{display:block;color:#99858a;font-size:9px;margin-top:2px}.account-items-list>div>strong{font:600 10px 'DM Mono'}.account-items-list button{border:0;width:23px;height:23px;border-radius:6px;background:#f7e2e3;color:#b70d1b;font:700 16px Manrope;cursor:pointer}.account-items-list p{margin:4px 0;color:#9b8589;font-size:10px}.picker-actions{display:flex;justify-content:flex-end;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.receipt-items{text-align:left;padding:10px 0;border-bottom:1px dashed #c8afb2}.receipt-items>span{display:block;color:#896c72;font:700 8px 'DM Mono';letter-spacing:.7px;margin-bottom:5px}.receipt-item{display:flex;justify-content:space-between;padding:5px 0;font-size:10px}.receipt-item small{display:block;font-size:9px;color:#947d82;margin-top:2px}.receipt-empty{font-size:10px;color:#947d82;margin:4px 0}.reserved-time{color:#a00b18}
.room{border-width:1px}.room.available{background:linear-gradient(145deg,#f4fbf7 0%,#e4f1e9 100%);border-color:#bfd8c8}.room.available .room-number{color:#255d43}.room.available .room-status{color:#3d7e5e}.room.occupied{background:linear-gradient(145deg,#dc2635 0%,#af0d1a 100%);border-color:#9b0c18;box-shadow:0 11px 24px #a70e1d2b}.room.occupied:after{background:#fff;opacity:.11}.room.occupied .room-number,.room.occupied .room-name,.room.occupied .room-status{color:#fff}.room.occupied .room-name{opacity:.78}.room.occupied .status-dot{background:#fff;box-shadow:0 0 0 4px #fff3}.room.cleaning{background:linear-gradient(145deg,#f7ebda 0%,#ead1ae 100%);border-color:#d9b77c}.room.cleaning .room-number{color:#714414}.room.cleaning .room-status{color:#8b5c28}.room.cleaning:after{background:#fff;opacity:.2}.room.reserved{background:linear-gradient(145deg,#f1e8ee 0%,#dfc9d8 100%);border-color:#c9a2b8}.room.reserved .room-number{color:#633c57}.room.reserved .room-status{color:#774e69}.room.reserved:after{background:#fff;opacity:.23}.room:hover{filter:saturate(1.04);transform:translateY(-3px) scale(1.01)}
.receipt-modal{max-width:440px}.receipt h2{color:#b80c1b}.receipt-actions{padding-top:2px}.report-grid{align-items:stretch}
.consumption-card{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 4px 10px #4a101005}.consumption-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.consumption-head h3{font:700 17px 'Playfair Display';margin:4px 0 0}.consumption-head>span{font:600 11px 'DM Mono';color:#bd0716}.consumption-card .table-card{box-shadow:none;border-radius:7px}
.room{cursor:pointer}.room-clock{letter-spacing:.2px}.room-quick{position:absolute;right:12px;bottom:11px;border:1px solid #ffffff8c;background:#fff;color:#b70d1b;border-radius:6px;padding:7px 9px;font:700 9px Manrope;cursor:pointer;opacity:0;transform:translateY(5px);transition:.18s;z-index:2;box-shadow:0 5px 12px #55030d2b}.room.occupied:hover .room-quick,.room.occupied:focus-within .room-quick{opacity:1;transform:translateY(0)}.room.occupied:hover .room-status,.room.occupied:focus-within .room-status{opacity:.16}.room.occupied:focus{outline:3px solid #ec9ea5;outline-offset:2px}
.stock-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:16px}.stock-summary article{background:linear-gradient(145deg,#fff,#fcf4f3);border:1px solid var(--line);border-radius:10px;padding:16px 18px;box-shadow:0 5px 12px #4a101005}.stock-summary span{display:block;font:600 8px 'DM Mono';letter-spacing:.9px;color:#967f84}.stock-summary strong{display:block;font:700 25px 'Playfair Display';color:#bd0716;margin-top:6px}.store-layout.stock-only{display:block}.inventory-head>div{display:grid;gap:4px}.inventory-head strong{font-size:16px}.product{padding:15px 12px;transition:.15s}.product:hover{background:#fcf5f4}.product.stock-critical{background:#fff8ed}.product-actions{display:flex;gap:5px;margin-left:8px}.product .product-actions button{display:block;width:auto;height:auto;margin:0;padding:6px 8px;background:#fff;border:1px solid #e4cac7;color:#a41522;font:700 9px Manrope}.product .product-actions .product-delete{color:#9f0b17;background:#fff4f4;border-color:#edc6c9}.picker-modal{padding:24px;max-width:570px}.picker-modal .modal-head{padding-bottom:15px}.picker-intro{font-size:11px;color:#7a666b;margin:15px 0}.quick-products{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;max-height:420px;overflow:auto;padding:2px}.quick-product{display:flex;gap:10px;text-align:left;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;cursor:pointer;transition:.15s}.quick-product:hover{border-color:#d26973;background:#fff7f7;transform:translateY(-1px)}.quick-product:disabled{opacity:.45;cursor:not-allowed}.quick-product>span{font-size:20px}.quick-product div{flex:1}.quick-product strong{display:block;font-size:10px}.quick-product small{display:block;color:#927e83;font-size:9px;margin-top:3px}.quick-product b{color:#bf0b1a;font-size:17px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 92% 4%,#e7a3a926,transparent 20%),radial-gradient(circle at 48% 100%,#d84a5520,transparent 26%);z-index:-1}@media(max-width:760px){.stock-summary{grid-template-columns:1fr 1fr}.stock-summary article:last-child{grid-column:1/-1}.quick-products{grid-template-columns:1fr}.room-quick{opacity:1;transform:none;padding:6px 7px;font-size:8px}.room.occupied .room-status{opacity:.2}}
.topbar{background:linear-gradient(105deg,#271014,#4a1720 62%,#7d202a);border-radius:13px;padding:20px 22px;margin-bottom:28px;box-shadow:0 14px 30px #53101725}.topbar .breadcrumb span,.topbar .breadcrumb h1{color:#fff}.topbar .breadcrumb span{opacity:.66}.topbar .date-chip{background:#ffffff14;border-color:#ffffff32;color:#fff}.topbar .new-stay{background:#fff;color:#aa0d1b;box-shadow:none}.topbar .new-stay:hover{background:#ffe9eb}.stat-card{border-radius:12px}.section-head h2{font-size:22px}.rooms-grid{gap:14px}
.nav-item b{float:right;background:#f6aeb5;color:#7b0c18;border-radius:99px;font:700 8px 'DM Mono';padding:2px 5px}.operations-feed{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 21px;display:grid;grid-template-columns:190px 1fr;gap:18px;box-shadow:0 6px 16px #4a101006}.operations-feed h3{font:700 17px 'Playfair Display';margin:5px 0}.operations-feed ol{padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;list-style:none}.operations-feed li{padding:10px;border-left:2px solid #cf0717;background:#fdf7f6;font-size:10px;color:#5d484d}.operations-feed li small{display:block;margin-top:4px;color:#a08c90;font:9px 'DM Mono'}
.cash-hero{min-height:190px;border-radius:14px;padding:27px;background:linear-gradient(120deg,#2a1015,#661a25 57%,#9c2632);color:#fff;position:relative;overflow:hidden;box-shadow:0 15px 30px #4f0d182b}.cash-hero:after{content:"";position:absolute;width:350px;height:350px;border-radius:50%;right:-110px;top:-210px;border:45px solid #ffffff0b}.cash-hero>div{position:relative;z-index:1}.cash-hero .cash-hero-top{display:flex;justify-content:space-between;align-items:start}.cash-hero .eyebrow{color:#f7c8cc}.cash-hero h3{font:700 29px 'Playfair Display';margin:5px 0}.cash-hero p{font-size:11px;color:#e7c5c8;margin:4px 0}.cash-kpis{display:flex;gap:30px;margin-top:25px}.cash-kpis span{font:600 8px 'DM Mono';letter-spacing:1px;color:#f4bec4;display:block}.cash-kpis strong{display:block;font:700 18px 'Playfair Display';margin-top:5px}.cash-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.cash-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;box-shadow:0 6px 16px #4a101006}.cash-card h3{font:700 17px 'Playfair Display';margin:5px 0 14px}.cash-card-title{display:flex;justify-content:space-between}.cash-movements,.shift-history{display:grid;gap:8px}.cash-row,.shift-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0e5e3;font-size:10px}.cash-row:first-child,.shift-row:first-child{border-top:0}.cash-row i{display:grid;place-items:center;width:28px;height:28px;background:#fcebed;border-radius:50%;font-style:normal;color:#bd0716}.cash-row span,.shift-row span{flex:1}.cash-row small,.shift-row small{display:block;color:#968388;font-size:9px;margin-top:3px}.cash-row strong.positive{color:#228153}.cash-row strong.negative{color:#bd0716}.shift-row b{font:600 10px 'DM Mono'}.shift-row em{font-style:normal;font-size:9px;color:#3a8a65;background:#eaf4ed;border-radius:99px;padding:3px 6px}
.service-status{font:600 9px 'DM Mono';color:#438468;background:#e9f5ee;border-radius:99px;padding:7px 10px}.housekeeping-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:17px}.housekeeping-kpis article{padding:17px;background:#fff;border:1px solid var(--line);border-radius:10px}.housekeeping-kpis span{display:block;color:#88757a;font:600 8px 'DM Mono';letter-spacing:.8px}.housekeeping-kpis strong{display:block;font:700 27px 'Playfair Display';margin-top:5px}.housekeeping-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.housekeeping-board>section{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:340px;padding:14px}.board-head{display:flex;align-items:center;gap:7px;padding-bottom:12px;border-bottom:1px solid #eee2df;font-size:11px}.board-head small{margin-left:auto;color:#9a898d;font-size:9px}.board-dot{width:8px;height:8px;border-radius:50%}.board-dot.pending{background:#ca9b47}.board-dot.active{background:#bd0716}.board-dot.ready{background:#4c956f}.cleaning-column{display:grid;gap:9px;padding-top:11px}.cleaning-job{background:#fcf5f3;border:1px solid #efdfdb;border-radius:8px;padding:12px}.cleaning-job-top{display:flex;justify-content:space-between;align-items:start}.cleaning-job strong{font-size:11px}.cleaning-job span{display:block;font:700 17px 'Playfair Display';color:#70121d}.cleaning-job small{display:block;color:#927d82;font-size:9px;margin:7px 0}.cleaning-job button{width:100%;border:0;border-radius:6px;padding:7px;cursor:pointer;background:#fff;color:#b60c1a;border:1px solid #e9c4c7;font:700 9px Manrope}.cleaning-job button.primary{color:#fff;background:#bd0716;border-color:#bd0716}
.cash-modal-note{font-size:10px;color:#816b70;margin:0 0 14px}.cash-modal .form-grid label.full{grid-column:1/-1}
.payment-field{display:grid;gap:6px;margin-top:14px;color:#765f65;font:700 9px Manrope}.payment-field select{border:1px solid var(--line);border-radius:6px;padding:9px;background:#fff;font:11px Manrope;color:var(--ink)}
@media(max-width:900px){.cash-grid,.housekeeping-board{grid-template-columns:1fr}.operations-feed{grid-template-columns:1fr}.operations-feed ol{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cash-kpis{gap:14px;flex-wrap:wrap}.operations-feed ol{grid-template-columns:1fr}.housekeeping-kpis{grid-template-columns:1fr}.cash-hero{padding:20px}}
.login-screen{display:grid;grid-template-columns:1.16fr .84fr;min-height:100vh;background:#fff}.login-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:54px 64px;background:radial-gradient(circle at 20% 20%,#a53642 0,transparent 24%),linear-gradient(140deg,#17080b,#3a1119 55%,#791d28);color:#fff}.login-art:after{content:"";position:absolute;width:530px;height:530px;border:1px solid #ffffff20;border-radius:50%;right:-240px;bottom:-180px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}.login-art img{width:230px;height:93px;object-fit:cover;position:relative;z-index:1;border-radius:7px;border:1px solid #ffffff55}.login-art>div{max-width:550px;position:relative;z-index:1;margin:auto 0}.login-art span{font:600 9px 'DM Mono';letter-spacing:2px;color:#f3b7bc}.login-art h1{font:700 clamp(43px,5vw,76px)/.98 'Playfair Display';letter-spacing:-2px;margin:16px 0}.login-art h1 em{color:#f9b4b9;font-style:italic}.login-art p{max-width:420px;font-size:13px;line-height:1.85;color:#e8c9cc}.login-art>small{position:relative;z-index:1;font:500 8px 'DM Mono';letter-spacing:1.3px;color:#c98f95}.login-panel{display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,#fff,#fbf5f3)}.login-form{width:min(360px,100%)}.login-form h2{font:700 32px 'Playfair Display';margin:8px 0}.login-form>p{color:#806d72;font-size:11px;line-height:1.7;margin-bottom:25px}.login-form label{display:grid;gap:7px;font:700 10px Manrope;color:#60464c;margin:14px 0}.login-form input{border:1px solid #e4d5d3;border-radius:7px;padding:12px 11px;background:#fff;color:#281318;font:12px Manrope;outline:none}.login-form input:focus{border-color:#c31423;box-shadow:0 0 0 3px #cf07171a}.login-error{color:#bd0716!important;font-size:10px!important;min-height:14px;margin:4px 0!important}.login-button{width:100%;border:0;border-radius:7px;padding:13px 14px;background:linear-gradient(135deg,#d3091a,#8f0d19);color:#fff;font:700 11px Manrope;cursor:pointer;box-shadow:0 10px 18px #aa0e1d2b}.login-button span{float:right;font-size:15px;line-height:10px}.local-mode{display:block;margin:16px auto 0;border:0;background:none;color:#91646a;font:600 10px Manrope;cursor:pointer;text-decoration:underline}.login-foot{display:block;text-align:center;margin-top:31px;color:#9b898d;font-size:9px;line-height:1.5}#app-shell[hidden],#login-screen[hidden]{display:none}@media(max-width:760px){.login-screen{grid-template-columns:1fr}.login-art{min-height:34vh;padding:30px}.login-art img{width:170px;height:60px}.login-art h1{font-size:39px;margin:12px 0}.login-art p,.login-art>small{display:none}.login-panel{padding:34px 24px;align-items:start}.login-form h2{font-size:28px}}
@media print{.sidebar,.topbar,.report-actions,.report-period{display:none!important}.main-content{padding:0!important}.view:not(#reports-view){display:none!important}#reports-view{display:block!important}.report-grid{display:grid!important;grid-template-columns:1.2fr .6fr .85fr!important}.chart-card,.top-rooms{box-shadow:none!important}}
@media(max-width:760px){.stat-grid{grid-template-columns:1fr}.date-range{display:grid;grid-template-columns:1fr 1fr}.date-range #range-caption{margin:2px 0 0;grid-column:1/-1}.low-stock-alert{margin:-18px 0 22px;align-items:flex-start;flex-direction:column;gap:4px;text-align:left}}
