:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--white:#fff;--cream:#f7f7f5;--gray-100:#eeeeeb;--gray-200:#deded9;--gray-500:#85857e;--gray-600:#62625b;--gray-900:#252522;--charcoal-950:#171715;--red-700:#a63732;--red-50:#fcece8;--amber-700:#80550c;--amber-50:#fff5dc;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-control:6px;--radius-panel:10px;--radius-dialog:14px;--canvas:var(--cream);--surface:var(--white);--surface-subtle:var(--gray-100);--text:var(--gray-900);--muted:var(--gray-600);--border:var(--gray-200);--accent:var(--gray-900);--accent-hover:var(--charcoal-950);--error:var(--red-700);--error-bg:var(--red-50);--shadow-float:0 16px 48px #2525221f, 0 3px 12px #25252214;--z-sticky:20;--z-modal:40;--z-toast:50;--button-bg:var(--accent);--button-hover:var(--accent-hover);--input-bg:var(--surface);--input-border:var(--border);--focus:var(--gray-900);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;color:var(--text);background:var(--canvas);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:wait;opacity:.56}button,a,input,select,textarea{transition:background-color .12s ease-out,color .12s ease-out,border-color .12s ease-out,opacity .12s ease-out}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.04em;font-size:36px;font-weight:600;line-height:1.15}h2{letter-spacing:-.025em;font-size:20px;font-weight:600;line-height:1.3}h3{letter-spacing:-.012em;font-size:16px;font-weight:600;line-height:1.4}p{line-height:1.55}a{color:inherit;text-underline-offset:3px}svg{vertical-align:middle;flex-shrink:0}strong{font-weight:600}input,select,textarea{width:100%;min-height:46px;padding:var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--input-bg);font-size:16px;line-height:1.4}input::placeholder,textarea::placeholder{color:var(--gray-500)}input:hover,select:hover,textarea:hover{border-color:var(--gray-500)}input:focus,select:focus,textarea:focus{border-color:var(--text)}input[aria-invalid=true]{border-color:var(--error)}textarea{resize:vertical}input[type=date],input[type=time]{appearance:auto;min-width:0}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--text);flex-shrink:0;margin:0}input[type=number]{font-variant-numeric:tabular-nums}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);white-space:nowrap;border:1px solid #0000;min-height:44px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.button.primary{background:var(--button-bg);color:var(--white)}.button.secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.button.danger{background:var(--red-700);color:var(--white)}.button.full{width:100%}.button.fit{justify-self:start}.icon-button{border-radius:var(--radius-control);width:44px;min-width:44px;height:44px;color:var(--muted);justify-content:center;align-items:center;gap:4px;display:inline-flex}.text-button{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--gray-200);text-decoration-color:var(--gray-200);text-underline-offset:3px;justify-content:flex-start;align-items:center;gap:6px;padding:8px 0;font-size:13px;font-weight:500;display:inline-flex}.danger-text{color:var(--error)}.button-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.eyebrow{letter-spacing:.025em;color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.muted,.field-hint{color:var(--muted)}.busy{justify-content:center;align-items:center;gap:var(--space-2);font-size:13px;display:inline-flex}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-control);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.notice>svg{margin-top:1px}.notice .text-button{min-height:36px;display:flex}.notice.error{background:var(--error-bg);color:var(--error);border:1px solid #a6373226}.notice.success{background:var(--surface-subtle);border:1px solid var(--border)}.brand{text-align:left;align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid var(--text);border-radius:var(--radius-control);place-items:center;width:44px;height:44px;display:grid}.brand strong{letter-spacing:-.05em;overflow-wrap:anywhere;max-width:200px;font-size:23px;font-weight:600;line-height:1.2;display:block}.brand-caption{color:var(--muted);margin-top:4px;font-size:11px;display:block}.brand-small{gap:10px}.brand-small .brand-mark{border:0;width:30px;height:36px}.brand-small strong{font-size:20px}.brand-small .brand-caption{font-size:10px}.brand-home{text-align:left;padding:0}.avatar{border:1px solid var(--border);background:var(--canvas);border-radius:50%;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:12px;font-weight:500;display:inline-flex}.skip-link{z-index:var(--z-toast);background:var(--text);color:var(--white);padding:12px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.app-shell{min-height:100dvh;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--canvas);flex-direction:column;width:220px;padding:32px 20px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-property{color:var(--muted);align-items:center;gap:8px;margin:30px 0 24px;font-size:11px;display:flex}.property-dot{background:var(--gray-500);border-radius:50%;width:5px;height:5px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav button{border-radius:var(--radius-control);text-align:left;min-height:46px;color:var(--muted);align-items:center;gap:12px;padding:12px;font-size:14px;display:flex}.sidebar nav button.active{background:var(--gray-100);color:var(--text);font-weight:600}.nav-count{border:1px solid var(--border);border-radius:4px;place-items:center;min-width:20px;height:19px;margin-left:auto;font-size:11px;display:grid}.sidebar-bottom{margin-top:auto}.workspace-note{color:var(--gray-500);padding:24px 10px;font-size:11px;line-height:1.6;display:block}.sidebar-account{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:16px;display:flex}.sidebar-account>div{flex:1;min-width:0}.sidebar-account strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.sidebar-account small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.sidebar-account .icon-button{width:36px;min-width:36px}.main-shell{width:calc(100% - 220px);min-width:0;margin-left:220px}.workspace-topline{border-bottom:1px solid var(--border);height:60px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 32px;font-size:11px;display:flex}.topline-slash{color:var(--gray-500);padding:0 12px;display:inline-block}.workspace-topline .text-button{color:var(--muted);font-size:11px;text-decoration:none}.mobile-header,.bottom-nav{display:none}#main-content{outline:0}.page-content,.calendar-page{max-width:1720px;margin:0 auto;padding:32px}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:32px;display:flex}.page-heading .eyebrow{margin-bottom:8px}.page-heading p{color:var(--muted);margin-top:8px;font-size:13px}.page-heading>.button{flex-shrink:0}.calendar-workspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:28px;display:grid}.calendar-sheet{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-panel);overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:80px;padding:16px 20px;display:flex}.month-navigation{align-items:center;gap:16px;min-width:0;display:flex}.month-navigation h2{white-space:nowrap;letter-spacing:-.035em;font-size:20px;font-weight:500}.calendar-arrows{gap:0;display:flex}.calendar-arrows .icon-button{width:44px;min-width:44px}.today-button{min-height:36px;padding:8px 12px;font-size:12px}.calendar-weekdays{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{color:var(--muted);text-align:right;padding:12px;font-size:11px}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week+.calendar-week{border-top:1px solid var(--border)}.calendar-cell{min-width:0}.calendar-cell+.calendar-cell{border-left:1px solid var(--border)}.day-cell{text-align:left;font-variant-numeric:tabular-nums;border-radius:0;flex-direction:column;width:100%;height:108px;padding:9px 6px 7px;display:flex;position:relative;overflow:hidden}.day-cell.selected{background:var(--cream);box-shadow:inset 0 0 0 1.5px var(--text);z-index:1}.day-cell.other-month{color:var(--gray-500);background:var(--cream)}.day-cell.other-month .day-bookings,.day-cell.other-month .day-availability{opacity:.6}.day-cell.selected.other-month{color:var(--text)}.day-top{align-items:center;gap:4px;min-height:24px;display:flex}.day-number{place-items:center;width:24px;height:24px;margin-left:auto;font-size:12px;display:grid}.current-day .day-number{background:var(--text);color:var(--white);border-radius:50%}.today-label{color:var(--muted);order:-1;font-size:9px}.day-bookings{flex-direction:column;gap:3px;width:100%;margin-top:4px;display:flex}.calendar-booking{background:var(--gray-100);white-space:nowrap;text-overflow:ellipsis;min-height:19px;color:var(--text);border:1px solid #0000;border-radius:3px;align-items:center;gap:4px;padding:2px 4px;font-size:10px;display:flex;overflow:hidden}.calendar-booking.pending{background:var(--surface);border:1px dashed var(--gray-500)}.calendar-booking i{background:var(--text);border-radius:50%;flex-shrink:0;width:4px;height:4px;display:block}.calendar-booking.pending i{border:1px solid var(--text);background:0 0;width:5px;height:5px}.calendar-booking small{font-size:inherit}.more-bookings{color:var(--muted);padding-left:4px;font-size:9px}.day-availability{color:var(--muted);margin-top:auto;padding:3px 4px 0;font-size:9px}.day-availability.full{color:var(--text);font-weight:600}.mobile-availability{display:none}.calendar-legend{border-top:1px solid var(--border);min-height:44px;color:var(--muted);align-items:center;gap:16px;padding:10px 16px;font-size:10px;display:flex}.calendar-legend>span{align-items:center;gap:5px;display:inline-flex}.legend-dot{background:var(--text);border-radius:50%;width:6px;height:6px;display:inline-block}.legend-dot.pending{border:1px solid var(--text);background:0 0}.calendar-legend .calendar-help{color:var(--gray-500);margin-left:auto}.day-inspector{min-width:0;padding-top:4px}.inspector-date{border-bottom:1px solid var(--border);padding-bottom:22px;position:relative}.inspector-date h2{letter-spacing:-.04em;margin-top:8px;font-size:24px;font-weight:500}.inspector-date h2>span{color:var(--gray-500);letter-spacing:0;margin-top:5px;font-size:13px;font-weight:400;display:block}.inspector-day-controls{display:flex;position:absolute;top:-8px;right:-8px}.inspector-day-controls .icon-button{width:44px;min-width:44px}.day-availability-summary{margin:24px 0 28px}.availability-title{align-items:baseline;gap:8px;display:flex}.availability-title>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:27px;font-weight:500}.availability-title strong>span{color:var(--gray-500);font-size:16px;font-weight:400}.availability-title>span{color:var(--muted);font-size:12px}.availability-title>svg{color:var(--gray-500);align-self:center;margin-left:auto}.availability-track{gap:4px;margin:12px 0 10px;display:flex}.availability-track>span{background:var(--gray-200);border-radius:2px;flex:1;height:4px}.availability-track>span.occupied{background:var(--text)}.day-availability-summary p{color:var(--muted);font-size:11px;line-height:1.7}.room-type-availability{gap:7px;margin:12px 0;display:grid}.room-type-availability>div{justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.room-type-availability>div>span{color:var(--muted)}.room-type-availability strong{font-variant-numeric:tabular-nums;font-weight:500}.room-type-availability strong>span{color:var(--muted);font-size:10px;font-weight:400}.day-availability-summary .text-button{min-height:40px;margin-top:3px;font-size:11px}.agenda-group{margin-top:24px}.agenda-group h3{border-bottom:1px solid var(--border);align-items:center;gap:7px;padding-bottom:10px;font-size:12px;font-weight:500;display:flex}.agenda-group h3 span{color:var(--muted);margin-left:auto;font-size:11px;font-weight:400}.agenda-booking{text-align:left;border-bottom:1px solid var(--border);flex-direction:column;width:100%;min-height:104px;padding:16px 0;display:flex}.agenda-booking-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.agenda-booking-top strong{font-size:13px}.agenda-booking-top svg{color:var(--gray-500)}.agenda-booking>span:nth-child(2){color:var(--muted);margin-top:7px;font-size:10px;line-height:1.5}.agenda-booking-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:11px;display:flex}.agenda-booking-bottom>small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.status{white-space:nowrap;align-items:center;gap:5px;font-size:10px;line-height:1.3;display:inline-flex}.status>span{background:var(--text);border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-pending>span{border:1px solid var(--text);background:0 0;width:6px;height:6px}.status-cancelled{color:var(--gray-500)}.status-cancelled>span{background:var(--gray-500);border-radius:0;width:6px;height:1px}.inspector-note{border-top:1px solid var(--border);color:var(--gray-500);margin-top:28px;padding-top:16px;font-size:10px;line-height:1.6}.empty{text-align:center;max-width:500px;margin:0 auto;padding:48px 24px}.empty-line{background:var(--gray-500);width:24px;height:1px;margin:0 auto 16px;display:block}.empty h3{font-size:16px;font-weight:500}.empty p{color:var(--muted);margin-top:8px;font-size:13px}.empty .button{margin-top:20px}.day-agenda .empty{padding:36px 12px}.day-agenda .empty h3{font-size:14px}.day-agenda .empty p{font-size:11px}.bookings-toolbar{align-items:center;gap:12px;margin-bottom:24px;display:flex}.search-field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;gap:10px;width:100%;max-width:500px;min-height:46px;padding-left:12px;display:flex}.search-field svg{color:var(--gray-500)}.search-field input{background:0 0;border:0;min-height:44px;padding:10px 12px 10px 0;font-size:13px}.search-field:focus-within{outline:2px solid var(--text);outline-offset:2px}.search-field input:focus-visible{outline:0}.export-button{margin-left:auto;font-size:12px}.booking-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.booking-filters button{min-height:46px;color:var(--muted);padding:10px 14px;font-size:12px;position:relative}.booking-filters button[aria-pressed=true]{color:var(--text);font-weight:600}.booking-filters button[aria-pressed=true]:after{content:"";background:var(--text);height:2px;position:absolute;inset:auto 12px -1px}.booking-filters button>span{background:var(--gray-100);border-radius:4px;place-items:center;min-width:18px;height:18px;margin-left:6px;font-size:10px;display:inline-grid}.list-summary{color:var(--muted);overflow-wrap:anywhere;padding:20px 0 12px;font-size:11px}.booking-table{border-top:1px solid var(--border)}.booking-table-head,.booking-table-row{grid-template-columns:minmax(150px,1.5fr) minmax(130px,1.15fr) minmax(100px,1fr) 100px 90px 20px;align-items:center;gap:14px;display:grid}.booking-table-head{color:var(--muted);border-bottom:1px solid var(--border);padding:12px 16px;font-size:10px}.booking-table-row{text-align:left;border-bottom:1px solid var(--border);background:var(--surface);width:100%;padding:20px 16px;font-size:12px}.booking-table-row>span{min-width:0}.guest-cell{align-items:center;gap:12px;display:flex}.guest-cell>span:last-child{min-width:0}.booking-table-row strong{overflow-wrap:anywhere;font-weight:500;line-height:1.5;display:block}.booking-table-row small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.rooms-cell{color:var(--muted);font-size:11px;line-height:1.5}.balance-cell{font-variant-numeric:tabular-nums;text-align:right}.booking-table-head>span:nth-last-child(2){text-align:right}.row-chevron{color:var(--gray-500)}.load-more{margin:24px auto;display:flex}.room-list{border-top:1px solid var(--border)}.room-row{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:20px;padding:24px 16px;display:flex}.room-illustration{width:64px;height:64px;color:var(--muted);background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-control);place-items:center;display:grid}.room-main{flex:1;min-width:0}.room-main h2{font-size:17px}.room-main>span:not(.status){color:var(--muted);margin-top:7px;font-size:12px;display:block}.room-main>.status{margin-top:8px}.room-inactive{background:var(--canvas)}.room-rate{text-align:right;margin-left:auto}.room-rate strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:500;display:block}.room-rate>span{color:var(--muted);margin-top:6px;font-size:11px;display:block}.quiet-note{color:var(--muted);margin-top:20px;font-size:12px;line-height:1.65}.settings-page{max-width:1200px}.settings-tabs{border-bottom:1px solid var(--border);gap:24px;margin-bottom:32px;display:flex}.settings-tabs button{min-height:46px;color:var(--muted);padding:10px 0;font-size:13px;position:relative}.settings-tabs button[aria-selected=true]{color:var(--text);font-weight:600}.settings-tabs button[aria-selected=true]:after{content:"";background:var(--text);height:2px;position:absolute;inset:auto 0 -1px}.settings-content{max-width:580px}.section-heading{margin-bottom:24px}.section-heading>p{color:var(--muted);margin-top:6px;font-size:13px}.section-heading.inline{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-heading.inline .text-button{font-size:12px}.settings-section{border-top:1px solid var(--border);margin-top:32px;padding-top:28px}.settings-section h2{margin-bottom:20px;font-size:17px}.account-summary{align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.account-summary .avatar{width:48px;height:48px}.account-summary h2{font-size:18px}.account-summary p{margin:5px 0;font-size:13px}.account-summary .muted{font-size:12px}.staff-list{margin-bottom:28px}.staff-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px 0;display:flex}.staff-row>div{min-width:0}.staff-row strong{font-size:13px;display:block}.staff-row span:not(.avatar),.staff-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.staff-row .text-button{white-space:nowrap;margin-left:auto;font-size:11px}.staff-identity{flex:1}.staff-row .staff-actions{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:flex}.staff-row .staff-actions .text-button{margin-left:0}.credentials-panel{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);padding:20px}.credentials-panel p{color:var(--muted);margin:8px 0 20px;font-size:13px}.credentials-panel dl{margin:0 0 16px}.credentials-panel dt{color:var(--muted);margin-top:16px;font-size:11px}.credentials-panel dd{overflow-wrap:anywhere;margin:6px 0;font-size:14px}.credentials-panel code{-webkit-user-select:all;user-select:all;font-size:16px}.modal{border:1px solid var(--border);border-radius:var(--radius-dialog);background:var(--surface);width:min(560px,100% - 40px);max-height:min(90dvh,940px);color:var(--text);box-shadow:var(--shadow-float);overscroll-behavior:contain;margin:auto;padding:0;overflow:hidden}.modal-wide{width:min(640px,100% - 40px)}.modal::backdrop{background:#17171561}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 20px;display:flex}.modal-header>div{min-width:0}.modal-header h2{overflow-wrap:anywhere;font-size:24px;font-weight:500}.modal-header p{color:var(--muted);margin-top:5px;font-size:12px}.modal-header .icon-button{margin:-8px -8px 0 0}.modal-body{overscroll-behavior:contain;max-height:calc(90dvh - 180px);padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.modal-footer .step-count{color:var(--gray-500);font-size:11px}.booking-form .modal-body{min-height:300px;max-height:calc(90dvh - 244px)}.form-progress{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);min-height:64px;padding:0 24px;display:grid}.form-progress button{text-align:left;color:var(--gray-500);align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex}.form-progress button>span{border:1px solid var(--border);border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.form-progress button.active{color:var(--text);font-weight:600}.form-progress button.active>span,.form-progress button.complete>span{color:var(--white);background:var(--text);border-color:var(--text)}.form-progress button.complete{color:var(--muted)}.form-stack{gap:20px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-label{font-size:13px;font-weight:500;line-height:1.4}.field-hint{font-size:12px;line-height:1.5}.field-error{color:var(--error);font-size:12px;line-height:1.5}.paired-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.stay-length{color:var(--muted);margin:10px 0 24px;font-size:12px}.number-stepper{border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;width:160px;display:flex}.number-stepper input{text-align:center;appearance:textfield;border:0;padding:8px}.number-stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.room-fieldset{margin-top:28px}.room-fieldset legend,.plain-fieldset legend{margin-bottom:8px;font-size:13px;font-weight:500}.room-fieldset>.field-hint{margin-bottom:16px}.room-choices{gap:8px;margin-top:16px;display:grid}.room-choice{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;align-items:center;gap:12px;min-height:80px;padding:16px 12px;display:flex}.room-choice.selected{border-color:var(--text);background:var(--canvas)}.room-choice.unavailable:not(.selected){background:var(--canvas);color:var(--muted);cursor:default}.room-choice.unavailable:not(.selected)>svg{opacity:.6}.room-choice>span{min-width:0}.room-choice strong{font-size:13px;line-height:1.5;display:block}.room-choice small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5;display:block}.room-choice-end{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;margin-left:auto;display:flex}.room-choice-end>svg{display:none}.selection-note{color:var(--muted);margin-top:12px;font-size:12px}.review-summary{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:24px;display:flex}.review-summary>div{flex:1}.review-summary strong{margin-bottom:8px;font-size:16px;display:block}.review-summary span{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5;display:block}.review-summary .text-button{min-height:32px;padding-top:0;font-size:11px}.plain-fieldset{margin-bottom:24px}.radio-choices{gap:8px;display:grid}.radio-choices>label{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;display:flex}.radio-choices input{margin-top:2px}.radio-choices strong{font-size:13px;font-weight:500;display:block}.radio-choices small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.radio-choices>label:has(input:checked){border-color:var(--text);background:var(--canvas)}.balance-line{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding-top:16px;font-size:13px;display:flex}.balance-line strong{font-variant-numeric:tabular-nums}.checkbox-field{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;margin-top:8px;display:flex}.checkbox-field input{margin-top:2px}.checkbox-field strong{font-size:13px;font-weight:500;display:block}.checkbox-field small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5;display:block}.discard-prompt{border:1px solid var(--border);background:var(--canvas);border-radius:var(--radius-control);margin-bottom:24px;padding:16px}.discard-prompt>p{margin-bottom:12px;font-size:13px}.detail-status-row{justify-content:space-between;align-items:center;margin-top:-8px;margin-bottom:20px;display:flex}.detail-status-row .status{font-size:12px}.detail-stay{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:20px 0;display:flex}.detail-stay>div{flex:1}.detail-stay>div:last-child{text-align:right}.detail-stay>div>span{color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.detail-stay strong{letter-spacing:-.03em;font-size:19px;font-weight:500;display:block}.detail-stay small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.nights-label{color:var(--gray-500);white-space:nowrap;font-size:10px}.detail-meta{gap:16px;margin:24px 0 32px;display:grid}.detail-meta>div{overflow-wrap:anywhere;align-items:center;gap:12px;font-size:13px;line-height:1.6;display:flex}.detail-meta svg{color:var(--muted)}.detail-meta a{align-items:center;min-height:32px;display:inline-flex}.payment-section{border-top:1px solid var(--border);padding-top:20px}.money-summary{margin:0;font-size:13px}.money-summary>div{justify-content:space-between;gap:16px;padding:7px 0;display:flex}.money-summary dt{color:var(--muted)}.money-summary dd{font-variant-numeric:tabular-nums;margin:0}.money-summary .total{border-top:1px solid var(--border);margin-top:8px;padding-top:16px;font-weight:600}.money-summary .total dt{color:var(--text)}.booking-notes{margin-top:28px}.booking-notes h3{font-size:13px}.booking-notes p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:13px}.small-meta{border-top:1px solid var(--border);margin:28px 0;padding-top:20px;font-size:11px}.small-meta>div{justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.small-meta dt{color:var(--muted)}.small-meta dd{margin:0}.action-panel{border:1px solid var(--border);background:var(--canvas);border-radius:var(--radius-panel);margin:24px 0;padding:20px}.action-panel h3{font-size:15px}.action-panel p{color:var(--muted);margin:8px 0 16px;font-size:12px}.action-panel .field{margin:20px 0}.action-panel .button-row{margin-top:16px}.action-panel .button{font-size:12px}.danger-panel{background:var(--surface)}.cancel-booking{margin-top:12px}.connection-banner{background:var(--amber-50);color:var(--amber-700);justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:12px;line-height:1.5;display:flex}.connection-banner.error{background:var(--error-bg);color:var(--error)}.connection-banner .text-button{min-height:24px;padding:0}.main-shell>.notice{margin:16px 32px 0}.toast{background:var(--text);color:var(--white);box-shadow:var(--shadow-float);border-radius:var(--radius-control);min-height:48px;z-index:var(--z-toast);align-items:center;gap:10px;max-width:calc(100% - 32px);padding:4px 8px 4px 16px;font-size:13px;display:flex;position:fixed;bottom:24px;left:calc(50% + 110px);transform:translate(-50%)}.toast .icon-button{color:var(--white)}.loading-page{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:32px;display:flex}.loading-page .notice{max-width:440px}.auth-page{background:var(--canvas);flex-direction:column;min-height:100dvh;display:flex}.auth-top{padding:40px 48px}.auth-content{width:100%;max-width:396px;margin:auto;padding:40px 0 100px}.auth-content h1{letter-spacing:-.045em;margin-top:20px;font-size:34px;font-weight:500;line-height:1.2}.auth-intro{color:var(--muted);margin:12px 0 32px;font-size:14px}.auth-content .form-stack{gap:24px}.auth-content .field-label{font-size:13px}.auth-content>.eyebrow{color:var(--muted)}.label-row{justify-content:space-between;align-items:center;margin:-4px 0 7px;display:flex}.label-row .text-button{min-height:28px;padding:4px 0;font-size:11px}.password-input{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-control);align-items:center;width:100%;display:flex}.password-input input{background:0 0;border:0;padding-right:4px}.password-input:focus-within{outline:2px solid var(--focus);outline-offset:3px}.password-input input:focus-visible{outline:0}.password-input .icon-button{width:46px;min-width:46px}.auth-content .button.primary{min-height:48px;margin-top:4px}.auth-content .button.primary:not(:has(.busy)){justify-content:space-between}.auth-note{border-top:1px solid var(--border);color:var(--muted);margin-top:28px;padding-top:24px;font-size:11px}.auth-footer{color:var(--gray-500);padding:20px 48px;font-size:11px}.auth-back{margin-top:20px}.pwa-install-compact{margin-top:8px}.pwa-install-compact .text-button{color:var(--muted);font-size:12px}.pwa-install-section>p{color:var(--muted);margin:-8px 0 16px;font-size:13px}.pwa-install-help>p,.pwa-install-help li{font-size:14px;line-height:1.65}.pwa-install-help ol{margin:0;padding-left:20px}.pwa-install-help li+li{margin-top:16px}.pwa-install-feedback{color:var(--muted);margin-bottom:24px}.pwa-install-fallback{color:var(--muted);margin-top:24px;font-size:12px!important}.pwa-install-connection{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:12px;margin-top:24px;padding-top:20px;display:flex}.pwa-install-connection svg{margin-top:2px}.pwa-install-connection p{font-size:12px;line-height:1.65}.auth-sent .muted{margin:20px 0;font-size:13px}.reset-error{width:min(500px,100% - 32px);position:fixed;top:16px;left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.button.primary:hover{background:var(--button-hover)}.button.secondary:hover,.icon-button:hover{background:var(--gray-100);border-color:var(--gray-500);color:var(--text)}.button.danger:hover{background:#882b27}.text-button:hover{text-decoration-color:currentColor}.sidebar nav button:hover{color:var(--text);background:var(--gray-100)}.day-cell:hover:not(.selected){background:var(--cream);box-shadow:inset 0 0 0 1px var(--gray-500)}.agenda-booking:hover,.booking-table-row:hover{background:var(--gray-100)}.room-choice:hover:not(.unavailable){border-color:var(--gray-500)}.room-choice.selected:hover{border-color:var(--text)}.booking-filters button:hover,.settings-tabs button:hover{color:var(--text)}}.button:active,.icon-button:active{opacity:.78}@media (width>=1600px){.calendar-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:40px}.day-cell{height:124px;padding:10px}.calendar-booking{font-size:11px}.day-availability{font-size:10px}}@media (width<=1250px) and (width>=901px){.sidebar{width:190px;padding-left:16px;padding-right:16px}.main-shell{width:calc(100% - 190px);margin-left:190px}.page-content,.calendar-page{padding:28px 24px}.calendar-workspace{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.day-cell{height:100px;padding:7px 4px}.calendar-toolbar{padding:12px}.month-navigation{gap:4px}.month-navigation h2{font-size:17px}.today-label{display:none}.calendar-help{display:none!important}.booking-table-head,.booking-table-row{grid-template-columns:minmax(120px,1.5fr) minmax(120px,1.1fr) minmax(80px,1fr) 80px 80px 16px;gap:8px;padding-left:8px;padding-right:8px}.guest-cell{gap:8px}.booking-table-row .avatar{display:none}.toast{left:calc(50% + 95px)}}@media (width<=1050px) and (width>=901px){.calendar-workspace{grid-template-columns:minmax(0,1fr)}.day-inspector{grid-template-columns:1fr 1.5fr;gap:0 32px;display:grid}.day-inspector .day-agenda{grid-area:1/2/span 3}.day-inspector .inspector-date,.day-inspector .day-availability-summary{grid-column:1}.day-inspector .inspector-note{grid-column:1/-1}}@media (width<=900px){.sidebar{display:none}.main-shell{width:100%;padding-bottom:calc(80px + env(safe-area-inset-bottom));margin-left:0}.workspace-topline{display:none}.mobile-header{border-bottom:1px solid var(--border);background:var(--canvas);justify-content:space-between;align-items:center;gap:12px;height:68px;padding:0 24px;display:flex}.mobile-account{position:relative}.mobile-account>.icon-button{width:52px}.mobile-account .avatar{width:28px;min-width:28px;height:28px;font-size:11px}.account-menu{width:220px;z-index:var(--z-sticky);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-float);padding:16px;position:absolute;top:46px;right:0}.account-menu strong,.account-menu>span{font-size:13px;display:block}.account-menu>span{color:var(--muted);margin-top:4px;margin-bottom:12px;font-size:11px}.account-menu button{text-align:left;width:100%;min-height:44px;font-size:13px;display:block}.bottom-nav{padding:4px 12px calc(4px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);min-height:68px;z-index:var(--z-sticky);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav button{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:56px;font-size:10px;display:flex}.bottom-nav button.active{color:var(--text);font-weight:600}.bottom-nav button.active>svg{background:var(--gray-100);box-shadow:0 0 0 5px var(--gray-100);border-radius:3px}.page-content,.calendar-page{padding:28px 24px}.page-heading{margin-bottom:28px}.calendar-workspace{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.day-cell{height:90px;padding:6px 4px}.calendar-toolbar{min-height:68px;padding:12px}.month-navigation{gap:4px}.month-navigation h2{font-size:17px}.calendar-help{display:none!important}.day-number{font-size:12px}.today-label{display:none}.calendar-booking{font-size:9px}.day-availability{font-size:8px}.toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom))}.booking-table-head,.booking-table-row{grid-template-columns:minmax(130px,1.5fr) minmax(120px,1.1fr) minmax(80px,1fr) 80px 80px 16px;gap:8px;padding-left:8px;padding-right:8px}.booking-table-row .avatar{display:none}}@media (width<=680px){:root{font-size:16px}.mobile-header{height:64px;padding:0 16px}.brand-small strong{max-width:230px;font-size:19px}.brand-small .brand-caption{font-size:9px}.page-content,.calendar-page{padding:24px 16px}.page-heading{align-items:center;gap:12px;margin-bottom:24px}h1{font-size:30px}.page-heading .eyebrow{margin-bottom:6px;font-size:10px}.page-heading p{margin-top:6px;font-size:11px}.page-heading>.button{gap:6px;min-height:44px;padding:10px 12px;font-size:12px}.page-heading>.button svg{width:15px}.calendar-page{padding-top:20px}.calendar-heading{margin-bottom:20px}.calendar-heading .eyebrow,.calendar-heading p{display:none}.calendar-workspace{grid-template-columns:minmax(0,1fr);gap:24px}.calendar-toolbar{min-height:64px;padding:10px 12px}.month-navigation{gap:8px}.month-navigation h2{font-size:17px}.calendar-arrows .icon-button{width:44px;min-width:44px}.today-button{min-height:44px;padding:8px 12px;font-size:11px}.calendar-weekdays span{text-align:center;padding:10px 0;font-size:10px}.day-cell{align-items:center;height:48px;min-height:44px;padding:3px 2px}.day-top{width:100%;min-height:24px}.day-number{width:25px;height:25px;margin:0 auto;font-size:12px}.day-bookings,.desktop-availability{display:none}.day-availability{text-align:center;width:100%;height:16px;padding:0;font-size:8px}.mobile-availability{align-items:center;gap:3px;display:inline-flex}.mobile-booked-dot{background:var(--text);border-radius:50%;width:3px;height:3px}.day-cell.selected{background:var(--text);box-shadow:none;color:var(--white)}.day-cell.selected .day-number,.day-cell.selected .day-availability{color:var(--white)}.day-cell.selected .mobile-booked-dot{background:var(--white)}.current-day:not(.selected) .day-number{color:var(--text);background:var(--gray-100);box-shadow:inset 0 0 0 1px var(--text)}.calendar-legend{gap:16px;min-height:36px;padding:8px 12px;font-size:9px}.calendar-legend .calendar-help{font-size:8px;display:inline-flex!important}.day-inspector{padding:0 4px}.inspector-date{padding-bottom:16px}.inspector-date .eyebrow{font-size:11px}.inspector-date h2{align-items:baseline;gap:8px;margin-top:6px;font-size:24px;display:flex}.inspector-date h2>span{margin-top:0;font-size:13px;display:inline}.inspector-day-controls{top:8px;right:-4px}.inspector-day-controls .icon-button{width:44px;min-width:44px}.day-availability-summary{margin:20px 0}.availability-title>strong{font-size:26px}.availability-title>span{font-size:12px}.availability-track{margin:12px 0}.day-availability-summary p{font-size:11px}.day-availability-summary .text-button{min-height:44px;font-size:12px}.agenda-group{margin-top:20px}.agenda-group h3{font-size:13px}.agenda-booking{min-height:100px;padding:16px 0}.agenda-booking-top strong{font-size:15px}.agenda-booking>span:nth-child(2){font-size:12px}.agenda-booking-bottom{margin-top:12px}.agenda-booking-bottom .status,.agenda-booking-bottom>small{font-size:11px}.inspector-note{font-size:10px}.bookings-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:16px}.search-field{max-width:none}.search-field input{font-size:16px}.search-field input::placeholder{font-size:12px}.export-button{min-height:40px;padding:8px 12px;font-size:11px}.booking-filters{justify-content:space-between;gap:0}.booking-filters button{padding:10px 8px;font-size:10px}.booking-filters button>span{min-width:15px;height:15px;margin-left:3px;font-size:9px}.booking-filters button[aria-pressed=true]:after{left:7px;right:7px}.booking-table-head{display:none}.booking-table-row{grid-template-columns:minmax(0,1fr) 85px 16px;gap:10px 8px;padding:20px 12px;display:grid}.guest-cell{grid-area:1/1/auto/3}.booking-table-row .avatar{display:inline-flex}.guest-cell>span:last-child strong{font-size:14px}.booking-table-row .stay-cell{grid-area:2/1}.stay-cell strong{font-size:11px}.booking-table-row .rooms-cell{grid-area:3/1;font-size:10px}.booking-table-row .status-cell{text-align:right;grid-area:2/2}.booking-table-row .balance-cell{grid-area:3/2}.balance-cell strong{font-size:12px}.balance-cell>small{font-size:9px}.row-chevron{grid-area:1/3/span 3}.room-row{gap:12px;padding:20px 8px}.room-illustration{background:0 0;border:0;flex-shrink:0;width:40px;height:48px}.room-illustration svg{width:28px}.room-main h2{font-size:14px}.room-main>span:not(.status){margin-top:5px;font-size:10px;line-height:1.5}.room-rate strong{font-size:13px}.room-rate>span{font-size:9px}.room-row>.icon-button{width:44px;min-width:44px}.quiet-note{margin-top:16px;font-size:11px}.settings-tabs{gap:24px;margin-bottom:24px}.settings-tabs button{font-size:12px}.settings-section h2,.section-heading h2{font-size:18px}.staff-row{flex-wrap:wrap;gap:10px}.staff-row .text-button{font-size:10px}.staff-row>div{flex:1}.staff-row .staff-actions{flex-grow:0;flex-basis:calc(100% - 48px);margin-left:48px}.modal,.modal-wide{width:100%;max-width:100%;height:100dvh;max-height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0}.modal-header{min-height:90px;padding:20px 20px 16px}.modal-header h2{font-size:24px}.modal-header p{font-size:11px}.modal-body{max-height:calc(100dvh - 166px - env(safe-area-inset-bottom));padding:20px}.modal-footer{min-height:76px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));width:100%;position:absolute;bottom:0}.booking-form .modal-body{max-height:calc(100dvh - 230px - env(safe-area-inset-bottom));min-height:0}.form-progress{padding:0 20px}.modal-footer .button{min-height:44px;font-size:13px}.form-stack{gap:20px}.field-label{font-size:13px}.field-hint{font-size:11px}.section-heading>p{font-size:12px}.paired-fields{gap:12px}.room-choice{gap:10px;padding:14px 10px}.room-choice>svg{width:20px}.room-choice strong{font-size:12px}.room-choice small{font-size:9px}.room-choice-end strong{font-size:11px}.detail-stay strong{font-size:18px}.details-body{padding-top:20px}.detail-meta>div{min-height:32px}.action-panel{padding:16px}.action-panel .button{padding-left:12px;padding-right:12px;font-size:11px}.toast{width:max-content;max-width:calc(100% - 32px);font-size:12px}.connection-banner{justify-content:flex-start;align-items:flex-start;padding:12px 16px;font-size:11px}.main-shell>.notice{margin:16px}.auth-top{padding:28px 24px}.auth-top .brand strong{font-size:22px}.auth-content{max-width:444px;padding:40px 24px 80px}.auth-content h1{font-size:32px}.auth-footer{padding:20px 24px}}@media (width<=370px){.calendar-page{padding-inline:5px}.calendar-heading{margin-inline:11px}.day-inspector{padding-inline:11px}.calendar-toolbar{padding-left:8px;padding-right:8px}.month-navigation{gap:0}.month-navigation h2{font-size:15px}.month-navigation .icon-button{width:44px;min-width:44px}.calendar-legend .calendar-help{display:none!important}.page-heading>.button{padding:10px;font-size:11px}.booking-filters button{padding-left:5px;padding-right:5px;font-size:9px}.room-row{gap:8px}.room-illustration,.room-choice>svg{display:none}.paired-fields{gap:8px}.paired-fields input{padding:10px 8px;font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sidebar,.workspace-topline,.mobile-header,.bottom-nav,.page-heading>.button,.button,.toast,.calendar-arrows{display:none!important}.main-shell{width:100%;margin:0}.calendar-workspace{display:block}.day-inspector{display:none}.calendar-page,.page-content{padding:0}}
