:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f5f7;--foreground:#17211c;--muted:#66736c;--line:#d9dfdc;--panel:#fff;--panel-soft:#f9faf9;--accent:#0f766e;--accent-dark:#115e59;--accent-soft:#d9f2ed;--blue:#2563eb;--blue-soft:#e8efff;--warning:#b7791f;--warning-soft:#fff4d6;--danger:#b42318;--danger-soft:#fff0ee;--shadow:0 18px 50px #18221e1a}*{box-sizing:border-box}html{background:var(--background)}body{background:linear-gradient(180deg, #fff 0, #f4f5f7 260px), var(--background);min-height:100vh;color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:8px;font-size:40px;line-height:1.08}h2{letter-spacing:0;margin-bottom:0;font-size:21px;line-height:1.25}h3{letter-spacing:0;margin-bottom:0;font-size:20px;line-height:1.25}.shell{width:min(1440px,100% - 40px);margin:0 auto;padding:22px 0 36px}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:8px 0 18px;display:grid}.brand-block{min-width:0}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.eyebrow{color:var(--accent-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}.version-badge{background:var(--line);color:var(--muted);letter-spacing:0;text-transform:none;vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:500}.intro{color:var(--muted);margin-bottom:0;font-size:15px;line-height:1.55}.summary{grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-bottom:16px;display:grid}.summary div{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-content:space-between;min-height:92px;padding:14px 16px;display:grid;box-shadow:0 8px 24px #18221e0d}.summary small{color:var(--muted);font-size:13px;font-weight:800}.summary span{color:#18231e;font-size:34px;font-weight:900;line-height:1;display:block}.workspace{grid-template-columns:minmax(360px,430px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.room-list-workspace{grid-template-columns:1fr}.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;box-shadow:0 12px 35px #18221e0f}.form-panel,.list-panel{padding:18px}.form-panel{position:sticky;top:16px}.home-room-form{display:none}.primary-button.room-create-link{width:fit-content}.room-editor-shell{width:min(980px,100% - 40px);margin:0 auto;padding:22px 0 36px}.room-editor-panel{padding:22px}.panel-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}label{color:#2e4038;gap:7px;margin-bottom:14px;font-size:13px;font-weight:800;display:grid}.tenant-note{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--panel-soft);border-radius:8px;gap:5px;margin-bottom:14px;padding:12px 13px;display:grid}.tenant-note span{color:var(--muted);font-size:12px;font-weight:800}.tenant-note strong{overflow-wrap:anywhere;min-width:0;font-size:15px}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--foreground);background:#fff;border-radius:8px;outline:none;padding:11px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[readonly]{background:var(--surface,#f5f5f5);color:var(--text-secondary,#888);cursor:not-allowed;border-style:dashed}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-grid.compact{align-items:end}.switch-row{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;align-items:center;gap:10px;min-height:45px;margin-top:20px;padding:11px 12px;display:flex}.switch-row input{width:18px;height:18px}.primary-button,.ghost-button,.room-actions button{border:1px solid #0000;border-radius:8px;min-height:42px;padding:0 15px;font-weight:850}.primary-button{background:var(--accent);color:#fff;width:100%}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled,.ghost-button:disabled{opacity:.58}.ghost-button,.room-actions button{border-color:var(--line);color:var(--foreground);background:#fff}.ghost-button:hover,.room-actions button:hover{background:#f0f6f4}.room-actions button:disabled{opacity:.5;color:var(--muted);background:#f3f5f4}.logout-button{white-space:nowrap}.form-message,.empty-state{color:var(--muted);margin:12px 0 0;line-height:1.55}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{color:var(--muted);align-items:center;gap:10px;margin:24px 0;font-size:.9rem;display:flex}.loading-spinner{border:2px solid var(--line);border-top-color:var(--muted);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.loading-spinner--sm{width:16px;height:16px}.loading-spinner--xs{vertical-align:middle;border-width:1.5px;width:10px;height:10px}.error-message{color:var(--danger)}.inline-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.inline-header small{color:var(--muted);font-size:12px;font-weight:800}.field-title{color:#2e4038;margin-bottom:2px;font-size:13px;font-weight:900}.image-fields{margin-bottom:14px}.image-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-button{border:1px solid var(--line);min-height:42px;color:var(--foreground);cursor:pointer;background:#fff;border-radius:8px;place-items:center;margin-bottom:0;padding:0 13px;font-size:13px;font-weight:850;display:grid}.file-button:hover{background:#f0f6f4}.file-button:has(input:disabled){cursor:not-allowed;opacity:.58}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.compact-button{min-height:42px;padding:0 12px}.image-editor-list{gap:9px;display:grid}.image-editor-item{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.image-editor-preview{aspect-ratio:4/3;border:1px solid var(--line);width:86px;color:var(--muted);background:#ecefed;border-radius:8px;place-items:center;padding:0;font-size:12px;font-weight:850;display:grid;overflow:hidden}.image-editor-preview:not(:disabled):hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.image-editor-preview:disabled{cursor:default}.image-editor-preview img{object-fit:cover;width:100%;height:100%;display:block}.image-editor-fields{gap:7px;min-width:0;display:grid}.image-editor-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.image-editor-heading strong{color:#2e4038;font-size:13px}.image-editor-heading span{color:var(--muted);font-size:12px;font-weight:800}.image-editor-controls{gap:6px;display:grid}.image-remove-button{color:var(--danger);white-space:nowrap}.list-panel{min-width:0}.list-tools{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:12px;margin-bottom:14px;padding:12px;display:grid}.search-field{margin-bottom:0}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.filter-tabs button{border:1px solid var(--line);color:#30423a;background:#fff;border-radius:8px;min-height:38px;padding:0 12px;font-size:13px;font-weight:850}.filter-tabs button:hover{background:#f0f6f4}.filter-tabs button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.result-count{color:var(--muted);white-space:nowrap;margin:0;font-size:13px;font-weight:800}.room-order-controls{flex:none;align-items:center;gap:6px;display:flex}.room-order-controls span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:850}.room-order-controls button{border:1px solid var(--line);min-height:32px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 9px;font-size:12px;font-weight:850}.room-order-controls button:hover{background:#f0f6f4}.room-order-controls button:disabled{opacity:.45}.status{min-height:30px;color:var(--muted);white-space:nowrap;background:#edf0ee;border-radius:999px;place-items:center;padding:0 10px;font-size:12px;font-weight:850;display:inline-grid}.status.active{background:var(--accent-soft);color:var(--accent-dark)}.status.booking{background:var(--blue-soft);color:#1d4f91}.status.booking.booked{background:var(--warning-soft);color:var(--warning)}.room-description{color:var(--muted);margin:0;line-height:1.55}.room-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.room-table{border-collapse:collapse;width:100%;min-width:1100px}.room-table th,.room-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.room-table th{z-index:1;background:var(--panel-soft);color:#405047;white-space:nowrap;font-size:12px;font-weight:900;position:sticky;top:0}.room-table tbody tr:hover{background:#fbfcfb}.room-table tbody tr.is-inactive-room{background:#f3f5f4}.room-table tbody tr.is-inactive-room:hover{background:#ecefed}.room-table tbody tr.is-inactive-room td{color:var(--muted)}.room-table tbody tr.is-inactive-room .room-table-title strong,.room-table tbody tr.is-inactive-room .room-table-price{color:#7a8580}.room-table tbody tr:last-child td{border-bottom:0}.room-table-images{gap:6px;width:72px;display:grid}.room-table-images button,.room-images button{border:1px solid var(--line);background:#ecefed;border-radius:8px;width:100%;padding:0;overflow:hidden}.room-table-images button:hover,.room-images button:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.room-table-images img,.room-images img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.room-image-count{color:var(--muted);text-align:center;font-size:12px;font-weight:900;display:block}.room-table-title,.room-table-detail,.room-table-statuses,.room-table-booking{gap:5px;min-width:0;display:grid}.room-table-title strong,.room-table-price,.room-table-booking strong{color:#24382f;font-size:14px}.room-table-title span,.room-table-detail span,.room-table-detail p,.room-table-booking span,.table-muted{color:var(--muted);font-size:13px}.room-table-detail p{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:260px;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.room-images{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.booking-current-badge{background:var(--blue-soft);color:#1d4f91;white-space:nowrap;border-radius:999px;place-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:850;display:inline-grid}.booking-delete-button,.room-actions .danger-button{color:var(--danger)}.room-actions{grid-template-columns:1fr;gap:8px;min-width:190px;display:grid}.booking-page-shell{width:min(1280px,100% - 40px);margin:0 auto;padding:22px 0 36px}.booking-page-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:8px 0 18px;display:grid}.booking-page-panel{gap:16px;padding:22px;display:grid}.booking-page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.booking-create-button{width:fit-content;min-width:210px}.dashboard-shell{width:min(1180px,100% - 40px);margin:0 auto;padding:22px 0 36px}.dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-panel{align-content:start}.dashboard-menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-menu-item{border:1px solid var(--line);min-height:210px;color:var(--foreground);text-align:left;background:#fff;border-radius:8px;align-content:start;gap:10px;padding:18px;display:grid;box-shadow:0 8px 24px #18221e0d}.dashboard-menu-item:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fbfefd}.dashboard-menu-item span{color:var(--accent-dark);text-transform:uppercase;font-size:12px;font-weight:900}.dashboard-menu-item strong{color:#24382f;font-size:20px;line-height:1.25}.dashboard-menu-item p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.dashboard-menu-item small{color:#3c4f46;align-self:end;font-size:13px;font-weight:850}.booking-page-list .booking-list-item{grid-template-columns:minmax(220px,1fr) minmax(320px,1.5fr) auto}.booking-room-overview{grid-template-columns:minmax(320px,.8fr) minmax(260px,1fr);align-items:start;gap:14px;display:grid}.booking-room-images{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.booking-form-page{align-content:start}.booking-form-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:18px;display:grid}.image-preview-overlay{z-index:50;background:#0d1713b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-preview-dialog{width:min(960px,100%);max-height:min(760px,100vh - 48px);position:relative;overflow:hidden}.image-preview-dialog img{object-fit:contain;background:#edf0ee;border-radius:8px;width:100%;max-height:min(760px,100vh - 48px);display:block}@keyframes preview-slide-left{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@keyframes preview-slide-right{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:translate(0)}}@keyframes preview-slide-wrap{0%{opacity:0;transform:translate(-48px)scale(.97)}60%{opacity:1}to{opacity:1;transform:translate(0)scale(1)}}@keyframes preview-slide-wrap-back{0%{opacity:0;transform:translate(48px)scale(.97)}60%{opacity:1}to{opacity:1;transform:translate(0)scale(1)}}.preview-slide-left{animation:.22s preview-slide-left}.preview-slide-right{animation:.22s preview-slide-right}.preview-slide-wrap{animation:.32s cubic-bezier(.34,1.4,.64,1) preview-slide-wrap}.preview-slide-wrap-back{animation:.32s cubic-bezier(.34,1.4,.64,1) preview-slide-wrap-back}.image-preview-close{width:38px;min-height:38px;color:var(--foreground);background:#ffffffeb;border:1px solid #ffffffb3;border-radius:8px;place-items:center;padding:0;font-size:24px;font-weight:850;line-height:1;display:grid;position:absolute;top:12px;right:12px}.image-preview-nav{width:44px;min-height:44px;color:var(--foreground);background:#ffffffeb;border:1px solid #ffffffb3;border-radius:8px;place-items:center;padding:0;font-size:30px;font-weight:850;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.image-preview-nav:disabled{opacity:.35}.image-preview-nav.previous{left:12px}.image-preview-nav.next{right:12px}.image-preview-count{color:var(--foreground);background:#ffffffeb;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:850;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.booking-dialog{border:1px solid var(--line);width:min(1120px,100vw - 32px);min-height:min(720px,100vh - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow);background:#fff;border-radius:8px;align-content:start;gap:16px;padding:22px;display:grid;overflow:auto}.booking-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;padding-right:44px;display:flex;position:relative}.booking-dialog-header h2{color:#24382f;margin:4px 0 0;font-size:26px}.booking-dialog .image-preview-close{top:0;right:0}.booking-list-dialog{width:min(1120px,100vw - 32px)}.booking-room-summary{flex-wrap:wrap;gap:8px;display:flex}.booking-room-summary span{border:1px solid var(--line);background:var(--panel-soft);color:#3c4f46;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.booking-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.booking-list-item{background:#fff;grid-template-columns:minmax(220px,1fr) minmax(300px,1.45fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.booking-list-item+.booking-list-item{border-top:1px solid var(--line)}.booking-list-main,.booking-list-meta{gap:4px;min-width:0;display:grid}.booking-list-main strong{color:#24382f;overflow-wrap:anywhere;font-size:16px}.booking-list-main span,.booking-list-meta span,.booking-list-meta p,.booking-list-empty span{color:var(--muted);font-size:13px}.booking-list-meta p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.booking-list-empty{border:1px dashed var(--line);background:var(--panel-soft);text-align:center;border-radius:8px;gap:4px;padding:18px;display:grid}.booking-list-actions{grid-template-columns:repeat(2,minmax(70px,auto));gap:8px;display:grid}.booking-list-empty strong{color:#24382f;font-size:15px}.booking-back-button{justify-self:start}.booking-reservations{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;gap:8px;padding:10px;display:grid}.booking-reservations-header,.booking-reservation{justify-content:space-between;align-items:center;gap:10px;display:flex}.booking-reservations-header strong,.booking-reservation strong{color:#2e4038;font-size:13px}.booking-reservations-header span,.booking-reservation span,.booking-reservations p{color:var(--muted);font-size:13px;font-weight:800}.booking-reservations-list{gap:6px;display:grid}.booking-reservation{border-top:1px solid var(--line);padding-top:6px}.booking-reservations p{margin:0}.customer-page-shell{width:min(1320px,100% - 40px)}.customer-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.customer-list-panel{align-content:start}.customer-search-field{width:min(360px,100%)}.customer-list{gap:12px;display:grid}.customer-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:16px;display:grid}.customer-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.customer-card-header h3{color:#24382f;margin:0 0 4px;font-size:20px}.customer-card-header p,.customer-booking span,.customer-booking p{color:var(--muted);margin:0;font-size:13px}.customer-card-actions{flex:none;align-items:center;gap:8px;display:flex}.customer-bookings{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.customer-no-bookings{border:1px dashed var(--line);background:var(--panel-soft);color:var(--muted);border-radius:8px;padding:12px;font-size:13px;font-weight:800}.customer-booking{background:var(--panel-soft);grid-template-columns:minmax(180px,1fr) minmax(220px,1.1fr) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.customer-booking+.customer-booking{border-top:1px solid var(--line)}.customer-booking strong{color:#24382f;overflow-wrap:anywhere;font-size:14px;display:block}.all-bookings-page-shell{width:min(1320px,100% - 40px)}.all-bookings-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.all-bookings-panel{align-content:start}.all-bookings-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.all-booking-header,.all-booking-card{grid-template-columns:minmax(180px,1.1fr) minmax(170px,.95fr) minmax(250px,1.2fr) minmax(210px,.9fr) minmax(120px,.45fr);align-items:center;gap:12px;display:grid}.all-booking-header{background:var(--panel-soft);color:#405047;padding:11px 14px;font-size:12px;font-weight:900}.all-booking-card{background:#fff;padding:14px}.all-booking-card+.all-booking-card{border-top:1px solid var(--line)}.all-booking-card:hover{background:#fbfcfb}.all-booking-cell{min-width:0}.all-booking-cell strong{color:#24382f;overflow-wrap:anywhere;font-size:14px;display:block}.all-booking-cell span{color:var(--muted);font-size:13px}.all-booking-meta{flex-wrap:wrap;justify-content:flex-start;gap:6px;display:flex}.all-booking-meta span{border:1px solid var(--line);background:var(--panel-soft);color:#3c4f46;white-space:nowrap;border-radius:999px;place-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:850;display:inline-grid}.all-booking-meta .stay-status.checked_in{color:#166534;background:#e8f8ee;border-color:#86d9a8}.all-booking-actions{gap:8px;display:grid}.auth-audit-page-shell{width:min(1480px,100% - 40px)}.auth-audit-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.auth-audit-panel{align-content:start}.auth-audit-header{align-items:end}.auth-audit-filters{grid-template-columns:minmax(130px,.6fr) minmax(130px,.6fr) minmax(220px,1fr);align-items:end;gap:10px;width:min(720px,100%);display:grid}.auth-audit-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.auth-audit-table{border-collapse:collapse;width:100%;min-width:1180px}.auth-audit-table th,.auth-audit-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.auth-audit-table th{z-index:1;background:var(--panel-soft);color:#405047;white-space:nowrap;font-size:12px;font-weight:900;position:sticky;top:0}.auth-audit-table tbody tr:hover{background:#fbfcfb}.auth-audit-table tbody tr:last-child td{border-bottom:0}.auth-audit-table td{color:var(--muted);font-size:13px;line-height:1.45}.auth-audit-strong-cell{color:#24382f;overflow-wrap:anywhere;font-weight:850}.auth-audit-customer-cell{min-width:0}.auth-audit-customer-cell strong{color:#24382f;overflow-wrap:anywhere;font-size:13px;display:block}.auth-audit-customer-cell span{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.auth-audit-user-agent,.auth-audit-failure-reason{overflow-wrap:anywhere;max-width:340px}.auth-audit-pill{border:1px solid var(--line);background:var(--panel-soft);color:#3c4f46;white-space:nowrap;text-transform:capitalize;border-radius:999px;place-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:850;display:inline-grid}.auth-audit-pill.success{color:#166534;background:#e8f8ee;border-color:#86d9a8}.auth-audit-pill.failure{background:var(--danger-soft);color:var(--danger);border-color:#f2aaa4}.admin-users-page-shell{width:min(1180px,100% - 40px)}.admin-users-summary{grid-template-columns:.7fr 1.3fr;margin-bottom:18px}.admin-users-summary span{overflow-wrap:anywhere;font-size:28px}.admin-users-workspace{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-users-workspace--full{grid-template-columns:1fr}.admin-users-form,.admin-users-list-panel{align-content:start}.admin-users-form{position:sticky;top:16px}.admin-users-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.admin-user-card{background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.admin-user-card+.admin-user-card{border-top:1px solid var(--line)}.admin-user-card:hover{background:#fbfcfb}.admin-user-card div{gap:4px;min-width:0;display:grid}.admin-user-card strong{color:#24382f;overflow-wrap:anywhere;font-size:15px}.admin-user-card span,.admin-user-card small{color:var(--muted);font-size:13px}.admin-user-card small{flex:none;font-weight:800}.customer-history-page-shell{width:min(1320px,100% - 40px)}.customer-history-summary{grid-template-columns:.7fr 1.4fr .9fr;margin-bottom:18px}.customer-history-summary span{overflow-wrap:anywhere}.customer-history-panel{align-content:start}.customer-history-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.customer-history-header,.customer-history-item{grid-template-columns:minmax(180px,1fr) minmax(250px,1.2fr) minmax(210px,.9fr) minmax(120px,.45fr);align-items:center;gap:12px;display:grid}.customer-history-header{background:var(--panel-soft);color:#405047;padding:11px 14px;font-size:12px;font-weight:900}.customer-history-item{background:#fff;padding:14px}.customer-history-item+.customer-history-item{border-top:1px solid var(--line)}.customer-history-item:hover{background:#fbfcfb}.customer-history-cell{min-width:0}.customer-history-cell strong{color:#24382f;overflow-wrap:anywhere;font-size:14px;display:block}.customer-history-cell span{color:var(--muted);font-size:13px}.customer-history-meta{flex-wrap:wrap;gap:6px;display:flex}.customer-history-meta span{border:1px solid var(--line);background:var(--panel-soft);color:#3c4f46;white-space:nowrap;border-radius:999px;place-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:850;display:inline-grid}.customer-history-meta .stay-status.checked_in{color:#166534;background:#e8f8ee;border-color:#86d9a8}.customer-history-actions{gap:8px;display:grid}.booking-detail-page-shell{width:min(1180px,100% - 40px)}.booking-detail-panel{align-content:start}.booking-detail-hero{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.booking-detail-hero h2{color:#24382f;margin:0 0 6px;font-size:28px}.booking-detail-hero p{color:var(--muted);margin:0;font-weight:800}.booking-detail-hero>span{border:1px solid var(--line);color:#3c4f46;white-space:nowrap;background:#fff;border-radius:999px;place-items:center;min-height:34px;padding:0 12px;font-size:13px;font-weight:850;display:inline-grid}.stay-actions{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.stay-actions strong{color:#24382f;font-size:18px}.booking-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.booking-detail-section{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:14px;display:grid}.booking-detail-section h3{color:#24382f;margin:0;font-size:17px}.booking-detail-item{border-top:1px solid var(--line);grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:12px;padding-top:8px;display:grid}.booking-detail-item span{color:var(--muted);font-size:13px;font-weight:800}.booking-detail-item strong{color:#24382f;overflow-wrap:anywhere;min-width:0;font-size:14px}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{width:min(100%,420px);padding:24px}.login-panel h1{margin-bottom:0;font-size:34px}@media (max-width:1180px){.workspace{grid-template-columns:1fr}.form-panel{position:static}.list-tools,.booking-page-list .booking-list-item,.booking-room-overview,.booking-form-grid,.auth-audit-filters,.admin-users-workspace{grid-template-columns:1fr}.admin-users-form{position:static}.result-count{white-space:normal}}@media (max-width:900px){.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-list-item{grid-template-columns:minmax(160px,1fr) minmax(180px,1fr);align-items:start}.dashboard-menu{grid-template-columns:1fr}.room-order-controls,.filter-tabs{flex-wrap:wrap}}@media (max-width:620px){.shell{width:min(100% - 20px,1440px);padding-top:14px}.topbar{grid-template-columns:1fr;align-items:stretch}.topbar-actions{flex-direction:column;justify-content:stretch}.booking-page-shell{width:min(100% - 20px,1280px);padding-top:14px}.room-editor-shell{width:min(100% - 20px,980px);padding-top:14px}.room-editor-panel{padding:16px}.booking-page-topbar,.booking-page-header{grid-template-columns:1fr;align-items:stretch}.booking-page-header{flex-direction:column}.booking-page-panel{padding:16px}.booking-create-button{width:100%}h1{font-size:32px}.summary,.field-grid,.room-actions,.dashboard-summary,.booking-list-item,.customer-summary,.customer-booking,.all-bookings-summary,.auth-audit-summary,.admin-users-summary,.all-booking-card,.customer-history-summary,.customer-history-item,.booking-detail-grid,.booking-detail-item{grid-template-columns:1fr}.all-booking-header,.customer-history-header{display:none}.booking-detail-hero{flex-direction:column}.stay-actions{flex-direction:column;align-items:stretch}.customer-card-header{flex-direction:column}.admin-user-card{flex-direction:column;align-items:flex-start}.all-booking-meta{justify-content:flex-start}.customer-card-actions{flex-direction:column;align-items:stretch;width:100%}.booking-list-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-header,.inline-header{flex-direction:column;align-items:stretch}.image-actions{justify-content:stretch}.ghost-button,.file-button{width:100%}.image-editor-item{grid-template-columns:1fr}.image-editor-preview{width:100%}.image-editor-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-reservations-header,.booking-reservation{flex-direction:column;align-items:flex-start}}.period-detail-dialog{background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:min(480px,100%);padding:28px 32px;display:flex;position:relative}.period-detail-rows{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:12px;padding:16px 0;display:flex}.period-detail-row{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.period-detail-row span{color:var(--text-secondary,#666)}.period-detail-actions{justify-content:flex-end;gap:8px;display:flex}.price-breakdown{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.price-breakdown .eyebrow{margin-bottom:4px}.price-breakdown-row{color:var(--text-secondary,#555);grid-template-columns:1fr 2fr 1fr 1fr;gap:8px;font-size:.875rem;display:grid}.price-breakdown-total{border-top:1px solid var(--border);justify-content:space-between;margin-top:4px;padding-top:8px;font-weight:600;display:flex}@media (max-width:600px){.price-breakdown-row{grid-template-columns:1fr 1fr}}
