:root{--hotel-primary: #2f4530;--hotel-secondary: #85b975;--hotel-accent: #afc831;--sidebar-width: 240px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f4f6f9;color:#333}.sidebar{width:var(--sidebar-width);min-height:100vh;background:var(--hotel-primary);color:#fff;position:fixed;top:0;left:0;z-index:100;display:flex;flex-direction:column;transition:transform .3s ease}.sidebar-brand{padding:1.25rem 1rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand h5{margin:0;font-weight:700;color:var(--hotel-accent)}.sidebar-brand small{color:#fff9;font-size:.75rem}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.sidebar-nav .nav-link{color:#ffffffbf;padding:.65rem 1.25rem;display:flex;align-items:center;gap:.6rem;font-size:.9rem;border-radius:0;transition:all .2s}.sidebar-nav .nav-link:hover{color:#fff;background:#ffffff1a}.sidebar-nav .nav-link.active{color:#fff;background:var(--hotel-secondary);border-left:3px solid var(--hotel-accent)}.sidebar-nav .nav-link i{font-size:1rem;width:20px;text-align:center}.sidebar-section-title{padding:.75rem 1.25rem .25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#fff6;font-weight:600}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#ffffff80}.main-content{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid #dee2e6;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:99;box-shadow:0 1px 4px #0000000f}.page-content{padding:1.5rem;flex:1}.stat-card{border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card .card-body{padding:1.25rem}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.badge-LIBRE{background-color:#198754!important}.badge-RESERVADA{background-color:#fd7e14!important}.badge-OCUPADA{background-color:#dc3545!important}.badge-LIMPIEZA{background-color:#ffc107!important;color:#333!important}.badge-MANTENIMIENTO{background-color:#6c757d!important}.badge-PENDIENTE{background-color:#ffc107!important;color:#333!important}.badge-CONFIRMADA{background-color:#0d6efd!important}.badge-CANCELADA{background-color:#dc3545!important}.badge-NO_SHOW{background-color:#6c757d!important}.badge-FINALIZADA{background-color:#198754!important}.badge-OPEN{background-color:#0d6efd!important}.badge-CLOSED{background-color:#198754!important}.calendar-table{font-size:.82rem;border-collapse:separate;border-spacing:2px}.calendar-table th{background:var(--hotel-primary);color:#fff;text-align:center;padding:.5rem .4rem;font-weight:500;white-space:nowrap}.calendar-table td{padding:.3rem .4rem;vertical-align:middle}.calendar-cell{border-radius:6px;padding:.3rem .5rem;font-size:.75rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;color:#fff;cursor:default}.room-label{font-weight:600;white-space:nowrap;min-width:80px}.folio-card{border:2px solid var(--hotel-primary);border-radius:12px}.folio-header{background:var(--hotel-primary);color:#fff;border-radius:10px 10px 0 0;padding:1rem 1.25rem}.folio-total-row{background:var(--hotel-primary);color:#fff;font-weight:700}.table-hover tbody tr:hover{background-color:#2f45300d}.form-label{font-weight:500;font-size:.875rem}.login-page{min-height:100vh;background:linear-gradient(135deg,var(--hotel-primary) 0%,var(--hotel-secondary) 100%);display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:420px;border:none;border-radius:16px;box-shadow:0 20px 60px #0000004d}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1050;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}}.cursor-pointer{cursor:pointer}.text-hotel{color:var(--hotel-primary)}.bg-hotel{background-color:var(--hotel-primary)}.border-hotel{border-color:var(--hotel-primary)!important}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:fixed!important;top:0!important;left:0!important;width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;background:#fff;box-shadow:none!important;border-radius:0!important;transform:none!important;z-index:9999!important}.no-print{display:none!important}.print-area table{width:100%;border-collapse:collapse;font-size:11pt}.print-area th,.print-area td{border:1px solid #ccc;padding:6px 8px}.print-area thead{background-color:#2f4530!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-area tfoot{background-color:#f0f0f0!important;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-summary{display:flex;gap:20px;margin-bottom:16px}.print-summary-item{border:1px solid #ccc;padding:8px 16px;text-align:center;flex:1}.print-summary-item .value{font-size:20pt;font-weight:700}.print-summary-item .label{font-size:9pt;color:#555}#confirmation-doc{position:fixed!important;top:0!important;left:0!important;width:100%!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border-radius:0!important;transform:none!important;font-size:9pt!important}#confirmation-doc>div:last-child{padding:12px 20px!important}#confirmation-doc [style*="marginBottom: 24"],#confirmation-doc [style*="marginBottom: 20"]{margin-bottom:8px!important}#confirmation-doc div[style*="fontSize: 22"]{font-size:15pt!important}#confirmation-doc div[style*="fontSize: 28"]{font-size:18pt!important}#confirmation-doc div[style*="fontSize: 20"]{font-size:13pt!important}#confirmation-doc div[style*="fontSize: 15"]{font-size:11pt!important}#confirmation-doc div[style*="fontSize: 14"]{font-size:10pt!important}#confirmation-doc div[style*="fontSize: 13"]{font-size:9pt!important}#confirmation-doc div[style*="fontSize: 12"]{font-size:8.5pt!important}#confirmation-doc div[style*="fontSize: 11"]{font-size:8pt!important}#confirmation-doc div[style*="padding: '14px 18px'"],#confirmation-doc div[style*="padding: '16px 24px'"],#confirmation-doc div[style*="padding: '12px 18px'"]{padding:6px 10px!important}#confirmation-doc div[style*="gap: 20"]{gap:8px!important}@page{margin:.8cm;size:A4 portrait}}
