:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f6f8;color:#1f2937;--surface: #ffffff;--surface-muted: #f9fafb;--border: #d7dde6;--border-strong: #aeb8c7;--text-muted: #667085;--text-strong: #111827;--accent: #2563eb;--danger: #b42318;--status-vacant-bg: #e7f7ec;--status-vacant-border: #43a864;--status-occupied-bg: #fde8e8;--status-occupied-border: #d64545;--status-departing-bg: #e8f1ff;--status-departing-border: #4385d1;--status-maintenance-bg: #fff3d6;--status-maintenance-border: #d49a20;--status-blocked-bg: #f1e8ff;--status-blocked-border: #8b5fc7;--status-out-of-service-bg: #e5e7eb;--status-out-of-service-border: #6b7280}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-block-size:100vh;padding:16px}.login-shell{display:grid;min-block-size:100vh;place-items:center;padding:16px;background:linear-gradient(135deg,#f5f6f8,#eef5f2)}.login-panel{display:grid;gap:14px;inline-size:min(420px,100%);border:1px solid var(--border);border-radius:8px;padding:22px;background:var(--surface);box-shadow:0 18px 45px #11182714}.login-panel h1{margin:0}.login-subtitle{margin:6px 0 0;color:var(--text-muted)}.login-actions{display:flex;align-items:end;justify-content:space-between;gap:10px}.compact-field{min-inline-size:130px}.landing-shell{min-block-size:100vh;background:#f7faf8;color:#12211c}.landing-nav{position:sticky;z-index:20;inset-block-start:0;display:grid;grid-template-columns:minmax(180px,auto) minmax(280px,1fr) auto;gap:14px;align-items:center;border-block-end:1px solid #dce5df;padding:12px clamp(16px,4vw,56px);background:#fbfcfbf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-brand,.landing-actions,.landing-links,.landing-cta,.pricing-card li{display:inline-flex;align-items:center}.landing-brand{gap:10px;font-weight:800}.landing-brand-mark{display:inline-grid;place-items:center;inline-size:40px;block-size:40px;border:1px solid #bfd2c8;border-radius:8px;background:#e9f6f0;color:#17624f;font-size:12px}.landing-links{justify-content:center;gap:clamp(12px,3vw,28px)}.landing-links a{color:#465b54;font-weight:700;text-decoration:none}.landing-links a:hover{color:#17624f}.landing-actions{gap:8px;justify-content:end}.landing-language-toggle{display:inline-grid;grid-template-columns:repeat(2,1fr);gap:3px;border:1px solid #bfd2c8;border-radius:999px;padding:3px;background:#eef6f3}.landing-language-toggle button{min-block-size:34px;border:0;border-radius:999px;padding:5px 11px;background:transparent;color:#465b54;font-size:13px;font-weight:900}.landing-language-toggle button.is-active{background:#17624f;color:#fff;box-shadow:0 5px 14px #17624f2e}.landing-hero{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:clamp(22px,5vw,56px);align-items:center;max-inline-size:1240px;margin-inline:auto;padding:clamp(44px,8vw,92px) clamp(16px,4vw,56px) 38px}.landing-hero-copy{display:grid;gap:18px}.landing-badge{justify-self:start;margin:0;border:1px solid #b8d7bd;border-radius:999px;padding:5px 10px;background:#edf8f0;color:#22543d;font-size:13px;font-weight:800}.landing-hero h1{max-inline-size:760px;margin:0;color:#0f1f1a;font-size:58px;line-height:1.04;letter-spacing:0}.landing-lead{max-inline-size:650px;margin:0;color:#526760;font-size:19px;line-height:1.8}.landing-cta-row{display:flex;flex-wrap:wrap;gap:10px}.landing-cta{gap:8px;justify-content:center;min-block-size:42px;text-decoration:none}.landing-stats{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px;max-inline-size:560px}.landing-stats span{display:grid;gap:2px;border:1px solid #d6e1dc;border-radius:8px;padding:10px;background:#fff;color:#5c6f68}.landing-stats strong{color:#14231f;font-size:22px}.landing-product-preview{overflow:hidden;border:1px solid #bfcfc8;border-radius:8px;background:#fff;box-shadow:0 28px 70px #12211c24}.preview-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-block-end:1px solid #dce5df;padding:12px 14px;background:#f7faf8;color:#465b54;font-weight:800}.preview-topbar strong{border-radius:999px;padding:4px 9px;background:#e4f7ec;color:#17624f;font-size:12px}.preview-body{display:grid;grid-template-columns:138px minmax(0,1fr);min-block-size:430px}.preview-sidebar{display:grid;gap:8px;align-content:start;border-inline-end:1px solid #dce5df;padding:14px;background:#f4f7f5}.preview-sidebar span{border:1px solid #d7e2dd;border-radius:6px;padding:8px;background:#fff;color:#3d514b;font-size:13px;font-weight:700}.preview-workspace{display:grid;gap:12px;align-content:start;padding:14px}.preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preview-summary span,.preview-report-card{display:grid;gap:2px;border:1px solid #d6e1dc;border-radius:8px;padding:10px;background:#fbfcfb;color:#60746d}.preview-summary strong,.preview-report-card strong{color:#13231e;font-size:20px}.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.preview-room{display:grid;gap:4px;min-block-size:74px;border:1px solid #d6e1dc;border-radius:8px;padding:9px;color:#13231e}.preview-room strong{font-size:20px}.preview-room small{color:#526760;font-size:12px}.preview-room.tone-available{border-color:#70bd87;background:#eaf8ef}.preview-room.tone-occupied{border-color:#d87669;background:#fff0ee}.preview-room.tone-maintenance{border-color:#d8a53d;background:#fff7df}.preview-room.tone-departing{border-color:#6a95d8;background:#edf4ff}.landing-section,.landing-final-cta{max-inline-size:1240px;margin-inline:auto;padding:34px clamp(16px,4vw,56px)}.landing-section-heading{display:grid;gap:10px;max-inline-size:760px;margin-block-end:18px}.landing-section h2,.landing-final-cta h2{margin:0;color:#11211c;font-size:40px;line-height:1.15}.landing-section p,.landing-final-cta p{margin:0;color:#526760;line-height:1.75}.landing-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:10px}.landing-feature-card,.pricing-card{display:grid;gap:10px;border:1px solid #d6e1dc;border-radius:8px;padding:14px;background:#fff;box-shadow:0 10px 26px #12211c0d}.landing-feature-card svg{color:#17624f}.landing-feature-card h3,.pricing-card h3{margin:0}.pricing-section{max-inline-size:1300px}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}.pricing-card{grid-template-rows:auto auto auto 1fr auto;align-content:start;min-block-size:100%}.pricing-card.is-highlighted{border-color:#17624f;box-shadow:0 18px 40px #17624f24}.pricing-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#13231e;font-weight:900}.pricing-card-header strong{border-radius:999px;padding:4px 8px;background:#eaf8ef;color:#17624f;font-size:12px}.pricing-price{display:flex;align-items:baseline;gap:6px}.pricing-price strong{color:#0f1f1a;font-size:30px}.pricing-price span{color:#60746d}.pricing-card ul{display:grid;align-content:start;gap:8px;margin:4px 0;padding:0;list-style:none}.pricing-cta{align-self:end;inline-size:100%}.pricing-card li{gap:7px;color:#344942}.pricing-card li svg{flex:0 0 auto;color:#17624f}.discount-section{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:20px;align-items:center}.discount-table{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.discount-table span{display:grid;gap:4px;border:1px solid #d6e1dc;border-radius:8px;padding:12px;background:#fff}.discount-table b{color:#17624f;font-size:26px}.landing-final-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-block:20px 44px;border:1px solid #c4d8cf;border-radius:8px;background:#10231d}.landing-final-cta h2,.landing-final-cta p{color:#fff}.landing-final-cta .landing-badge{border-color:#6ab58a;background:#18382f;color:#dff7e8}.top-bar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-block-end:12px;border-block-end:1px solid var(--border)}.top-bar h1,.floor-section h2,.modal-header h2,.allocation-panel h3,.status-actions h3,.check-in-form h3,.guest-editor h4{margin:0}.eyebrow{margin:0 0 4px;color:var(--text-muted);font-size:13px}.top-actions{display:flex;align-items:end;gap:10px}.user-pill{display:grid;gap:2px;min-block-size:42px;min-inline-size:180px;border:1px solid var(--border);border-radius:6px;padding:6px 10px;background:var(--surface)}.user-pill span,.user-pill small{color:var(--text-muted);font-size:12px}.owner-shell{display:grid;align-content:start;gap:18px}.owner-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.owner-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.3fr);gap:12px;align-items:start}.owner-panel{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface)}.owner-section-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.owner-section-heading h2,.owner-form h3,.owner-users h3{margin:0}.owner-form,.owner-users,.owner-tenant-list{display:grid;gap:10px}.owner-form{border-block-start:1px solid var(--border);padding-block-start:12px}.owner-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.owner-tenant-row,.owner-user-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface-muted);color:var(--text-strong);text-align:start}.owner-tenant-row.is-selected{border-color:var(--accent);background:#edf5ff}.owner-tenant-row span:first-child,.owner-user-row span:first-child{display:grid;gap:2px}.owner-tenant-row small,.owner-user-row small{color:var(--text-muted)}.owner-status{justify-self:start;border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.owner-status.status-active{border-color:var(--status-vacant-border);background:var(--status-vacant-bg)}.owner-status.status-disabled{border-color:var(--status-out-of-service-border);background:var(--status-out-of-service-bg)}.owner-console-shell{display:grid;grid-template-columns:minmax(230px,260px) minmax(0,1fr);gap:16px;align-items:start}.owner-sidebar{position:sticky;inset-block-start:16px;display:grid;gap:14px;min-block-size:calc(100vh - 32px);border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface);box-shadow:0 12px 30px #1118270f}.owner-sidebar-header{display:grid;gap:4px;border-block-end:1px solid var(--border);padding-block-end:12px}.owner-sidebar-header h1{margin:0;font-size:24px}.owner-sidebar-header small{color:var(--text-muted)}.owner-nav{display:grid;gap:6px;align-content:start}.owner-nav-button{display:flex;align-items:center;gap:9px;min-block-size:40px;border:1px solid transparent;border-radius:6px;padding:8px 10px;background:transparent;color:var(--text-strong);text-align:start}.owner-nav-button:hover,.owner-nav-button.is-active{border-color:var(--border);background:#eef6f3;color:#135e4b;font-weight:700}.owner-sidebar-footer{display:grid;gap:10px;align-self:end;border-block-start:1px solid var(--border);padding-block-start:12px}.owner-main{display:grid;gap:12px;min-inline-size:0}.owner-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface)}.owner-page-header h2,.owner-section h3,.owner-panel h3,.owner-create-panel h3{margin:0}.owner-header-actions{display:flex;flex-wrap:wrap;gap:8px}.owner-section{display:grid;gap:12px;min-inline-size:0}.owner-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;align-items:start}.owner-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.owner-quick-card{display:grid;gap:2px;border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--surface-muted);color:var(--text-strong);text-align:start}.owner-quick-card:hover{border-color:var(--accent);background:#edf5ff}.owner-quick-card strong{font-size:22px}.owner-summary-list,.owner-security-list{display:grid;gap:8px;color:var(--text-strong)}.owner-security-list span{border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface-muted)}.owner-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,auto) auto;gap:8px;align-items:end}.owner-search-field{min-inline-size:min(420px,100%)}.input-with-icon{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:6px;padding-inline:8px;background:var(--surface)}.input-with-icon input{border:0;padding-inline:0}.input-with-icon input:focus{outline:0}.owner-create-panel{display:grid;gap:10px;border:1px solid #bdd7c7;border-radius:8px;padding:12px;background:#f4fbf7}.owner-table{display:grid;gap:6px;min-inline-size:0;overflow-x:auto}.owner-table-row,.owner-list-row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(100px,.7fr) minmax(80px,.45fr) minmax(80px,.45fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(96px,auto);gap:10px;align-items:center;min-inline-size:920px;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface);color:var(--text-strong);text-align:start}.owner-list-row{min-inline-size:0}.owner-table-row.is-selected,.owner-list-row:hover{border-color:var(--accent);background:#edf5ff}.owner-table-head{border-color:transparent;background:transparent;color:var(--text-muted);font-size:12px;font-weight:700}.owner-table-row span:first-child,.owner-list-row span:first-child{display:grid;gap:2px}.owner-table-row small,.owner-list-row small{color:var(--text-muted)}.owner-users-table .owner-table-row{grid-template-columns:minmax(190px,1.2fr) minmax(150px,1fr) minmax(160px,1fr) minmax(110px,.7fr) minmax(130px,.8fr);min-inline-size:780px}.owner-audit-table .owner-table-row{grid-template-columns:minmax(150px,1fr) minmax(180px,1.1fr) minmax(150px,1fr) minmax(130px,.9fr) minmax(90px,.55fr) minmax(160px,1fr) minmax(120px,auto);min-inline-size:1020px}.owner-audit-entry{display:grid;gap:6px}.owner-audit-metadata{margin:0;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:10px;background:#111827;color:#e5e7eb;font-size:12px}.compact-grid{grid-template-columns:1fr}.field,.top-actions label{display:grid;gap:4px;min-inline-size:120px}.field span,.top-actions span{color:var(--text-muted);font-size:12px}select,textarea,input{min-block-size:34px;inline-size:100%;border:1px solid var(--border);border-radius:6px;padding:6px 8px;background:var(--surface);color:var(--text-strong)}.read-only-field output{min-block-size:34px;border:1px solid var(--border);border-radius:6px;padding:7px 8px;background:var(--surface-muted);color:var(--text-strong)}textarea{resize:vertical}.filter-bar{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr)) auto;gap:8px;align-items:end;padding-block:12px}.workspace-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding-block:12px 4px}.tool-button{display:inline-flex;align-items:center;gap:7px;min-block-size:38px;border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:var(--surface);color:var(--text-strong)}.tool-button.active{border-color:var(--accent);background:#edf5ff;color:#174ea6;font-weight:700}.search-field{min-inline-size:150px}.secondary-button,.primary-button,.icon-button{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-strong)}.secondary-button{min-block-size:34px;padding:6px 10px}.primary-button{min-block-size:36px;padding:8px 12px;border-color:var(--accent);background:var(--accent);color:#fff}.icon-label-button{display:inline-flex;align-items:center;gap:7px;justify-content:center}.icon-only-button{display:inline-grid;place-items:center;inline-size:34px;block-size:34px;padding:0}.danger-button{border-color:#f1a7a0;color:var(--danger)}.primary-button.danger{border-color:var(--danger);background:var(--danger)}.icon-button{inline-size:32px;block-size:32px;font-size:20px;line-height:1}.notice,.loading,.empty-state,.form-error{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice{margin-block-end:12px;border-color:#9ac5ff;background:#edf5ff}.matrix-toolbar{display:grid;gap:8px;margin-block-end:12px}.matrix-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.summary-metric{display:grid;gap:3px;min-block-size:58px;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--surface)}.summary-metric span{color:var(--text-muted);font-size:12px}.summary-metric strong{color:var(--text-strong);font-size:22px;line-height:1}.summary-available{border-color:var(--status-vacant-border)}.summary-occupied{border-color:var(--status-occupied-border)}.summary-departing{border-color:var(--status-departing-border)}.summary-unavailable{border-color:var(--status-out-of-service-border)}.active-filters{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:6px;min-block-size:30px;border:1px solid var(--border);border-radius:6px;padding:4px 8px;background:var(--surface-muted);color:var(--text-strong)}.filter-chip span:first-child{color:var(--text-muted);font-size:12px}.form-error{border-color:#f1a7a0;background:#fff1f0;color:var(--danger)}.matrix-area{display:grid;gap:14px}.floor-section{display:grid;gap:8px}.floor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block-start:2px}.floor-heading h2{font-size:16px}.floor-heading span{color:var(--text-muted);font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.room-card{display:grid;gap:3px;min-block-size:116px;border:1px solid;border-radius:6px;padding:9px;text-align:start}.room-card:hover,.room-card:focus-visible{outline:2px solid #111827;outline-offset:1px}.status-vacant{border-color:var(--status-vacant-border);background:var(--status-vacant-bg)}.status-occupied{border-color:var(--status-occupied-border);background:var(--status-occupied-bg)}.status-departing_today{border-color:var(--status-departing-border);background:var(--status-departing-bg)}.status-maintenance{border-color:var(--status-maintenance-border);background:var(--status-maintenance-bg)}.status-blocked{border-color:var(--status-blocked-border);background:var(--status-blocked-bg)}.status-out_of_service{border-color:var(--status-out-of-service-border);background:var(--status-out-of-service-bg)}.room-number{font-size:22px;font-weight:700}.room-meta,.room-detail-line{color:var(--text-muted);font-size:12px}.status-label,.campaign-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-label{font-weight:700}.modal-backdrop{position:fixed;z-index:1000;inset:0;display:flex;justify-content:end;background:#11182761}[dir=rtl] .modal-backdrop{justify-content:start}[dir=rtl] .top-bar,[dir=rtl] .top-actions,[dir=rtl] .guest-editor-header,[dir=rtl] .bulk-actions,[dir=rtl] .bulk-summary,[dir=rtl] .status-action-row,[dir=rtl] .guest-list li{flex-direction:row-reverse}[dir=rtl] .top-bar,[dir=rtl] .top-actions,[dir=rtl] .guest-editor-header,[dir=rtl] .bulk-actions,[dir=rtl] .bulk-summary{align-items:flex-start}.room-modal{position:relative;z-index:1001;inline-size:min(620px,100vw);block-size:100vh;overflow:auto;border-inline-start:1px solid var(--border-strong);background:var(--surface);padding:16px}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-block-end:12px;border-block-end:1px solid var(--border)}.room-summary,.allocation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.room-summary div,.allocation-list div{border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--surface-muted)}dt{color:var(--text-muted);font-size:12px}dd{margin:2px 0 0;font-weight:600}.allocation-panel,.status-panel,.status-actions,.check-in-form,.guest-editor{display:grid;gap:10px}.status-panel{border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--surface-muted)}.status-panel p{margin:0;color:var(--text-muted)}.status-action-row{display:flex;flex-wrap:wrap;gap:8px}.guest-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.guest-list li{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:6px;padding:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guest-editor-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.guest-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 110px auto;gap:6px;align-items:center}.tool-panel{display:grid;gap:10px;margin-block-end:12px}.tool-panel>section{margin-block-end:0}.booking-page{display:grid;gap:14px;padding-block-start:12px}.booking-taskbar{position:sticky;z-index:5;inset-block-start:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:9px;background:#fffffff5;box-shadow:0 10px 28px #11182714}.booking-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:12px;align-items:start}.booking-section{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface);box-shadow:0 8px 22px #1118270a}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title-row h2{margin:0;font-size:17px}.booking-section>.section-title-row:first-child,.room-section-title{border-block-end:1px solid var(--border);padding-block-end:10px}.section-title-row.compact{justify-content:start}.section-title-row.room-section-title{align-items:start}.room-section-title p{margin:4px 0 0;color:var(--text-muted)}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px}.wide-field{grid-column:1 / -1}.room-details-section{overflow:hidden}.booking-room-table{display:grid;gap:6px;overflow-x:auto}.booking-room-row{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(100px,.7fr) minmax(80px,.5fr) minmax(180px,1.2fr) minmax(120px,.8fr) minmax(145px,.9fr) minmax(110px,.8fr) minmax(90px,auto);gap:8px;align-items:center;min-inline-size:1020px;border:1px solid #cfd7e3;border-radius:6px;padding:9px;background:var(--surface)}.booking-room-row.heading{border-color:transparent;background:transparent;color:var(--text-muted);font-size:12px;font-weight:700}.booking-room-row:not(.heading):focus-within,.booking-room-row:not(.heading):hover{border-color:var(--accent);background:#fbfdff}.booking-room-row textarea{min-block-size:54px}.row-actions{display:flex;gap:6px;align-items:center}.assign-rooms-modal{inline-size:min(760px,100vw)}.assign-date-row{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px;margin-block:12px}.assign-room-hint{display:flex;align-items:center;gap:8px;border:1px solid #b8d7bd;border-radius:6px;padding:9px 10px;background:#f0fbf3;color:#22543d}.assign-room-list{display:grid;gap:8px}.assign-room-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,auto) minmax(120px,auto) auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface-muted)}.assign-room-row:hover{border-color:var(--accent);background:#fbfdff}.assign-room-row span:first-child{display:grid;gap:2px}.assign-room-row small{color:var(--text-muted)}.bulk-panel,.reports-panel,.tenant-admin-panel,.campaign-panel,.reservation-panel{display:grid;gap:10px;margin-block-end:12px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface)}.campaign-content,.campaign-form,.campaign-list,.reservation-content,.reservation-form,.reservation-list,.reservation-room-list{display:grid;gap:10px}.campaign-toolbar,.reservation-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.campaign-grid,.reservation-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:12px;align-items:start}.campaign-form,.reservation-form{border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--surface-muted)}.campaign-form h3,.reservation-form h3{margin:0}.campaign-form-grid,.reservation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-room-draft{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(150px,.55fr) minmax(130px,.5fr) minmax(180px,1fr) auto;gap:8px;align-items:end;border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--surface)}.reservation-guests-field textarea{min-block-size:74px}.campaign-row,.reservation-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface-muted)}.campaign-row>button:first-child,.reservation-row>button:first-child{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:10px;align-items:center;border:0;padding:0;background:transparent;color:var(--text-strong);text-align:start}.reservation-row>button:first-child{grid-template-columns:minmax(170px,1fr) minmax(120px,.8fr) auto auto}.campaign-row span:first-child,.reservation-row span:first-child{display:grid;gap:2px}.campaign-row small,.reservation-row small{color:var(--text-muted)}.reservation-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tenant-admin-content,.admin-form,.admin-list{display:grid;gap:10px}.admin-tabs{display:flex;flex-wrap:wrap;gap:6px}.admin-tabs button{min-block-size:32px;border:1px solid var(--border);border-radius:6px;padding:6px 10px;background:var(--surface-muted);color:var(--text-strong)}.admin-tabs button.is-active{border-color:var(--accent);background:#edf5ff;font-weight:700}.admin-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:12px;align-items:start}.admin-form{border:1px solid var(--border);border-radius:6px;padding:10px;background:var(--surface-muted)}.admin-form h3{margin:0}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-strong)}.inline-check input{inline-size:auto;min-block-size:auto}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:var(--surface-muted);color:var(--text-strong);text-align:start}.admin-row span:first-child{display:grid;gap:2px}.admin-row small{color:var(--text-muted)}.admin-room-row{grid-template-columns:1fr auto}.admin-room-row>button:first-child{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:10px;align-items:center;border:0;padding:0;background:transparent;color:inherit;text-align:start}.reports-content,.report-result{display:grid;gap:10px}.reports-form-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;align-items:end}.link-button{display:inline-flex;align-items:center;min-block-size:34px;border:1px solid var(--border);border-radius:6px;padding:6px 10px;background:var(--surface);color:var(--text-strong);text-decoration:none}.report-table{overflow-x:auto;border:1px solid var(--border);border-radius:6px}.report-row{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:8px;min-inline-size:880px;padding:7px 8px;border-block-start:1px solid var(--border)}.report-row:first-child{border-block-start:0}.report-header{background:var(--surface-muted)}.report-card-list{display:grid;gap:10px}.report-card{display:grid;gap:10px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface)}.report-card-header{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(180px,1.3fr) minmax(90px,.6fr) minmax(150px,1fr);gap:8px;align-items:start}.report-card-header span,.vacancy-room-card{display:grid;gap:2px}.report-card-header small,.vacancy-room-card span{color:var(--text-muted);font-size:12px}.report-room-rows{display:grid;gap:4px}.report-room-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(90px,.6fr) minmax(130px,1fr) minmax(110px,.8fr) minmax(90px,.6fr);gap:8px;align-items:center;border-block-start:1px solid var(--border);padding-block-start:6px}.report-room-header{color:var(--text-muted);font-size:12px}.vacancy-header{grid-template-columns:minmax(160px,1fr) minmax(90px,auto)}.vacancy-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.vacancy-room-card{border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--surface-muted)}.bulk-toggle{justify-self:start;border:1px solid var(--border-strong);border-radius:6px;padding:7px 12px;background:var(--surface-muted);color:var(--text-strong);font-weight:700}.bulk-content,.bulk-review,.bulk-table{display:grid;gap:10px}.bulk-form-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.bulk-actions,.bulk-summary{display:flex;flex-wrap:wrap;gap:8px}.bulk-row{display:grid;grid-template-columns:minmax(120px,1fr) 100px 80px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--surface-muted)}.bulk-unallocated{border:1px solid #f1a7a0;border-radius:6px;padding:8px;background:#fff1f0;color:var(--danger)}@media(max-width:900px){.landing-nav,.landing-hero,.discount-section{grid-template-columns:1fr}.landing-links{justify-content:start;overflow-x:auto;padding-block:2px}.landing-actions{justify-content:start}.landing-feature-grid,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-body{grid-template-columns:1fr}.preview-sidebar{grid-template-columns:repeat(4,minmax(0,1fr));border-block-end:1px solid #dce5df;border-inline-end:0}.discount-table{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-final-cta,.top-bar,.top-actions,.login-actions{align-items:stretch;flex-direction:column}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-form-grid{grid-template-columns:1fr}.matrix-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-layout,.owner-console-shell{grid-template-columns:1fr}.owner-sidebar{position:static;min-block-size:auto}.owner-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.owner-nav-button{justify-content:center}.owner-nav-button span{display:none}.owner-dashboard-grid,.owner-filter-bar,.admin-grid,.campaign-grid,.reservation-grid,.reservation-room-draft{grid-template-columns:1fr}.owner-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-grid{grid-template-columns:1fr}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.assign-room-row{grid-template-columns:1fr auto}.report-card-header,.report-room-row{grid-template-columns:1fr}}@media(max-width:640px){.landing-nav,.landing-actions,.landing-cta-row,.landing-final-cta{display:grid}.landing-shell{background:#f7faf8}.landing-hero{padding-block-start:28px}.landing-hero h1{font-size:38px}.landing-section h2,.landing-final-cta h2{font-size:30px}.landing-links{display:none}.landing-stats,.landing-feature-grid,.pricing-grid,.preview-summary,.preview-grid,.preview-sidebar,.discount-table{grid-template-columns:1fr}.landing-product-preview{box-shadow:0 14px 34px #12211c1a}.app-shell{padding:10px}.filter-bar,.matrix-summary,.owner-metrics,.owner-form-grid,.owner-quick-grid,.owner-page-header,.owner-header-actions,.admin-form-grid,.campaign-form-grid,.reservation-form-grid,.booking-fields,.assign-date-row,.campaign-row,.campaign-row>button:first-child,.reservation-row,.reservation-row>button:first-child,.admin-row,.admin-room-row>button:first-child,.owner-tenant-row,.owner-user-row,.bulk-row,.reports-form-grid,.form-grid,.room-summary,.allocation-list,.guest-row{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-toolbar,.booking-taskbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tool-button,.icon-label-button{inline-size:100%}.owner-page-header,.owner-header-actions{display:grid}.owner-sidebar-footer,.owner-header-actions{align-items:stretch}}
