@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--bg-color:#f8fafc;--surface-color:#fff;--text-primary:#0f172a;--text-secondary:#64748b;--border-color:#e2e8f0;--primary:#3b82f6;--primary-hover:#2563eb;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--sidebar-bg:#0f172a;--sidebar-text:#f8fafc;--sidebar-text-muted:#94a3b8;--sidebar-hover:#1e293b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--transition:all .2s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}a{color:inherit;text-decoration:none}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--sidebar-bg);width:260px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;overflow-x:hidden}.sidebar.collapsed{width:68px}.sidebar-header{border-bottom:1px solid var(--sidebar-hover);color:#fff;align-items:center;height:64px;padding:0 1.5rem;font-size:1.25rem;font-weight:700;transition:padding .25s;display:flex}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0 .5rem}.sidebar-nav{flex:1;padding:1rem .5rem;overflow:hidden auto}.nav-item{color:var(--sidebar-text-muted);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer;white-space:nowrap;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;font-weight:500;display:flex}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem 0}.nav-item:hover,.nav-item.active{background-color:var(--sidebar-hover);color:var(--sidebar-text)}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 1.25rem;display:flex}.page-content{flex:1;padding:.85rem 1.25rem;overflow-y:auto}.stats-grid{grid-template-columns:repeat(4,1fr);gap:.65rem;display:grid}button,a,.btn,.reservation-block{-webkit-tap-highlight-color:transparent;touch-action:manipulation!important}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.card{background-color:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:1.5rem}.reservation-block{transition:transform .15s,filter .15s}.reservation-block:hover{filter:brightness(1.08);transform:scaleY(1.05)}.mobile-menu-btn,.mobile-close-btn{display:none}.revenues-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.billing-detail-grid{grid-template-columns:1fr 2fr;gap:2rem;max-width:1200px;display:grid}@media (max-width:1024px){.reservation-form{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr)!important;gap:1.5rem!important;width:100%!important;max-width:100%!important}.reservation-form>div{min-width:0!important;max-width:100%!important}}@media (max-width:768px){.mobile-menu-btn,.mobile-close-btn{display:flex!important}.desktop-sidebar-toggle-btn{display:none!important}.sidebar,.sidebar.collapsed{z-index:1100!important;flex-direction:column!important;width:280px!important;height:100vh!important;transition:left .3s cubic-bezier(.4,0,.2,1)!important;position:fixed!important;top:0!important;left:-300px!important;box-shadow:0 10px 25px #00000080!important}.sidebar.collapsed .sidebar-header{justify-content:space-between!important;padding:0 1.5rem!important}.sidebar.collapsed .nav-item{justify-content:flex-start!important;padding:.75rem 1rem!important}.sidebar.collapsed .nav-item span,.sidebar.collapsed .sidebar-header span{display:inline!important}.sidebar.open{left:0!important}.main-content{width:100%;height:100vh}.header{gap:.5rem;padding:0 1rem}.header-title,.header-user-name,.header-divider{display:none!important}.page-content{padding:1rem}table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}div[style*="display: grid"]:not(.room-selection-grid):not(.date-selection-grid):not(.stats-grid):not(.revenues-grid):not(.dashboard-stats-grid):not(.planning-header-buttons){grid-template-columns:1fr!important;gap:1.25rem!important}.dashboard-stats-grid,.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.revenues-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:.75rem!important;display:grid!important}.billing-detail-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.revenues-grid>div{min-width:0;overflow:hidden}.stats-grid .card{padding:1rem!important}.stats-grid .card span:nth-of-type(2){font-size:1.75rem!important}.planning-header{flex-direction:column!important;align-items:flex-start!important;gap:.85rem!important}.planning-header-buttons{grid-template-columns:repeat(2,1fr)!important;gap:.55rem!important;width:100%!important;margin-left:0!important;display:grid!important}.planning-header-buttons>*{width:100%!important}.planning-header-buttons .btn,.planning-header-buttons button,.planning-header-buttons a{justify-content:center!important;align-items:center!important;width:100%!important;padding:0 .4rem!important;font-size:.8rem!important;display:inline-flex!important}.planning-controls{flex-wrap:wrap!important;justify-content:flex-start!important;width:100%!important}.planning-controls>div{flex-wrap:wrap!important}.reservation-form{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr)!important;gap:1.5rem!important;width:100%!important;max-width:100%!important}.reservation-form *{box-sizing:border-box!important;max-width:100%!important}.reservation-form>div{min-width:0!important;max-width:100%!important;overflow:hidden!important}.reservation-form div[style*="display: grid"]:not(.room-selection-grid):not(.date-selection-grid):not(.early-late-grid){grid-template-columns:minmax(0,1fr)!important}}@media (max-width:640px){.reservation-form{grid-template-columns:minmax(0,1fr)!important;gap:1.25rem!important;padding:0!important}.reservation-form>div{min-width:0!important;max-width:100%!important;overflow:hidden!important}.date-selection-grid,.early-late-grid,.form-row-2col{grid-template-columns:minmax(0,1fr)!important;gap:.75rem!important}.companions-grid{grid-template-columns:minmax(0,1fr)!important;gap:.6rem!important}.transfer-grid{grid-template-columns:minmax(0,1fr)!important;gap:.75rem!important}.reentry-dates-grid{grid-template-columns:minmax(0,1fr)!important;gap:.6rem!important}.room-selection-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:.5rem!important}.reservation-form table{width:100%!important;display:block!important;overflow-x:auto!important}}
