@keyframes versionShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes versionSweep{0%{transform:translate(-150%) skew(-20deg);opacity:0}45%{opacity:.9}to{transform:translate(150%) skew(-20deg);opacity:0}}.version-pill{position:relative;overflow:hidden}.version-pill .version-text{background-image:linear-gradient(90deg,#ffffff59,#fff,#ffffff59 70%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:versionShimmer 3.8s linear infinite}.version-pill:after{content:"";position:absolute;inset:-10% -40%;width:60px;background:linear-gradient(90deg,#fff0,#ffffff73,#fff0);transform:translate(-150%) skew(-20deg);animation:versionSweep 4.5s ease-in-out infinite;pointer-events:none}.header-version-btn{margin-right:8px;font-size:.9rem;font-weight:700;letter-spacing:.02em;color:#ffffffe6;white-space:nowrap;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:6px 10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.header-version-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000026}.icon-circle-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-size);height:var(--touch-size);border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s ease;padding:0;box-shadow:0 4px 12px #0000001a}.icon-circle-btn:hover{background:#ffffff40;transform:translateY(-1px)}.notif-unread-badge{position:absolute;top:-2px;right:-2px;background:#ef4444;color:#fff;border-radius:9999px;padding:2px 6px;font-size:11px;font-weight:800;line-height:1}.notif-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:min(92vw,360px);max-height:min(60vh,400px);overflow:auto;-webkit-overflow-scrolling:touch;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 10px 30px #00000040;padding:8px;z-index:1500}.notif-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;color:#fff}.notif-clear{background:transparent;border:0;color:#fde68a;cursor:pointer;font-weight:700}.notif-empty{padding:12px 8px;color:#e5e7eb}.notif-item{display:block;text-decoration:none;color:#fff;padding:10px 8px;border-radius:12px;transition:background .15s ease}.notif-item:hover{background:#ffffff26}.notif-item-title{font-weight:800}.notif-item-sub{font-size:12px;opacity:.9}.user-avatar-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-size);height:var(--touch-size);border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s ease;padding:0;box-shadow:0 4px 12px #0000001a}.user-avatar-btn:hover{background:#ffffff40;transform:translateY(-1px)}.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:min(90vw,220px);background:#00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 10px 30px #00000040;padding:8px;overflow:hidden;z-index:1500}.user-dropdown-item{display:flex;align-items:center;justify-content:flex-end;width:100%;padding:12px 16px;background:transparent;border:0;cursor:pointer;color:#fff;font-size:.95rem;font-weight:700;transition:background .15s ease,color .15s ease;border-radius:9999px;text-align:right;white-space:nowrap}.user-dropdown-item:hover{background:#ffae42bf;color:#fff}.user-dropdown-item.logout-btn:hover{background:#dc2626bf}.logo-inline{display:flex;align-items:center;gap:8px}.menu-toggle-hidden{display:none}.pe-none{pointer-events:none}.lhc-actions-flex{display:flex;gap:12px;align-items:center}.relative-inline{position:relative;display:inline-block}.pos-relative{position:relative}.header-modal-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.header-modal{width:min(92vw,560px);background:#fff;border-radius:12px;box-shadow:0 20px 48px #0000004d;overflow:hidden}.header-modal-titlebar{padding:14px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.header-modal-title{font-weight:800;color:#2f3947}.header-modal-close{border:none;background:transparent;font-size:18px;cursor:pointer;color:#6b7280}.header-modal-body{padding:16px}.header-modal-loading{color:#6b7280}.header-modal-error{color:#dc2626}.header-commit-title{margin-bottom:8px;font-weight:700;color:#111827}.header-commit-grid{display:grid;grid-template-columns:120px 1fr;row-gap:8px;column-gap:8px;font-size:14px;color:#374151}.header-commit-label{color:#6b7280}.monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.header-commit-actions{margin-top:14px}.lhc-header{position:static;top:auto}.lhc-header--hidden{transform:none}.toast-wrap{position:fixed;inset-inline:0;display:flex;justify-content:center;pointer-events:none;z-index:5000;gap:clamp(8px,1.4vh,12px)}.toast-wrap.anchor-top-center{top:calc(var(--header-h, 120px) + var(--offline-banner-h, 0px) + clamp(8px,1.6vh,20px));padding-inline:clamp(8px,2vw,24px)}.toast{display:inline-flex;align-items:center;gap:clamp(10px,1.6vw,14px);padding:clamp(12px,1.8vw,16px) clamp(16px,2.4vw,24px);background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 12px 28px #0000001f;max-width:min(92vw,900px);pointer-events:auto;animation:toast-in .18s ease-out both;font:600 clamp(14px,2.2vw,18px) / 1.35 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue",Arial;color:#1f2937}.toast:hover{box-shadow:0 14px 34px #00000024}.toast .dot{width:clamp(10px,1.6vw,12px);height:clamp(10px,1.6vw,12px);border-radius:999px;flex:0 0 auto;background:#6b7280;box-shadow:0 0 0 2px #0000000a inset}.toast.success .dot{background:#16a34a}.toast.error .dot{background:#e11d48}.toast.info .dot{background:#0284c7}.toast.warn .dot{background:#d97706}.toast.default .dot{background:#6b7280}.toast .msg{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-close{appearance:none;border:0;background:transparent;color:#6b7280;font-size:clamp(16px,2.8vw,18px);line-height:1;border-radius:10px;padding:4px 6px;margin-left:4px;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.toast-close:hover{background:#f3f4f6;color:#374151}.toast-close:focus-visible{outline:none;box-shadow:0 0 0 3px #0284c740;background:#eef6fb}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}@media(max-width:640px){.toast-wrap.anchor-top-center{align-items:center}}@media(max-width:420px){.toast-wrap{flex-direction:column;align-items:center}}.offline-banner{background-color:#1f2937;color:#f3f4f6;text-align:center;padding:10px 16px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:9999;transition:transform .3s ease}.offline-banner.is-offline{background-color:#ef4444;color:#fff}.offline-icon{width:18px;height:18px;fill:currentColor}.lhc-sidebar{width:240px;background:var( --sidebar-bg, linear-gradient(180deg, #ffffff 0%, #fafbfc 100%) );border-right:1px solid var(--sidebar-border, #e5e7eb);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:100;box-shadow:2px 0 12px #0f172a0a;transition:transform .3s ease,background .3s ease,border-color .3s ease}.sidebar-header{padding:12px 16px;border-bottom:1px solid var(--sidebar-border, #e5e7eb);background:var(--sidebar-header-bg, #ffffff);display:flex;flex-direction:column;align-items:stretch;min-height:56px;gap:8px}.sidebar-logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.25rem;color:var(--sidebar-logo-color, #1f2937);letter-spacing:-.02em}.logo-icon{font-size:1.75rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#ea7a52,#e0684d);border-radius:12px;box-shadow:0 4px 12px #ea7a5240}.logo-text{background:linear-gradient(135deg,#ea7a52,#e0684d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0;display:flex;flex-direction:column}.sidebar-toggle{margin:0 8px 8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.7rem;font-weight:600;letter-spacing:.5px;background:var(--sidebar-toggle-bg, #f1f5f9);color:var(--sidebar-toggle-color, #64748b);border:1px solid var(--sidebar-toggle-border, #e2e8f0);border-radius:8px;padding:8px 12px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.sidebar-toggle:hover{background:var(--sidebar-toggle-hover-bg, #e2e8f0);color:var(--sidebar-toggle-hover-color, #334155)}.sidebar-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #64748b4d}.toggle-icon{font-size:.8rem;line-height:1}.lhc-sidebar.collapsed .sidebar-toggle .toggle-label{display:none}.lhc-sidebar.collapsed .sidebar-toggle{justify-content:center}.sidebar-nav ul,.nav-section ul,.nav-list,.nav-list li{list-style:none;margin:0;padding:0}.sidebar-nav li::marker{content:""}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--sidebar-scrollbar, #e5e7eb);border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--sidebar-scrollbar-hover, #d1d5db)}.nav-section{margin:0 0 12px;padding:0}.nav-section-main{margin-top:4px}.nav-section-bottom{margin-top:auto;margin-bottom:8px}.nav-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sidebar-section-title, #9ca3af);padding:10px 16px 4px;margin:0 0 4px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 16px;margin:2px 8px;border-radius:10px;color:var(--sidebar-nav-item-color, #475569);text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid transparent;background:transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer}.nav-item:hover{background:transparent;color:var(--sidebar-nav-item-hover, #ea7a52);border-color:transparent}.nav-item:hover .nav-label,.nav-item:hover .nav-icon{color:var(--sidebar-nav-item-hover, #ea7a52)}.nav-item:hover .nav-icon svg{fill:currentColor}.nav-item.active{background:var( --sidebar-nav-active-bg, linear-gradient(135deg, #fef7f4, #fde8df) );color:var(--sidebar-nav-item-hover, #ea7a52);font-weight:600;border-color:var(--sidebar-nav-active-border, #f5d6ca);box-shadow:0 2px 6px #ea7a521a}.nav-icon{font-size:1.15rem;display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:focus-visible{outline:none;box-shadow:0 0 0 3px #ea7a524d}@media(max-width:768px){.lhc-sidebar{transform:translate(-100%);top:0;height:100vh}.lhc-sidebar.open{transform:translate(0)}body:has(.lhc-sidebar.open):before,body.sidebar-open:before{content:"";position:fixed;inset:0;background:#00000080;z-index:99;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@media(max-width:1024px)and (min-width:769px){.lhc-sidebar{width:220px}.nav-label{font-size:.9rem}}.lhc-sidebar.collapsed{width:68px}.lhc-sidebar.collapsed .logo-text,.lhc-sidebar.collapsed .nav-label,.lhc-sidebar.collapsed .nav-section-title{display:none}.lhc-sidebar.collapsed .sidebar-logo{justify-content:center}.lhc-sidebar.collapsed .nav-item{justify-content:center;padding:10px 12px;margin:2px 6px}.lhc-sidebar,.logo-text,.nav-label,.nav-section-title{transition:all .3s ease}@media print{.lhc-sidebar{display:none}}@media(prefers-reduced-motion:reduce){.lhc-sidebar,.nav-item{transition:none}}@media(min-width:901px){.lhc-sidebar .sidebar-nav{padding-top:16px}}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.7rem;font-weight:600;letter-spacing:.5px;background:var(--sidebar-toggle-bg, #f1f5f9);color:var(--sidebar-toggle-color, #64748b);border:1px solid var(--sidebar-toggle-border, #e2e8f0);border-radius:8px;padding:8px 12px;margin:0 8px 8px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.theme-toggle:hover{background:var(--sidebar-toggle-hover-bg, #e2e8f0);color:var(--sidebar-toggle-hover-color, #334155)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #64748b4d}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.theme-toggle-icon svg{width:16px;height:16px}.theme-toggle-label{text-align:center}.lhc-sidebar.collapsed .theme-toggle{justify-content:center}.lhc-sidebar.collapsed .theme-toggle-label{display:none}.ad-main{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f7f7f9;padding:2rem}.ad-container{max-width:520px;width:100%;text-align:center;background:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.ad-title{margin:0;font-size:28px;font-weight:700;color:#1f2937}.ad-sub{margin:12px 0 24px;color:#4b5563;line-height:1.5}.ad-btn{appearance:none;border:none;border-radius:12px;padding:12px 18px;font-weight:600;cursor:pointer;background:#d29b79;color:#fff;box-shadow:0 4px 10px #0000000f}*{box-sizing:border-box}input,select,textarea{background:var(--sidebar-toggle-bg);color:var(--ink-900);border:1px solid var(--border)}body.modal-open .confirm-modal-content{background:var(--color-panel)}html,body,#root{height:auto;min-height:100%;overflow-x:hidden}html{overflow-y:auto}body,#root{overflow-y:visible}body{margin:0;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.modal-open{overflow:hidden;overflow-x:hidden}body.modal-open .lhc-main,body.modal-open .lhc-shell{overflow:hidden}body.modal-open .bk-table{pointer-events:none}body.modal-open .bk-table tbody tr{animation:none}body.modal-open .confirm-modal-overlay,body.modal-open .image-preview-overlay{pointer-events:auto}.room-badges-stack{display:inline-flex;flex-direction:column;gap:4px}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.lhc-main{margin-left:var(--lhc-sidebar-width);padding:22px 28px;max-width:1260px;overflow:visible;background:var(--color-bg)}.lhc-shell{min-height:100%;overflow:visible;background:var(--color-bg)}.lhc-breadcrumb{color:var(--muted);display:flex;gap:6px;align-items:center;padding:6px 0 var(--space-md);font-weight:500}.lhc-breadcrumb .crumb{color:var(--muted);font-weight:600;text-decoration:none}.lhc-breadcrumb a.crumb.root-link{color:var(--color-text);font-weight:800;text-decoration:none}.lhc-breadcrumb .crumb.current{color:var(--ink-600);font-weight:600}.lhc-breadcrumb .sep{color:var(--color-line);margin:0}.lhc-header{position:static;color:#fff;background:linear-gradient(110deg,#e0684d,#f97316,#e68570);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);box-shadow:inset 0 1px 1px #fff3,0 8px 32px #e0684d4d;padding-top:env(safe-area-inset-top);transition:none}.lhc-header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 var(--header-pad-x);background:transparent}@media(min-width:769px){.lhc-header-inner{margin-left:240px}}.header-floating-logo{position:fixed;top:0;right:0;height:var(--header-h);width:300px;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 24px 8px 0;background:linear-gradient(110deg,var(--brand-orange-1) 0%,var(--color-accent) 50%,var(--brand-orange-2) 100%);box-shadow:inset 0 1px 1px #fff3,0 8px 32px #e0684d4d;pointer-events:none;z-index:120}.floating-logo-img{height:calc(var(--header-h) - 26px);width:auto;object-fit:contain}.lhc-logo{display:flex;align-items:center;gap:var(--space-md)}.lhc-logo-img{height:clamp(40px,9vw,72px);width:auto;display:block;object-fit:contain}.lhc-actions{display:flex;align-items:center;gap:var(--space-md)}.btn-dashboard{background:#e49270;color:#fff;border:none;border-radius:999px;padding:10px 18px;font-weight:700;text-decoration:none;box-shadow:0 10px 22px #ef854b52;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-dashboard:hover{transform:translateY(-2px);box-shadow:0 14px 30px #ef854b66;background:linear-gradient(135deg,#fbd486,#f29055)}.icon-btn{appearance:none;-webkit-appearance:none;background:transparent;border:0;outline:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.menu-toggle{display:none}@media(max-width:900px){.menu-toggle{display:inline-flex}}.icon-btn:hover{background:#fff3}.icon-btn:active{transform:translateY(1px)}.icon-btn:focus-visible{box-shadow:0 0 0 3px #ffffff80}@media(prefers-reduced-motion:reduce){.icon-btn:active{transform:none}}.lhc-actions .icon-img{display:block;height:28px;width:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.lhc-tabs{display:flex;gap:30px;padding:0 2px 14px;border-bottom:1px solid var(--color-line);margin-bottom:18px}.lhc-tab{background:transparent;border:0;padding:10px 2px;font-weight:700;font-size:var(--font-size-lg);letter-spacing:.2px;color:var(--muted);cursor:pointer;position:relative;line-height:1.1;transition:color .2s ease}.lhc-tab:hover,.lhc-tab.active{color:var(--color-accent)}.lhc-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:3px;background:var(--color-accent);border-radius:2px}.lhc-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.add-room{background-color:var(--color-accent);color:#fff;font-weight:700;border:none;border-radius:10px;font-size:var(--font-size-lg);margin-left:auto;padding:10px 20px;cursor:pointer;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease}.add-room:hover{background-color:#f28b68;box-shadow:0 4px 10px #00000026}.add-room:active{background-color:#d25c3d;transform:translateY(1px);box-shadow:0 2px 6px #0003}.lhc-card{background:var(--color-panel);border:1px solid var(--border, #e2e8f0);border-radius:var(--radius, 16px);box-shadow:var( --shadow-1, 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .08) );overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;will-change:auto}.lhc-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px -6px #ea7a523d,0 6px 12px -6px #ea7a522e,0 0 0 2px #ea7a5214;border-color:#ea7a524d}.lhc-card-media{position:relative}.lhc-card-media img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;content-visibility:auto;contain-intrinsic-size:300px 169px;transition:filter .2s ease}.lhc-card:hover .lhc-card-media img{filter:brightness(.85)}.lhc-card.loading{position:relative;overflow:hidden}.lhc-card.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.lhc-card.error{border-color:var(--status-booked);background:#f064450d}.lhc-card-top-right{position:absolute;top:10px;right:var(--space-md);display:flex;align-items:center;justify-content:flex-end;z-index:5}.lhc-card-top-right .dots,.lhc-card-top-right .menu-btn,.lhc-card-top-right .kebab{appearance:none;-webkit-appearance:none;width:40px;height:40px;border-radius:50%;border:0;outline:0;background:#00000061;color:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:20px;letter-spacing:2px;box-shadow:0 6px 16px #0000001f;cursor:pointer;transition:background-color .2s ease}.lhc-card-top-right .dots:hover,.lhc-card-top-right .menu-btn:hover,.lhc-card-top-right .kebab:hover{background:#00000080}.lhc-card-top-right .dots:focus-visible,.lhc-card-top-right .menu-btn:focus-visible,.lhc-card-top-right .kebab:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}@media(prefers-reduced-motion:reduce){.lhc-card-top-right .dots:active,.lhc-card-top-right .menu-btn:active,.lhc-card-top-right .kebab:active{transform:none}}.kebab-menu{position:absolute;right:0;top:44px;min-width:170px;background:var(--color-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 18px #0000001f;padding:6px;z-index:20}.kebab-item{background:transparent;border:0;padding:10px 12px;width:100%;text-align:left;font-size:14px;border-radius:8px;cursor:pointer;color:var(--color-text)}.kebab-item:hover{background:var(--sidebar-toggle-bg)}.kebab-pill{position:absolute;top:46px;right:0;padding:6px 10px;line-height:1;font-size:13px;font-weight:700;color:#fff;background:#00000080;border:0;border-radius:10px;white-space:nowrap;box-shadow:none;cursor:pointer;z-index:25}.kebab-pill:hover{filter:brightness(1.05)}.lhc-card-badges{position:absolute;left:var(--space-lg);bottom:var(--space-3xl);display:flex;gap:var(--space-sm);align-items:center;z-index:4}.roomcard-menu-portal{position:fixed;top:var(--menu-top, 0px);right:var(--menu-right, 0px);display:inline-flex;flex-direction:column;z-index:1000;background:#00000061;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:none;border-radius:20px;padding:8px;box-shadow:0 6px 16px #0000001f}.roomcard-menu-btn{padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:transparent;border:none;border-radius:999px;cursor:pointer;margin-bottom:4px;transition:background .15s ease;text-align:right;white-space:nowrap}.roomcard-menu-btn:disabled{cursor:not-allowed;opacity:.6}.roomcard-menu-btn.is-edit:hover,.roomcard-menu-btn.is-cancel:hover{background:#ea7a52}.roomcard-menu-btn.is-danger:hover{background:#d33}.chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--font-size-xs);font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:6px 10px;border-radius:9999px;color:#fff;line-height:1;border:none;outline:none;text-shadow:0 1px 1px rgba(0,0,0,.25)}.settings-loading{max-width:1200px;margin:12px auto;color:var(--muted)}.chip.green,.chip.available{background:var(--status-available);text-shadow:var(--chip-available-text-shadow)}.chip.orange,.chip.booked{background:var(--status-booked)}.chip.yellow,.chip.maintenance{background:var(--status-maintenance)}.chip.gray{background:var(--status-gray)}.chip.blue{background:var(--status-in)}.chip.teal{background:var(--status-out)}.chip.sky{background:color-mix(in srgb,var(--status-in) 55%,white 45%)}.chip.red{background:#ef4444}.chip.green,.chip.available,.chip.orange,.chip.booked,.chip.yellow,.chip.maintenance,.chip.gray,.chip.blue,.chip.teal,.chip.sky,.chip.red,.chip.black{color:#fff;border-color:transparent}.chip.black{background:#111}.fd-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:9999px;font-weight:800;font-size:.8rem;line-height:1;color:#fff;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.fd-btn:disabled{opacity:.6;cursor:not-allowed}.fd-btn:active{transform:translateY(1px)}.fd-btn.checkin{background:var(--status-in);border-color:color-mix(in srgb,var(--status-in) 90%,black 10%);box-shadow:0 4px 10px #2563eb33}.fd-btn.checkin:hover{filter:brightness(1.05)}.fd-btn.checkout{background:var(--status-out);border-color:color-mix(in srgb,var(--status-out) 90%,black 10%);box-shadow:0 4px 10px #14b8a633}.fd-btn.checkout:hover{filter:brightness(1.05)}.status-badge{font-size:var(--font-size-xs);font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:6px 10px;border-radius:6px;color:#fff;line-height:1}.status-badge.available{background:var(--status-available);text-shadow:var(--chip-available-text-shadow)}.status-badge.booked{background:var(--status-booked)}.status-badge.maintenance{background:var(--status-maintenance)}.lhc-card-room{position:absolute;left:var(--space-lg);bottom:var(--space-md);color:#fff;font-weight:800;font-size:clamp(18px,1.6vw,22px);line-height:1.05;pointer-events:none;z-index:4;text-shadow:0 2px 4px rgba(0,0,0,.55),0 6px 16px rgba(0,0,0,.35),0 0 1px rgba(0,0,0,.75);filter:drop-shadow(0 3px 10px rgba(0,0,0,.35));-webkit-text-stroke:.25px rgba(0,0,0,.35)}.lhc-card-body{padding-block:var(--space-md);padding-inline:var(--space-lg)}.kv{display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px 0}.lhc-card-body .kv+.kv{border-top:1px solid var(--color-line)}.kv-label{color:var(--muted);font-size:var(--font-size-sm);font-weight:700}.kv-value{color:var(--ink-900);font-weight:700;justify-self:end;text-transform:none;letter-spacing:0}.kv .bold{font-weight:800}.kv.multi{align-items:flex-start}.kv.multi .kv-value{text-align:right;font-weight:400}.amenities-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;line-height:1.25;align-items:flex-end}.amenities-list li{color:var(--muted);font-weight:500;text-align:right;font-size:var(--font-size-sm)}.lhc-card .amenities-list li{color:var(--muted);font-weight:500;font-size:var(--font-size-sm)}.divider{height:1px;background:var(--color-line)}.empty{color:var(--color-muted);padding:var(--space-2xl);text-align:center}.avatar{width:44px;height:44px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:transparent;border:0}.avatar-img{display:block;height:36px;width:36px;border-radius:999px;object-fit:cover}.notif-dot,.badge-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:999px;background:#ff4d4f;border:2px solid #fff}.lhc-grid{display:grid;grid-template-columns:1fr;gap:clamp(14px,3vw,22px);justify-content:center;margin-left:auto;margin-right:auto}.lhc-grid>*{max-width:100%}@media(max-width:900px){.lhc-header--hidden{transform:none}:root{--header-h: 120px;--lhc-sidebar-width: 100%;--touch-size: 36px;--header-pad-x: 18px}.lhc-header-inner{padding:8px var(--header-pad-x) 16px;align-items:center;flex-wrap:wrap;height:auto;gap:12px}.logo-wrap{flex:1 1 auto;align-items:center;gap:var(--space-md)}.lhc-main{margin-left:0;padding:var(--space-lg);width:100%}.lhc-tabs{overflow-x:auto;overflow-y:hidden;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:18px}.lhc-tabs::-webkit-scrollbar{display:none}.lhc-tab{flex-shrink:0;font-size:14px;padding:8px 12px;margin-right:20px}.lhc-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:1 1 auto}.header-clock-inline{width:100%;text-align:center;margin-left:0}.icon-btn,.avatar{width:var(--touch-size);height:var(--touch-size)}.avatar-img{width:30px;height:30px}}.header-version{white-space:nowrap}.header-clock{font-size:.95rem;font-weight:700;color:#fffffff2;white-space:nowrap;margin-left:12px}.header-login-btn{--btn-bg: transparent;--btn-border: #fff;--btn-color: #fff;--btn-shadow: none;--btn-bg-hover: rgba(255, 255, 255, .12);border-radius:999px;padding:8px 16px;font-weight:700}.header-commit-btn{padding:8px 12px;border-radius:999px;font-size:.85rem}.header-clock-inline{margin-left:0;font-size:.9rem}@media(max-width:480px){.header-version{display:none}}@media(max-width:639px){.lhc-grid{grid-template-columns:1fr;gap:var(--space-lg);padding:0 var(--space-md)}.lhc-card{margin:0;max-width:100%}.lhc-card-body{padding:var(--space-md)}.kv{padding:10px 0}.kv-label{font-size:12px}.kv-value{font-size:14px}.lhc-card-badges{left:var(--space-md);bottom:var(--space-2xl)}.lhc-card-room{left:var(--space-md);bottom:var(--space-sm);font-size:18px}.lhc-breadcrumb{font-size:13px;flex-wrap:wrap}.lhc-tab{font-size:14px}}@media(min-width:640px){.lhc-grid{grid-template-columns:repeat(2,minmax(280px,1fr));padding-inline:var(--space-lg)}.lhc-tab{font-size:var(--font-size-base)}}@media(min-width:1024px){.lhc-grid{grid-template-columns:repeat(auto-fit,minmax(300px,360px));padding-inline:0}.lhc-tab{font-size:var(--font-size-lg)}}@media(min-width:1536px){.lhc-grid{grid-template-columns:repeat(auto-fit,minmax(300px,380px));max-width:none}:where(main,.lhc-main,.page-content,.content,.dashboard-content):has(.lhc-grid){max-width:none;width:calc(100vw - (var(--lhc-sidebar-width) + var(--lhc-sidebar-gap) + var(--lhc-edge-gap)));margin-left:calc(var(--lhc-sidebar-width) + var(--lhc-sidebar-gap));margin-right:var(--lhc-edge-gap)}.lhc-actions{align-self:center}}.amenities{display:grid;gap:10px}.amenities .check{display:inline-flex;align-items:center;gap:10px;color:var(--color-accent);font-weight:700}.amenities .check input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--color-accent)}.lhc-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg, 16px);padding-bottom:0;margin-top:4px;margin-bottom:var(--space-md, 12px);border-bottom:0;background-image:none}.lhc-toolbar:before,.lhc-toolbar:after{content:none}.lhc-toolbar .btn-add{margin-left:auto;padding:6px 14px}.lhc-tabs{display:flex;align-items:flex-end;gap:clamp(16px,2vw,40px)}.lhc-tabs .tab{appearance:none;background:none;border:0;padding:0 0 10px;color:var(--ink-500, #8e98a6);font-family:inherit;font-weight:800;font-size:1.2rem;line-height:1.1;letter-spacing:.2px;cursor:pointer;position:relative}.lhc-tabs .tab:hover{color:var(--ink-700, #4f5a6a)}.lhc-tabs .tab:after{content:"";display:block;height:4px;width:100%;margin-top:8px;background:var(--brand-orange-2, #c96e49);border-radius:4px;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.lhc-tabs .tab.active{color:var(--brand-orange-2, #c96e49)}.lhc-tabs .tab.active:after{transform:scaleX(1)}.lhc-toolbar{align-items:baseline}.lhc-tabs .tab{padding-bottom:6px}.public-home{padding-bottom:32px}.public-hero{background:linear-gradient(135deg,#e0684d,#ea7a52,#f28b68);padding:24px 20px 48px;margin:0 0 24px}.public-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:1000px;margin:0 auto}@media(max-width:768px){.public-filters{grid-template-columns:1fr 1fr;gap:12px}}@media(max-width:480px){.public-filters{grid-template-columns:1fr}.public-hero{padding:20px 16px 40px}}.pf-field{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:12px 14px;box-shadow:0 4px 20px #0000000f}.pf-label{font-weight:800;font-size:14px;color:#111}.pf-placeholder{color:#9aa0a9;font-weight:700;margin-top:4px}.pf-search{background:#ef6c47;color:#fff;border:0;border-radius:14px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #ef6c4759}.public-section{padding:20px 0;margin-bottom:20px}.public-h2{font-size:clamp(24px,4vw,32px);font-weight:800;text-align:center;padding:0 20px;max-width:1200px;margin:0 auto 20px}@media(max-width:900px){.public-h2{padding:0 16px}}@media(max-width:640px){.public-h2{padding:0 12px}}.public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1200px;margin-inline:auto;align-items:stretch;padding:0 20px}@media(max-width:900px){.public-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:0 16px}}@media(max-width:640px){.public-grid{grid-template-columns:1fr;gap:14px;padding:0 12px}}.public-grid .lhc-card{height:100%}.public-grid .lhc-card-media{line-height:0}.public-grid .lhc-card-media img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:#f6f6f6}.public-room-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #00000014;transition:transform .18s ease,box-shadow .18s ease}.public-room-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0000001f}.public-room-card .prc-photo{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.public-room-card .prc-body{padding:10px 12px 14px}.public-room-card .prc-name{font-weight:800;color:#0f172a;font-size:16px;line-height:1.2;margin:0 0 4px}.public-room-card .prc-rate{color:#6b7280;font-weight:600;font-size:13px;margin:0}.public-room-card .prc-meta{display:flex;gap:10px;color:#8b9099;font-size:12px;margin-top:6px}.pub-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #00000014;transition:transform .18s ease,box-shadow .18s ease;height:100%;display:flex;flex-direction:column}.pub-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0000001f}.pub-card-media{width:100%;line-height:0;flex-shrink:0}.pub-card-media img{width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;display:block;background:#f6f6f6}.pub-card-body{padding:14px 16px 18px;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}.pub-card-title{font-weight:800;color:#0f172a;font-size:16px;line-height:1.2;margin:0 0 6px}.pub-card-sub{color:#6b7280;font-weight:600;font-size:14px;margin:0}.pub-card-sub .muted{color:#9ca3af;font-weight:500}@media(max-width:640px){.pub-card-title{font-size:15px}.pub-card-sub{font-size:12px}}.events-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;max-width:1200px;margin-inline:auto;padding:0 20px}@media(max-width:900px){.events-row{grid-template-columns:1fr;gap:16px;padding:0 16px}}@media(max-width:640px){.events-row{padding:0 12px}}.event-card{border-radius:18px;padding:24px;min-height:180px;color:#fff;background:radial-gradient(110% 110% at 80% 10%,#00000040,#0000008c),#c58a3b;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}@media(max-width:900px){.event-card{min-height:160px;padding:20px}}.event-title{font-size:clamp(24px,4vw,32px);font-weight:900;line-height:1;margin-bottom:4px}.event-sub{opacity:.9;font-weight:600;font-size:14px}.lhc-card-media img,.public-home .lhc-card-media img,.public-room-card .prc-photo,.pub-card-media img{width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:none;display:block;line-height:0}.lhc-card-media,.public-home .lhc-card-media,.public-home .room-photo,.public-home [class*=card-media],.pub-card-media{background-position:center;background-size:cover;background-repeat:no-repeat}.public-home .public-grid{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:16px;max-width:1400px;margin-inline:auto;align-items:stretch;padding:0 20px}.lhc-grid{align-items:stretch}.public-home .lhc-card,.public-room-card,.pub-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #00000014}.public-grid .pub-card,.public-grid .lhc-card,.public-grid .public-room-card{height:100%;display:flex;flex-direction:column}.public-home img{max-width:100%;height:auto;background:none}.lhc-header{--header-h: 140px}@media(max-width:900px){.lhc-header{--header-h: 120px}}.lhc-header .logo-wrap,.lhc-header .lhc-logo{height:var(--header-h);display:flex;align-items:flex-end}.lhc-header .lhc-logo-img{height:var(--header-h);max-height:var(--header-h);width:auto;object-fit:contain}.lhc-tabs,.tabs{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.lhc-tabs .tab,.tabs .tab,.lhc-tab{font-size:clamp(.95rem,.9rem + .2vw,1rem);padding:6px 10px;line-height:1.2;border-radius:8px}@supports not (gap: 10px){.lhc-tabs .tab,.tabs .tab,.lhc-tab{margin-right:10px}.lhc-tabs .tab:last-child,.tabs .tab:last-child,.lhc-tab:last-child{margin-right:0}}.lhc-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100}@media(max-width:900px){.lhc-sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:1000;width:280px}.lhc-sidebar.open{transform:translate(0)}body:has(.lhc-sidebar.open):before,body.sidebar-open:before{content:"";position:fixed;inset:0;background:#00000080;z-index:99}}.lhc-main{margin-left:var(--lhc-sidebar-width);padding:22px 28px;max-width:1260px;min-height:calc(100vh - var(--header-h))}@media(max-width:900px){.lhc-sidebar{top:0;height:100vh;width:280px;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.lhc-sidebar.open{transform:translate(0)}.lhc-main{margin-left:0;padding:var(--space-lg);width:100%}body:has(.lhc-sidebar.open):before,body.sidebar-open:before{content:"";position:fixed;inset:0;background:#00000080;z-index:99;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}body.sidebar-open{overflow:hidden}@media(max-width:640px){.header-version{display:none}}.tooltip{background:var(--color-panel);color:var(--color-text);border:1px solid var(--border);box-shadow:var(--shadow-2)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--ink-400);border-radius:99px;border:2px solid var(--color-bg)}::-webkit-scrollbar-thumb:hover{background:var(--ink-500)}:root{--btn-salmon: #ea7a52;--btn-salmon-hover-start: #f59272;--btn-salmon-hover-end: #e0684d;--btn-salmon-shadow: rgba(234, 122, 82, .28);--btn-salmon-shadow-hover: rgba(234, 122, 82, .35);--btn-focus-ring: 0 0 0 3px rgba(234, 122, 82, .35);--btn-bg: #fff;--btn-border: #e5e7eb;--btn-color: #374151;--btn-shadow: 0 8px 18px rgba(0, 0, 0, .04);--btn-bg-hover: #f3f4f6;--btn-shadow-hover: 0 10px 22px rgba(0, 0, 0, .06);--btn-translate-hover: -1px}.btn,.bk-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-color);font-size:.95rem;font-weight:600;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;box-sizing:border-box;box-shadow:var(--btn-shadow);transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.btn:hover:not(:disabled):not([aria-disabled=true]),.bk-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--btn-bg-hover);transform:translateY(var(--btn-translate-hover));box-shadow:var(--btn-shadow-hover)}.btn:active,.bk-btn:active{transform:translateY(0)}.btn:disabled,.btn[disabled],.btn[aria-disabled=true],.bk-btn:disabled,.bk-btn[disabled],.bk-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}.btn:focus-visible,.bk-btn:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn-primary,.btn-confirm,.btn-add,.add-room,.lhc-toolbar .btn-add,.bk-btn-primary,.bk-actions .bk-btn-primary,.btn-dashboard{--btn-bg: linear-gradient( 135deg, var(--btn-salmon), var(--btn-salmon-hover-end) );--btn-border: transparent;--btn-color: #fff;--btn-shadow: 0 10px 22px var(--btn-salmon-shadow);--btn-bg-hover: linear-gradient( 135deg, var(--btn-salmon-hover-start), var(--btn-salmon) );--btn-shadow-hover: 0 12px 26px var(--btn-salmon-shadow-hover);--btn-translate-hover: -2px;border-radius:999px}.btn-secondary,.bk-btn-secondary{--btn-bg: #f3f4f6;--btn-border: #e5e7eb;--btn-color: #374151;--btn-bg-hover: #e5e7eb}.btn-outline,.btn-cancel,.bk-btn-outline,.bk-btn-cancel{--btn-bg: transparent;--btn-border: var(--btn-salmon);--btn-color: var(--btn-salmon);--btn-bg-hover: rgba(239, 133, 75, .08)}.btn-danger,.bk-btn-danger{--btn-bg: linear-gradient(135deg, #ef4444, #dc2626);--btn-border: transparent;--btn-color: #fff;--btn-shadow: 0 10px 22px rgba(239, 68, 68, .25);--btn-bg-hover: linear-gradient(135deg, #f26363, #e02f2f);--btn-shadow-hover: 0 12px 26px rgba(239, 68, 68, .35);--btn-translate-hover: -2px}.btn-status-ready{--btn-bg: linear-gradient(135deg, #10b981, #059669);--btn-border: transparent;--btn-color: #fff;--btn-shadow: 0 10px 22px rgba(16, 185, 129, .25);--btn-bg-hover: linear-gradient(135deg, #34d399, #10b981);--btn-shadow-hover: 0 12px 26px rgba(16, 185, 129, .35);--btn-translate-hover: -2px}.btn-status-maintenance{--btn-bg: linear-gradient(135deg, #f59e0b, #d97706);--btn-border: transparent;--btn-color: #fff;--btn-shadow: 0 10px 22px rgba(245, 158, 11, .25);--btn-bg-hover: linear-gradient(135deg, #fbbf24, #f59e0b);--btn-shadow-hover: 0 12px 26px rgba(245, 158, 11, .35);--btn-translate-hover: -2px}.btn-status-cleaning{--btn-bg: linear-gradient(135deg, #60a5fa, #3b82f6);--btn-border: transparent;--btn-color: #fff;--btn-shadow: 0 10px 22px rgba(59, 130, 246, .25);--btn-bg-hover: linear-gradient(135deg, #93c5fd, #60a5fa);--btn-shadow-hover: 0 12px 26px rgba(59, 130, 246, .35);--btn-translate-hover: -2px}.btn-status-available{--btn-bg: linear-gradient(135deg, #22c55e, #16a34a);--btn-border: transparent;--btn-color: #fff;--btn-shadow: 0 10px 22px rgba(34, 197, 94, .25);--btn-bg-hover: linear-gradient(135deg, #34d399, #22c55e);--btn-shadow-hover: 0 12px 26px rgba(34, 197, 94, .35);--btn-translate-hover: -2px}.btn-dashboard{border-radius:999px;padding-inline:20px;font-weight:700;min-height:38px}.btn-white,.btn-bulk,.btn-pagination,.btn-refresh{--btn-bg: #fff;--btn-border: #e5e7eb;--btn-color: #374151;--btn-shadow: 0 8px 16px rgba(15, 23, 42, .08);--btn-bg-hover: #f9fafb;--btn-shadow-hover: 0 10px 20px rgba(15, 23, 42, .1);--btn-translate-hover: -1px;border-radius:999px}.btn-ghost,.btn-bulk-close,.btn-clear{--btn-bg: transparent;--btn-border: rgba(148, 163, 184, .4);--btn-color: #475569;--btn-shadow: none;--btn-bg-hover: rgba(148, 163, 184, .15);border-radius:999px}.btn-clear{padding-inline:12px;font-size:.9rem}.btn-bulk-close{padding-inline:14px}.btn-pagination{padding:8px 14px;font-size:.85rem}.btn-refresh{padding:8px 16px}.lhc-actions a.btn:not([style*=transparent]),.lhc-actions .btn:not([style*=transparent]){--btn-bg: transparent;--btn-border: #fff;--btn-color: #fff;--btn-shadow: none;--btn-bg-hover: rgba(255, 255, 255, .1);border-radius:999px;font-weight:700;padding:8px 16px;min-height:auto;height:auto}.btn[style*=transparent],.lhc-actions .btn[style*=transparent]{--btn-bg: transparent;--btn-border: #fff;--btn-color: #fff}.modal-content .btn-cancel,.confirm-modal-content .btn-cancel{--btn-bg: var(--color-panel);--btn-border: var(--btn-salmon);--btn-color: var(--btn-salmon)}.modal-content .btn-confirm,.modal-content .btn-add,.confirm-modal-content .btn-confirm,form .btn[type=submit]{--btn-bg: var(--btn-salmon);--btn-border: var(--btn-salmon);--btn-color: #fff;--btn-shadow: 0 8px 18px var(--btn-salmon-shadow);--btn-bg-hover: linear-gradient( 135deg, var(--btn-salmon-hover-start), var(--btn-salmon-hover-end) )}.modal-footer,.lhc-modal .modal-footer,.lhc-modal .actions,.lhc-modal .modal-actions,.modal .footer,.modal-actions,.confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border, #eee)}.modal-footer .btn,.lhc-modal .modal-footer .btn,.lhc-modal .actions .btn,.lhc-modal .modal-actions .btn,.modal .footer .btn,.modal-actions .btn,.confirm-actions .btn{min-width:120px}@media(max-width:640px){.modal-footer,.lhc-modal .modal-footer,.lhc-modal .actions,.lhc-modal .modal-actions,.modal .footer,.modal-actions,.form-actions,.confirm-actions{flex-direction:column-reverse;gap:10px}.modal-footer .btn,.lhc-modal .modal-footer .btn,.lhc-modal .actions .btn,.lhc-modal .modal-actions .btn,.modal .footer .btn,.modal-actions .btn,.form-actions .btn,.confirm-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.ml-8{margin-left:8px}.w-100{width:100%}.maxw-360{max-width:360px}.maxw-640{max-width:640px}.maxw-800{max-width:800px}.maxw-1000{max-width:1000px}.col-w-40{width:40px}.col-w-200{width:200px}.col-minw-200{min-width:200px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.inline-flex-center{display:inline-flex;align-items:center;justify-content:center}.inline-flex-gap-8{display:inline-flex;gap:8px}.flex-gap-8{display:flex;gap:8px}.items-center{align-items:center}.flex-wrap{flex-wrap:wrap}.justify-end{justify-content:flex-end}.btn-center{justify-content:center}.gap-8{gap:8px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.text-muted{color:#6b7280}.hidden-submit{display:none}.flex-between{display:flex;justify-content:space-between}.modal-overlay,.confirm-modal-overlay{--brand-orange-1: #e7a889;--brand-orange-2: #c96e49;--ink-900: var(--ink-900);--ink-700: var(--ink-700);--ink-600: var(--ink-600);--ink-500: var(--ink-500);--ink-400: var(--ink-400);--border: var(--border);--bg: var(--color-panel);--danger-600: #e11d48;--danger-100a: rgba(225, 29, 72, .1);--danger-200a: rgba(225, 29, 72, .18);position:fixed;inset:0;background:#11182773;display:grid;place-items:center;z-index:1000;padding:18px}.modal-content{width:100%;max-width:760px;max-height:90vh;background:var(--bg);border-radius:14px;box-shadow:0 16px 40px #0000002e,0 2px 6px #0000001f;display:flex;flex-direction:column;overflow:hidden;position:relative;padding:16px 18px 18px}.modal-content h2{color:var(--brand-orange-2);font-weight:700;font-size:20px;margin:2px 0}.subtitle{margin:0 0 10px;color:var(--ink-600);font-size:14px}.close-button{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;background:transparent;color:var(--ink-600);font-size:22px;border-radius:10px;line-height:1;cursor:pointer}.close-button:hover{background:var(--sidebar-toggle-bg);color:var(--ink-900)}.section-title{font-weight:700;color:var(--brand-orange-2);margin:6px 0 8px;font-size:14px}.add-room-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding-right:8px}.form-body{overflow-y:auto;padding:0 4px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:6px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group>label{font-size:13px;color:var(--ink-700);font-weight:600}input[type=text],input[type=number],select{height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;outline:none;color:var(--ink-900);background:var(--sidebar-toggle-bg);transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}input::placeholder{color:var(--ink-400);opacity:.5}[data-theme=dark] input::placeholder{color:#fff6;opacity:1}input[type=text]:not(:hover):not(:focus),input[type=number]:not(:hover):not(:focus),select:not(:hover):not(:focus){border-color:var(--border);box-shadow:none}input[type=text]:hover,input[type=number]:hover,select:hover{border-color:var(--brand-orange-2)}input[type=text]:focus,input[type=number]:focus,select:focus{border-color:var(--brand-orange-2);box-shadow:0 0 0 3px #c96e4926}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c96e49' d='M7 9l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.image-drop-zone{border:2px dashed var(--border);border-radius:12px;background:var(--sidebar-toggle-bg);min-height:168px;display:flex;align-items:center;justify-content:center;padding:24px;transition:border-color .2s ease,background .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.file-input{display:none}.image-drop-zone .file-input-label{text-align:center;line-height:1.35;color:var(--ink-700)}.image-drop-zone .file-input-label strong:before{content:"Drag and drop images here, or ";font-weight:600;color:var(--ink-700)}.image-drop-zone .file-input-label strong{color:var(--brand-orange-2);text-decoration:underline;cursor:pointer}.image-drop-zone .file-input-label small{display:block;font-size:12px;color:var(--ink-500);margin-top:2px}.image-drop-zone.dragover,.image-drop-zone:hover{border-color:var(--brand-orange-2);background:#c96e490d}.image-preview-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:12px}.image-preview{width:100%;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--color-panel);padding:12px 0}@media(max-width:640px){.modal-content{padding:14px 14px 16px}.form-row{grid-template-columns:1fr}}.field-error{color:var(--danger-600);font-size:12px;line-height:1.3;margin-top:4px}.has-error input[type=text],.has-error input[type=number],.has-error select,.has-error .select2-btn{border-color:var(--danger-600);box-shadow:0 0 0 3px var(--danger-100a)}.has-error input[type=text]:focus,.has-error input[type=number]:focus,.has-error select:focus,.has-error .select2-btn.open{border-color:var(--danger-600);box-shadow:0 0 0 3px var(--danger-200a)}.has-error .select2-btn span{color:var(--danger-600)}.modal-overlay .btn,.modal-content .btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease;line-height:1}.modal-overlay .btn-cancel,.modal-content .btn-cancel{background:transparent;color:var(--ink-700);border:1px solid var(--border)}.modal-overlay .btn-cancel:hover,.modal-content .btn-cancel:hover{background:var(--sidebar-toggle-bg);color:var(--ink-900);border-color:var(--ink-400)}.modal-overlay .btn-add,.modal-content .btn-add{background:var(--brand-orange-2);color:#fff;border:1px solid transparent;box-shadow:0 4px 12px #c96e4940;border-radius:999px}.modal-overlay .btn-add:hover,.modal-content .btn-add:hover{background:#e0684d;transform:translateY(-1px)}:root{color-scheme:light;--color-bg: #ffffff;--color-panel: #ffffff;--color-line: #e8e8ee;--color-text: #4a5568;--color-muted: #7c8795;--color-accent: #ea7a52;--white: #ffffff;--border: #cbd5e1;--ink-900: #2f3947;--ink-700: #4f5a6a;--ink-600: #6d7786;--ink-500: #8e98a6;--ink-400: #a9b1bd;--status-available: #3fd100;--status-booked: #f06445;--status-maintenance: #f5a524;--warn: #f59e0b;--warn-bg: #fffbeb;--danger: #ef4444;--danger-bg: #fef2f2;--status-gray: #6b7280;--status-in: #2563eb;--status-out: #14b8a6;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--font-size-xs: clamp(.625rem, 1.5vw, .75rem);--font-size-sm: clamp(.75rem, 2vw, .875rem);--font-size-base: clamp(.875rem, 2.5vw, 1rem);--font-size-lg: clamp(1rem, 3vw, 1.125rem);--font-size-xl: clamp(1.125rem, 3.5vw, 1.25rem);--shadow: 0 12px 30px rgba(0, 0, 0, .08);--shadow-1: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .08);--shadow-2: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .06);--shadow-hover: 0 16px 40px rgba(0, 0, 0, .12);--radius: 16px;--radius-sm: 8px;--radius-lg: 20px;--header-h: clamp(96px, 12vw, 160px);--brand-orange-1: #e0684d;--brand-orange-2: #e68570;--room-number-shadow: 0 2px 4px rgba(0, 0, 0, .55), 0 6px 16px rgba(0, 0, 0, .35), 0 0 1px rgba(0, 0, 0, .75);--chip-available-text-shadow: 0 1px 1px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .35), 0 0 1px rgba(0, 0, 0, .7);--logo-scale: clamp(5, 6vw, 5.5);--lhc-sidebar-width: 260px;--lhc-sidebar-gap: var(--space-xl);--lhc-edge-gap: var(--space-xl);--touch-size: 44px;--header-pad-x: 28px;--sidebar-bg: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);--sidebar-border: #e5e7eb;--sidebar-header-bg: #ffffff;--sidebar-logo-color: #1f2937;--sidebar-toggle-bg: #f1f5f9;--sidebar-toggle-color: #64748b;--sidebar-toggle-border: #e2e8f0;--sidebar-toggle-hover-bg: #e2e8f0;--sidebar-toggle-hover-color: #334155;--sidebar-nav-item-color: #475569;--sidebar-nav-item-hover: #ea7a52;--sidebar-nav-active-bg: linear-gradient(135deg, #fef7f4, #fde8df);--sidebar-nav-active-border: #f5d6ca;--sidebar-scrollbar: #e5e7eb;--sidebar-scrollbar-hover: #d1d5db;--sidebar-section-title: #9ca3af}html[data-theme=dark]{color-scheme:dark;--color-bg: #0f172a;--color-panel: #1e293b;--color-line: #334155;--color-text: #e2e8f0;--color-muted: #94a3b8;--color-accent: #f97316;--warn: #f59e0b;--warn-bg: rgba(245, 158, 11, .1);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--white: #1e293b;--border: #475569;--ink-900: #e2e8f0;--ink-700: #cbd5e1;--ink-600: #94a3b8;--ink-500: #64748b;--ink-400: #475569;--shadow: 0 12px 30px rgba(0, 0, 0, .4);--shadow-1: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-2: 0 4px 6px -1px rgba(0, 0, 0, .25), 0 2px 4px -2px rgba(0, 0, 0, .25);--shadow-hover: 0 16px 40px rgba(0, 0, 0, .5);--sidebar-bg: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);--sidebar-border: #334155;--sidebar-header-bg: #1e293b;--sidebar-logo-color: #f1f5f9;--sidebar-toggle-bg: #334155;--sidebar-toggle-color: #94a3b8;--sidebar-toggle-border: #475569;--sidebar-toggle-hover-bg: #475569;--sidebar-toggle-hover-color: #e2e8f0;--sidebar-nav-item-color: #cbd5e1;--sidebar-nav-item-hover: #f97316;--sidebar-nav-active-bg: linear-gradient(135deg, #3b2a1f, #2d1f14);--sidebar-nav-active-border: #7c4a2a;--sidebar-scrollbar: #475569;--sidebar-scrollbar-hover: #64748b;--sidebar-section-title: #64748b}
