:root{font-family:Segoe UI,system-ui,sans-serif;color-scheme:light dark;--bg: light-dark(#f4f7f5, #19201d);--surface: light-dark(#fff, #242d28);--text: light-dark(#1b2923, #e5ece7);--muted: light-dark(#566b60, #afc1b5);--border: light-dark(#dce4df, #415047);--accent: light-dark(#355b49, #8aba9e);--on: light-dark(#fff, #14251b);--soft: light-dark(#e9f0ec, #33483b);--red: light-dark(#a33232, #ffaca5);--weekend: light-dark(#f0f3f1, #202b24);background:var(--bg);color:var(--text);font-size:14px}.app[hidden]{display:none}.session-warning{position:fixed;top:80px;right:20px;z-index:10000;width:min(440px,calc(100vw - 40px));display:grid;gap:10px;padding:20px;background:var(--surface);color:var(--text);border:2px solid var(--accent);border-radius:12px;box-shadow:0 5px 24px #0004}*{box-sizing:border-box}body{margin:0}.undo-control{position:relative;display:inline-flex}.undo-message{position:absolute;top:100%;right:0;margin-top:6px;padding:10px;width:min(360px,85vw);background:var(--surface);border:1px solid var(--border);border-radius:6px;z-index:100;box-shadow:0 4px 16px #0002}.undo-message button{padding:2px 8px;margin-left:8px}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface);padding:9px 14px;border-radius:6px;cursor:pointer;white-space:normal}button:hover{background:var(--soft)}button:disabled{opacity:.55;cursor:default}.column-sort{border:0;border-radius:3px;padding:3px 0;background:transparent;color:inherit;font-weight:inherit;text-align:left}.column-sort span{white-space:nowrap;color:var(--muted)}th[aria-sort=ascending] .column-sort,th[aria-sort=descending] .column-sort{color:var(--accent)}.resource-toggle{padding:5px 0;border:0;background:transparent;color:var(--accent);font-weight:600}button.primary{background:var(--button, var(--accent));color:var(--button-text, var(--on));border-color:var(--button, var(--accent))}button.quiet{background:transparent}.link{border:0;color:var(--accent);padding:0;background:none;text-decoration:underline;text-align:left}a{color:var(--accent)}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:5px;padding:9px 10px;background:var(--surface)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}h1{font-size:22px;font-weight:500;margin:0 0 6px}h2{font-size:17px;font-weight:500;margin:0 0 16px}h3{font-size:14px;font-weight:500;margin:24px 0 10px}p{line-height:1.55}strong{font-weight:600}small,.muted{color:var(--muted)}small{display:block;margin-top:4px;font-size:12px}.app{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto 1fr auto;background:var(--bg);min-height:100vh}.app>header,.app>footer{grid-column:1 / -1}.app>main{grid-column:2;grid-row:2;padding:22px 24px}.main-sidebar{grid-column:1;grid-row:2;position:sticky;top:0;align-self:start;display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px;max-height:100vh;overflow-y:auto;padding:16px 10px;border-right:1px solid var(--border);border-bottom:0;background:var(--sidebar, var(--surface))}.main-sidebar button{width:100%;min-height:42px;padding:10px 12px;text-align:left;color:var(--sidebar-text, var(--text));background:transparent;border:1px solid transparent}.main-sidebar button[aria-current=page]{background:var(--button, var(--accent));color:var(--button-text, var(--on));font-weight:600}.main-sidebar button:hover:not([aria-current=page]){background:var(--sidebar-hover, var(--soft))}.appearance-dialog fieldset{border:0;padding:0;margin:20px 0}.appearance-dialog legend{margin-bottom:12px;font-weight:600}.appearance-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.appearance-presets button{display:flex;align-items:center;gap:10px;min-height:48px}.appearance-presets button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.appearance-swatch{width:24px;height:24px;border:6px solid;border-radius:50%;flex-shrink:0}.appearance-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.appearance-colors label{display:flex;flex-direction:column;gap:8px}.appearance-colors input[type=color]{height:48px;padding:4px;cursor:pointer}.header-actions{display:flex;gap:8px;flex-wrap:wrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.feedback:empty{display:none}@media(max-width:600px){.appearance-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-colors{grid-template-columns:1fr}}.main-sidebar button:last-child:not(:first-child){margin-top:16px;border-color:var(--border)}.master-data-heading h1{margin-bottom:18px}.master-tabs{flex-wrap:wrap}@media(max-width:850px){.app{grid-template-columns:150px minmax(0,1fr)}.app>main{padding:18px 14px}}@media(max-width:580px){.app{grid-template-columns:112px minmax(0,1fr)}.main-sidebar{padding:10px 5px}.main-sidebar button{padding:9px 6px;font-size:12px;overflow-wrap:anywhere}.app>main{padding:14px 10px}}header{display:flex;align-items:center;gap:28px;padding:20px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-size:24px;display:flex;align-items:center;gap:12px;font-weight:500;letter-spacing:-1px}.monogram{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;background:var(--accent);color:var(--on);font-family:Georgia,serif;font-size:32px}.organisation{border-left:1px solid var(--border);padding-left:18px;font-size:12px;color:var(--muted)}.badge{display:inline-block;background:var(--soft);padding:4px 8px;font-size:11px;border-radius:4px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.settings-menu{position:relative}.settings-menu summary{display:flex;align-items:center;justify-content:center;width:40px;height:38px;border:1px solid var(--border);border-radius:6px;cursor:pointer;list-style:none}.settings-menu summary::-webkit-details-marker{display:none}.settings-menu summary.selected,.settings-menu[open] summary{color:var(--accent);background:var(--soft)}.settings-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:230px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0003}.settings-panel strong{display:block;padding:8px 10px;color:var(--muted);font-size:12px}.settings-panel button{display:block;width:100%;text-align:left;border:0;background:transparent}.settings-panel button:hover,.settings-panel button[aria-current=page]{color:var(--accent);background:var(--soft)}nav{display:flex;gap:6px;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 24px}nav button{border:0;background:transparent;padding:10px 14px;color:var(--muted)}nav button[aria-current=page]{background:var(--soft);color:var(--accent)}main{padding:26px 28px;min-width:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.heading p{margin:0}.heading.compact{margin-bottom:12px}.heading.compact h2{margin:0}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.control-toolbar{align-items:flex-end;gap:12px}.control-toolbar>.field{max-width:100%;margin:0}.control-toolbar input:not([type=checkbox]),.control-toolbar select{height:44px}.control-toolbar button,.control-toolbar .pdf-button,.control-toolbar>.check{min-height:44px;margin-block:0;display:inline-flex;align-items:center;justify-content:center}.control-toolbar .pdf-button{font-size:inherit}.control-toolbar>.pdf-actions{gap:12px;max-width:100%}.maintenance-group-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:6px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:22px;margin:16px 0}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.editor-grid>.panel{margin-top:0}aside>.panel:first-child{margin-top:0}.form-grid,.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:12px;color:var(--muted)}.inline{display:flex;align-items:center;gap:12px;max-width:300px}.check{display:flex;align-items:center;gap:9px;padding:8px 0;min-height:36px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tabs button{border:0;background:transparent}.meal-plan{margin:14px 0 22px}.meal-quantities{display:flex;gap:12px}.meal-quantities label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.meal-quantities input{width:88px}.simple-meals td{min-width:150px}.meal-table small{display:block;margin-top:6px;color:var(--muted)}.extra-controls{align-items:end;margin-bottom:18px}.extra-controls .field{min-width:180px}.room-billing-table select{min-width:220px}.room-billing-table small{display:block;margin-top:6px}.document-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}@media(min-width:800px){.meal-plan .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:799px){.document-text-grid{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:8px}.feedback:empty,.error:empty,.success:empty{display:none}.feedback{padding:12px;background:var(--soft);border-radius:6px}.error{color:var(--red);line-height:1.5}.success{color:var(--accent)}.amount{font-size:28px}.empty{text-align:center;padding:30px;color:var(--muted)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-weight:500;color:var(--muted);font-size:12px}td,th{padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}td input[type=number]{min-width:100px;max-width:130px}td small{max-width:350px}.history{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--border);padding:12px 0}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.room-choice{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:12px 4px}.room-choice>span:nth-child(2){flex:1}.room-choice.unavailable{color:var(--muted)}.room-choice .badge{flex-shrink:0}.guest-row{display:grid;grid-template-columns:24px repeat(3,minmax(120px,1fr));gap:12px;align-items:end;padding:18px 0;border-top:1px solid var(--border)}.guest-number{align-self:start;padding-top:26px}.guest-row .check{font-size:12px}.guest-form-row{display:grid;grid-template-columns:24px repeat(3,minmax(0,1fr));align-items:end;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:16px}.guest-form-row>.muted{grid-column:2/-1}.meal-check{display:flex;align-items:center;gap:8px;min-width:64px}.meal-check span{font-size:12px;color:var(--muted)}.clean-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.clean-grid .panel{margin:16px 0 0}.plan-toolbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.plan-toolbar .inline{font-size:12px}.plan-scroll{overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.plan-grid{min-width:1180px}.calendar-head,.resource-row{display:grid;grid-template-columns:180px 1fr}.calendar-head{background:var(--surface);position:sticky;top:0;z-index:4}.calendar-head>div:first-child{padding:18px;color:var(--muted);font-size:12px}.days{display:grid;grid-template-columns:repeat(14,1fr);height:100%}.days>div{border-left:1px solid var(--border)}.calendar-head .days>div{padding:12px 0;text-align:center;display:flex;flex-direction:column;gap:4px;font-size:12px}.weekend{background:var(--weekend)}.resource-row{height:36px;border-top:1px solid var(--border)}.resource-name{display:flex;flex-direction:column;justify-content:center;padding:3px 14px;background:var(--surface);position:sticky;left:0;z-index:3;border-right:1px solid var(--border)}.resource-name strong{font-weight:500;font-size:12px;line-height:14px}.resource-name span{font-size:11px;line-height:12px;color:var(--muted);margin-top:1px}.resource-group{padding:4px 14px;background:var(--soft);font-size:12px}.resource-days{position:relative;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y}.background-days{position:absolute;inset:0;pointer-events:none}.booking-bar,.drag-bar{position:absolute;top:5px;height:24px;border:0;border-radius:5px;background:var(--accent);color:var(--on);font-size:12px;padding:2px 8px;line-height:20px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}.booking-bar.option{background:light-dark(#8b6839,#c7a573);color:light-dark(#fff,#241808)}.booking-bar.request{background:light-dark(#477b92,#87b7c8);color:light-dark(#fff,#112129)}.drag-bar{opacity:.8;pointer-events:none}.auth{max-width:420px;margin:70px auto;padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.auth h1{margin-top:30px}.auth .field{margin-bottom:18px}.auth form button{width:100%}.modal{position:fixed;top:5vh;left:50%;transform:translate(-50%);width:min(760px,95vw);max-height:90vh;overflow:auto;z-index:10;border:1px solid var(--border);box-shadow:0 12px 80px #0006;border-radius:10px;padding:24px;background:var(--surface);color:var(--text);margin:0}.modal .field{margin-bottom:16px}.modal pre{white-space:pre-wrap;font:inherit;line-height:1.5}footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:16px 28px;color:var(--muted);font-size:11px}.guest-app{max-width:1200px;margin:auto}.guest-app header{flex-wrap:wrap}@media(max-width:850px){.editor-grid{grid-template-columns:1fr}.guest-row{grid-template-columns:24px repeat(2,minmax(0,1fr))}.guest-row .field:last-of-type{grid-column:2/-1}.organisation{display:none}main{padding:20px 16px}header{padding:18px 16px;gap:15px}nav{padding:8px 12px}.guest-form-row{grid-template-columns:20px 1fr}.guest-form-row .field{grid-column:2}.guest-form-row .field:first-of-type{grid-column:2}.guest-form-row>.muted{grid-column:2}.panel{padding:18px}}@media(max-width:480px){.form-grid,.price-grid{grid-template-columns:1fr}.guest-row{grid-template-columns:20px 1fr}.guest-row .field,.guest-row .check,.guest-row>button{grid-column:2}.heading>.actions{width:100%}.heading>.actions>button{flex:1}.brand{font-size:21px}.monogram{width:30px;height:30px}.badge{font-size:10px}header{gap:12px;flex-wrap:wrap}.logout{font-size:12px}.room-grid{grid-template-columns:1fr}nav button{padding:9px 10px;font-size:12px}.auth{margin:25px 12px;padding:24px}.inline{width:100%}.tabs{gap:4px}.tabs button{padding:9px 10px;font-size:12px}footer{padding:14px 16px}.modal{padding:18px}.clean-grid{grid-template-columns:1fr}}@media(pointer:coarse){button{min-height:44px}input:not([type=checkbox]),select,textarea{font-size:16px}.check,.room-choice{min-height:44px}}.pdf-button{display:inline-block;border:1px solid var(--border);border-radius:6px;padding:9px 14px;text-decoration:none;background:var(--surface);font-size:13px}.pdf-button:hover{background:var(--soft)}.pdf-actions,.pdf-print-control{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.customer-picker{width:min(960px,95vw);max-width:960px}.customer-picker-results{max-height:50vh;overflow:auto}.booking-customer{display:grid;gap:10px;margin-bottom:18px}.room-category-filter{max-width:380px;margin-bottom:16px}.accounting-actions{min-width:170px}.accounting-actions summary{cursor:pointer;padding:9px 12px;border:1px solid var(--border);border-radius:6px}.accounting-actions .actions{margin-top:10px;flex-direction:column;align-items:stretch}.count-field{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--muted);min-width:155px;margin:7px 0}.count-field input[type=number]{min-width:55px;max-width:66px;padding:6px}.meal-table .meal-check{font-size:11px;white-space:nowrap;margin-bottom:9px}.invoice-table td:first-child{min-width:300px}.invoice-table select{min-width:82px}.coin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}.print-controls summary,details.panel>summary{cursor:pointer;font-weight:500}.print-controls{margin-top:0}.print-controls .field{max-width:170px}.tabs button[aria-selected=true]{background:var(--accent);color:var(--on)}.quick-search{position:relative;margin-left:auto;width:300px}.occupancy-summary{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin:18px 0}.occupancy-summary span{color:var(--muted)}.occupancy-scroll{max-height:490px;border:1px solid var(--border);border-radius:8px}.occupancy-table{min-width:850px}.occupancy-table thead{position:sticky;top:0;background:var(--surface);z-index:1}.occupancy-table td,.occupancy-table th{padding:7px 12px;font-size:13px}.occupancy-table th small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.occupancy-table select{min-width:150px;padding:7px 9px}.room-category-summary{display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0}.room-category-summary>div{display:grid;gap:3px;font-size:12px}.room-category-summary span{color:var(--muted)}.occupancy-table td,.occupancy-table th{padding:5px 7px}.occupancy-table .room-name{white-space:nowrap}.occupancy-table .room-info{min-width:130px;padding:6px 8px}.occupancy-table .room-towels{min-width:85px}.occupancy-table .room-towels input[type=number]{min-width:52px;width:52px;padding:6px}.room-extra-beds{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.occupancy-table .room-extra-beds{min-width:76px;flex-wrap:nowrap}.occupancy-table .room-towels .check{padding:0;min-height:28px}.occupancy-table td:last-child{max-width:190px}.room-extra-beds select,.occupancy-table .room-extra-beds select{min-width:45px;width:45px;padding:6px}.room-extra-beds small{width:170px}.occupancy-table .room-name{min-width:54px;padding:6px 10px;font-weight:600}.occupancy-table .room-selected{background:var(--soft)}.occupancy-stepper{display:flex;align-items:center;gap:7px}.occupancy-stepper button{width:28px;height:28px;padding:0;font-size:17px}.occupancy-stepper output{min-width:22px;text-align:center;font-weight:600}.school-places{display:flex;gap:22px;align-items:end;flex-wrap:wrap}.school-places .field{max-width:180px}.participant-details summary{font-size:16px;font-weight:500;cursor:pointer}.participant-details summary .badge{margin-left:14px;font-size:12px}.participant-table{min-width:740px}.participant-table input,.participant-table select{max-width:220px;padding:7px 9px}.participant-table td{padding:8px 10px}.participant-panel{padding-top:20px;padding-bottom:20px}.day-header{position:relative}.day-info-trigger{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:54px;width:100%;border:0;background:transparent;padding:0;font-size:12px;color:var(--text)}.day-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:220px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 8px 24px #0002;text-align:left;pointer-events:none}.day-tooltip>*{display:block;margin:3px 0}.day-tooltip small{color:var(--muted);font-size:11px;max-width:220px}.day-header:nth-last-child(-n+3) .day-tooltip{right:0;left:auto}.day-header:hover,.day-header:focus-within{z-index:5}.day-header:hover .day-tooltip,.day-header:focus-within .day-tooltip{display:block}.quick-search input{width:100%;background:var(--bg)}.search-results{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(500px,90vw);padding:14px;border:1px solid var(--border);background:var(--surface);border-radius:10px;box-shadow:0 12px 32px #17342520}.search-results button{display:grid;width:100%;text-align:left;gap:5px;margin-top:8px}.search-results small{font-size:12px;color:var(--muted)}.booking-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,340px);gap:18px;margin-bottom:20px}.block{display:block;margin-top:5px}.billing-status{background:var(--soft);border:1px solid #d2ded6;border-radius:8px;padding:12px 16px;margin:16px 0}.billing-status.pending,.badge.warning{background:#fff3dc;border-color:#e9d7b3;color:#755222}.availability-results{margin-top:18px}.availability-results button{display:block;width:100%;margin-top:8px}.participant-section{margin-top:24px;border-top:1px solid var(--border);padding-top:14px}.room-towels{min-width:130px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.room-towels input[type=number]{width:65px}.room-towels small{width:100%}.towel-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:16px 0}.towel-room{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);background:var(--soft);border-radius:8px}.guest-towels{margin:24px 0;padding-top:16px;border-top:1px solid var(--border)}.rehearsal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.rehearsal-room{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}.rehearsal-room.selected{background:var(--soft)}.cleaning-controls{margin-bottom:18px}.cleaning-people{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.cleaning-people button{display:flex;align-items:center;gap:8px;border-width:2px}.cleaning-people .selected-person{background:var(--soft)}.person-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;flex-shrink:0}.cleaning-add-person summary{cursor:pointer;font-weight:600;padding:8px 0}.cleaning-add-person form{margin-top:10px}.cleaning-remove-person{margin-top:12px;padding:12px;border:1px solid #c96b57;border-radius:8px;background:#fff3ee}.cleaning-remove-person h3{margin:0}.cleaning-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cleaning-toolbar h2{margin-bottom:4px}.cleaning-selection{padding:12px;margin:12px 0;background:var(--soft);border-radius:8px}.cleaning-selection strong{margin-right:auto}.cleaning-hint{padding:9px 12px;background:light-dark(#fff4db,#4c432c);border-radius:6px}.cleaning-room-scroll{max-height:65vh;overflow:auto;border:1px solid var(--border);border-radius:8px}.cleaning-room-table{table-layout:fixed;width:100%;min-width:1040px;margin:0}.cleaning-room-table thead{position:sticky;top:0;z-index:2;background:var(--surface)}.cleaning-room-table th:first-child{width:76px}.cleaning-room-table th:nth-child(3){width:186px}.cleaning-room-table th:nth-child(4){width:163px}.cleaning-room-table th:nth-child(5){width:66px}.cleaning-room-table th,.cleaning-room-table td{padding:7px 8px}.cleaning-room-table tbody th{text-align:left}.cleaning-room-table small{display:block;line-height:1.45}.cleaning-room-table th button{padding:5px 8px}.cleaning-room-table .cleaning-timeline-cell{padding:0}.cleaning-week-head{display:grid;grid-template-columns:repeat(7,1fr);font-size:12px;text-align:center}.cleaning-room-table th .cleaning-week-head button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:5px 0;font-size:12px;background:transparent}.cleaning-room-table th .cleaning-week-head button[aria-pressed=true]{border-bottom-color:#39745c;background:light-dark(#f7edcf,#4c432c)}.cleaning-day{background:light-dark(#f7edcf,#4c432c)}.cleaning-timeline{position:relative;height:48px;overflow:hidden}.cleaning-day-cell{position:absolute;top:0;bottom:0;border-left:1px solid #dae3dc;border-top:0;border-right:0;border-bottom:0;border-radius:0;padding:0;background:transparent}.cleaning-day-cell.cleaning-day{background:light-dark(#f7edcf,#4c432c)}.cleaning-day-cell:hover:not(:disabled){background:light-dark(#dcece2,#294936)}.cleaning-day-cell[aria-pressed=true]{box-shadow:inset 0 0 0 2px #39745c}.cleaning-day-cell:focus-visible{outline:2px solid #39745c;outline-offset:-3px}.cleaning-stay{pointer-events:none;position:absolute;top:14px;height:21px;line-height:21px;border-radius:4px;padding:0 5px;color:#fff;background:#658276;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #fff}.cleaning-chosen{background:light-dark(#dcece2,#294936)}.cleaning-due{box-shadow:inset 3px 0 #c49335}.cleaning-open{color:#805313;font-size:12px;font-weight:600}.cleaning-occupied{color:#8b5423}.cleaning-assignment{display:block;border-left:4px solid;padding-left:8px;font-weight:600}.cleaning-assignment small{font-weight:400}.cleaning-assigned-jobs{margin:18px 0}.cleaning-assigned-jobs summary{cursor:pointer;padding:12px 0;font-weight:600}.cleaning-job-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:8px;margin:10px 0}.cleaning-job{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px;border:1px solid var(--border);border-radius:6px}.rehearsal-room>.check:last-child{margin-left:auto}@media(max-width:900px){.rehearsal-grid{grid-template-columns:1fr}}.pdf-preview{width:min(1040px,95vw);max-width:1040px}.pdf-preview .pdf-pages{width:100%;height:65vh;border:1px solid var(--border);background:var(--soft);overflow:auto;padding:16px}.pdf-pages canvas{display:block;width:100%;height:auto;margin:0 auto 16px;box-shadow:0 2px 12px #0002}@media(max-width:900px){.quick-search{order:4;width:100%;margin-left:0}.booking-filters{grid-template-columns:1fr}}.cleaning-turnover-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #c96b57;border-left:5px solid #b04430;border-radius:8px;padding:12px 16px;background:#fff3ee;margin-bottom:16px;color:#773522}.cleaning-turnover-alert button{margin-left:12px;padding:4px 9px}.cleaning-turnover-room{color:#a33b29;font-weight:650}.arrival-sheet-fields{border-top:1px solid #dce5de;margin-top:18px;padding-top:14px}.arrival-sheet-fields summary{cursor:pointer;font-weight:650}.arrival-sheet-fields .actions{margin:12px 0;gap:16px}.meal-time-fields{margin:12px 0}.meal-time-fields summary{cursor:pointer;font-weight:650}.meal-time-input{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;font-size:12px}.kitchen-times{margin-top:12px}.inquiry-fields{border:0;margin:0;padding:0;min-width:0}.inquiry-required{margin:16px 0}.inquiry-required summary,.inquiry-match summary{cursor:pointer;font-weight:600}.inquiry-space-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:14px 0}.inquiry-matches{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:10px;margin:12px 0;align-items:start}.inquiry-match{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px}.inquiry-match h3{font-size:18px;margin:0 0 7px}.inquiry-available{color:var(--accent);font-size:13px}.inquiry-match .heading{flex-wrap:wrap;align-items:center;gap:12px}.inquiry-unavailable{border-left:4px solid light-dark(#b36c37,#d7a471);margin:12px 0}.inquiry-unavailable summary{cursor:pointer;font-weight:600}.inquiry-results>.muted{margin:8px 0;font-size:12px}.inquiry-match p{margin:6px 0;font-size:13px}.inquiry-breakdown{margin-top:8px;font-size:12px}.inquiry-extend{margin:8px 8px 8px 0}.inquiry-results>.inquiry-match{margin:18px 0}.inquiry-spaces{color:var(--muted)}.workspace-view{min-width:0}main.inquiry-open{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:22px;align-items:start}.inquiry-open>.feedback{grid-column:1 / -1;margin:0}.inquiry-aside{position:sticky;top:18px;height:calc(100vh - 190px);overflow:auto;padding:20px;background:var(--soft);border:1px solid var(--border);border-radius:12px}.inquiry-aside>.heading{position:sticky;top:-20px;z-index:3;margin:-20px -20px 0;padding:20px 20px 12px;background:var(--soft);align-items:flex-start;gap:10px}.inquiry-aside h2{margin:0;font-size:19px}.inquiry-aside>.heading>div{flex:1;min-width:0}.inquiry-aside .panel,.inquiry-match{padding:12px}.inquiry-aside .inquiry-matches{grid-template-columns:1fr}.inquiry-hidden{display:none}.inquiry-open .workspace-view>div>.heading{flex-wrap:wrap}.inquiry-open .plan-scroll{max-height:calc(100vh - 325px)}.inquiry-open .plan-grid{min-width:860px}.inquiry-form>summary{cursor:pointer;font-weight:600;padding:12px 0}.inquiry-aside .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inquiry-date{border:0;padding:0;background:transparent;color:var(--accent);font-size:17px;font-weight:650;text-align:left;text-decoration:underline;text-underline-offset:3px}.inquiry-selected{border:2px solid var(--accent)}.inquiry-adopt{margin-top:14px}@media(max-width:1050px){main.inquiry-open{grid-template-columns:1fr}.inquiry-aside{height:auto;max-height:60vh;position:static}.inquiry-open .plan-scroll{max-height:40vh}}.document-upload{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-top:16px}.document-upload .field{flex:1;min-width:240px}.document-year{margin-top:16px;border:1px solid var(--border);border-radius:8px;padding:16px}.document-year summary{cursor:pointer;font-weight:600}.customer-documents .table-scroll{margin-top:12px}.simple-details{margin:16px 0;padding:12px 0;border-top:1px solid var(--border)}.simple-details>summary,.rehearsal-details>summary{cursor:pointer;font-weight:600}.simple-details>summary small,.rehearsal-details>summary small{display:block;font-weight:400;margin:5px 0 0 18px}.simple-details[open]>summary,.rehearsal-details[open]>summary{margin-bottom:16px}.rehearsal-details>.panel{padding:0;margin:0;border:0;box-shadow:none}.list-filters{margin-bottom:18px}.list-filters input[type=search]{min-width:240px}[role=tabpanel][hidden]{display:none}.invoice-editor .invoice-scroll{max-height:58vh;overflow:auto;margin-top:12px}.invoice-table{width:100%;font-size:13px;border-collapse:collapse}.invoice-table th{position:sticky;top:0;background:var(--surface, #e8eee9);z-index:1}.invoice-table td{padding:3px 7px;height:32px}.invoice-table td:first-child{min-width:90px;white-space:nowrap}.invoice-table td:nth-child(2){min-width:260px}.invoice-table input,.invoice-table select{height:28px;min-height:28px;padding:2px 6px;font-size:13px;margin:0}.invoice-table td:nth-child(3) input,.invoice-table td:nth-child(4) input{width:95px}.invoice-table td:nth-child(6){white-space:nowrap;text-align:right}.guest-stay{grid-column:1/-1;padding:12px 0}.guest-stay summary{cursor:pointer;font-size:17px;padding:10px 0}.guest-stay label{display:flex;flex-direction:column;gap:8px}.guest-app input,.guest-app select,.guest-app button{min-height:46px;font-size:17px}.notice-groups{display:grid;gap:12px;max-height:45vh;overflow:auto;padding:15px 0}.notice-groups label{display:flex;gap:12px;align-items:center}.key-board{color-scheme:light;--surface: #fff;--text: #25364c;--muted: #586a80;--border: #cbd5e1;--accent: #355b49;--on: #fff;--soft: #e9f0ec;--red: #a33232;background:#f4f6f9;color:#25364c;padding:22px;border-radius:12px}.key-board h1,.key-board h2,.key-board p{color:#25364c}.key-board h2{font-size:16px;margin:20px 0 8px}.key-board .key-filters{background:#fff;padding:12px;border-radius:10px}.key-board .key-filters label{color:#425370}.key-board .key-filters input,.key-board .key-filters select{background:#f4f6f9;color:#25364c;border:1px solid #cbd5e1}.key-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin:15px 0}.key-legend span{display:flex;align-items:center;gap:5px}.key-legend i{width:22px;height:9px;border-radius:3px}.key-stats{display:flex;gap:12px;margin:15px 0}.key-stats>div{background:#fff;padding:12px 18px;border-radius:9px;font-size:12px}.key-stats strong{display:block;font-size:24px}.key-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.key-room{border:1px solid #dbe2ea;border-radius:8px;padding:9px;background:#fff}.key-room.available{background:#e9f6ee}.key-room.announced{background:#fff7d9}.key-room.lost{background:#ffeded}.key-room small{display:block;font-size:11px;min-height:28px;color:#586a80;overflow-wrap:anywhere}.key-bars{display:flex;flex-wrap:wrap;gap:2px}.physical-key{width:36px;height:36px;padding:0;border:8px solid transparent;background-clip:padding-box;border-radius:11px}.physical-key:hover{outline:2px solid #527199}.physical-key.available,.key-legend .available{background-color:#16a34a}.physical-key.issued,.key-legend .issued{background-color:#bdc7d6}.physical-key.announced,.key-legend .announced{background-color:#f4c542}.physical-key.lost,.key-legend .lost{background-color:#ec4545}.key-board dialog{color:var(--text)}.duty-scroll{overflow:auto;max-height:65vh}.duty-table{border-collapse:collapse;min-width:100%;font-size:12px}.duty-table th,.duty-table td{min-width:125px;padding:6px;border:1px solid #85988944;vertical-align:top}.duty-table th{position:sticky;top:0;background:var(--surface, #e8eee9);z-index:1}.duty-table th:first-child{min-width:165px;left:0;z-index:2}.duty-table small{display:block;font-size:10px}.duty-table .duty-shift{display:block;width:100%;padding:7px 5px;margin-bottom:4px;font-size:12px;text-align:left;white-space:normal}.duty-shift.work{border-left:4px solid #649882}.duty-shift.absence{border-left:4px solid #c39a63}.duty-table .add-shift{padding:1px 10px;min-height:26px}.duty-totals{white-space:nowrap;line-height:1.7}.hours-input{width:74px}.invoice-recipient{margin:12px 0}.invoice-recipient summary{cursor:pointer;padding:8px 0}.invoice-recipient .form-grid{grid-template-columns:2fr 2fr 1fr 1fr}.invoice-editor .error:empty,.invoice-editor .success:empty{display:none}.duty-table th,.duty-table td{min-width:96px}.duty-table th:first-child{min-width:145px}.duty-table .duty-totals,.duty-table thead th:last-child{position:sticky;right:0;background:var(--surface, #e8eee9);z-index:2;min-width:130px}.duty-palette .actions{margin-top:10px}.duty-palette button[aria-pressed=true]{background:var(--accent);color:var(--on);border-color:var(--accent)}.duty-palette button small{display:block;color:inherit;font-size:12px;margin-top:3px}.duty-setup h3{margin-top:20px}.duty-type-editor{margin-top:18px;padding-top:12px;border-top:1px solid var(--border)}.duty-colors{margin:14px 0;border:1px solid var(--border);border-radius:8px;padding:12px}.duty-colors button{min-height:44px}.duty-colors button[aria-pressed=true]{outline:3px solid var(--text);outline-offset:2px}.duty-colors input[type=color]{width:72px;height:44px;padding:4px}.duty-month-table{width:100%;min-width:1140px;table-layout:fixed}.duty-month-table th,.duty-month-table td{min-width:0;padding:2px;font-size:11px;text-align:center}.duty-month-table th:first-child{width:135px;min-width:135px;text-align:left;background:var(--surface)}.duty-month-table th:first-child button{padding:5px;max-width:100%;overflow-wrap:anywhere;text-align:left}.duty-month-table .duty-totals,.duty-month-table thead th:last-child{width:96px;min-width:96px;text-align:center}.duty-month-table .duty-totals strong{font-size:15px}.duty-month-table .duty-totals small{display:block;margin-top:4px;font-size:11px;white-space:nowrap}.duty-start{width:100%;min-width:0;min-height:38px;border:0;padding:3px 0;font-size:11px;border-radius:4px;white-space:nowrap}.duty-start.work{background:var(--soft)}.duty-start.absence{background:light-dark(#fff2d8,#52432a)}.duty-start.empty{background:transparent;color:var(--muted)}.duty-weekend{background:var(--weekend)}.duty-month-table .duty-start:hover{outline:2px solid var(--accent)}@media(pointer:coarse){.duty-month-table{min-width:1620px}.duty-start{min-height:44px}}.key-board{padding:16px}.key-board .heading{margin-bottom:12px}.key-board .key-filters{padding:8px}.key-stats>div{padding:8px 14px}.key-stats strong{font-size:21px}.key-floors{display:grid;grid-template-columns:3fr 2fr;gap:0 14px}.key-floors>section:first-child{grid-column:1/-1}.key-floors .key-rooms{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px}.key-board h2{margin:12px 0 6px}.key-room{padding:6px}.key-room strong{font-size:12px}.key-room small{font-size:10px;min-height:24px;line-height:1.2}.key-bars{gap:0}.physical-key{width:44px;height:44px;min-height:44px;flex:0 0 44px;border:1px solid #25364c30;border-radius:7px;font-size:15px;font-weight:600;color:#14251b;touch-action:manipulation}.physical-key.available{background-color:#a6deb9}.physical-key.lost{background-color:#ffb1b1}.key-bars{gap:5px;margin-top:7px}.key-floors .key-rooms,.key-rooms{grid-template-columns:repeat(auto-fill,minmax(min(100%,155px),1fr));gap:8px}.key-floors{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.key-floors>section{min-width:0}.key-room{padding:10px}.key-room strong{font-size:14px}.key-room small{font-size:12px;min-height:29px;line-height:1.3}.key-board .key-filters{display:grid;grid-template-columns:minmax(170px,2fr) repeat(3,minmax(125px,1fr)) auto;align-items:end}.key-board .key-filters .field{min-width:0}.key-board input,.key-board select,.key-board button:not(.physical-key){min-height:44px}.key-stats{flex-wrap:wrap}.key-stats>div{flex:1 1 110px}.key-notice:empty,.key-board .error:empty{display:none}.key-notice{padding:10px 12px;background:#e9f6ee;border-radius:6px}.key-status-dialog{width:min(490px,calc(100vw - 24px));max-height:calc(100dvh - 32px);top:50%;transform:translate(-50%,-50%);padding:20px}.key-status-dialog::backdrop{background:#10211988}.key-status-dialog .heading{flex-wrap:nowrap;align-items:center}.key-status-dialog .heading h2{margin:0;font-size:20px}.key-status-dialog .heading button{min-width:44px}.key-status-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.key-status-choice{display:flex;gap:10px;align-items:center;min-height:76px!important;padding:14px 10px;text-align:left;font-size:16px;touch-action:manipulation}.key-status-choice small{display:block;font-size:12px;margin-top:4px}.key-status-choice[aria-pressed=true]{opacity:1;background:#edf1f5;border:2px solid #536d86}.key-status-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;background:#bdc7d6}.available .key-status-dot{background:#16a34a}.announced .key-status-dot{background:#f4c542}.lost .key-status-dot{background:#ec4545}.physical-key:focus-visible,.key-status-choice:focus-visible{outline:3px solid #355b49;outline-offset:2px}@media(max-width:1150px){.key-board .key-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.key-board .key-filters .field:first-child{grid-column:1 / -1}.key-floors{display:block}}@media(max-width:580px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto}.app>.main-sidebar{grid-row:2;grid-column:1;position:static;flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--border)}.main-sidebar button{width:auto;min-width:max-content;min-height:44px;font-size:14px;padding:10px 12px}.main-sidebar button:last-child:not(:first-child){margin-top:0}.app>main{grid-row:3;grid-column:1;padding:12px 8px}.app>footer{grid-row:4}.key-board{padding:12px}.key-legend{gap:8px 14px}.key-stats{gap:6px}.key-stats>div{flex-basis:40%}}@media(pointer:coarse){.main-sidebar button,.pdf-button,summary{min-height:44px}summary{padding-block:10px}button,a,summary{touch-action:manipulation}}@media(max-width:850px){.key-floors{display:block}.invoice-recipient .form-grid{grid-template-columns:1fr}}.duty-start .duty-shift-name{display:block;white-space:normal;overflow-wrap:anywhere;font-size:9px;line-height:1.15;color:inherit;margin-top:3px}.cleaning-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-bottom:18px}.cleaning-area-grid button{text-align:left;min-height:48px}.cleaning-area-grid small{display:block;color:inherit;margin-top:4px}.duty-settings-toggle{min-width:44px;min-height:44px}.room-form-exchange .actions{flex-wrap:wrap}.room-form-preview{width:min(1100px,94vw);max-height:90vh}.room-form-preview[open]{display:flex;flex-direction:column;overflow:hidden}.room-form-preview>h2{margin:0}.room-form-preview>.table-scroll{min-height:0;overflow:auto}.room-form-preview td{padding:8px 10px}.room-form-preview>.actions{flex-shrink:0;margin-top:14px}.fixed-guest-room{margin:18px 0;font-size:13px}.fixed-guest-room h2{background:var(--surface, #eef4f1);padding:9px;font-size:16px}.fixed-guest-room h2 small{font-size:12px;font-weight:400;margin-left:12px}.fixed-guest-room table{width:100%;min-width:930px;table-layout:fixed}.fixed-guest-room th,.fixed-guest-room td{padding:5px 3px;font-size:12px}.fixed-guest-room select,.fixed-guest-room input{width:100%;min-height:34px;font-size:13px;padding:6px}.fixed-guest-room th:nth-child(5){width:82px}.fixed-guest-room th:nth-child(6){width:180px}.fixed-guest-room .guest-bed-label{font-weight:600}.day-guest-room table{max-width:1000px;min-width:830px}.day-guest-room th:nth-child(2){width:190px}.day-guest-room th:nth-child(5){width:150px}.day-guest-room th:nth-child(6){width:95px}.guest-app main{max-width:1420px}.room-plan-upload{width:min(540px,92vw)}.room-plan-drop{border:2px dashed var(--border);border-radius:10px;padding:28px;text-align:center;margin:18px 0}.room-plan-drop.dragging{background:var(--surface);border-color:var(--accent)}.booking-bar.confirmed{border:3px solid var(--text, #182e25);box-sizing:border-box}.guest-category-colors{max-width:720px;margin:24px 0}.guest-category-color-row{display:grid;grid-template-columns:minmax(140px,1fr) 64px minmax(140px,1fr);gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.guest-category-color-row input[type=color]{width:60px;height:44px;padding:4px;cursor:pointer}.guest-category-preview{border:3px solid;border-radius:5px;padding:4px 10px;font-size:12px}@media(max-width:600px){.guest-category-color-row{grid-template-columns:1fr 64px;gap:12px}.guest-category-preview{grid-column:1 / -1}}.booking-reminders{display:block;width:100%;text-align:left;padding:10px 16px;margin-bottom:12px}.reminder-list td,.reminder-list th{padding:6px 8px}.reminder-list td:first-child,.reminder-list td:nth-child(2){white-space:nowrap}.reminder-pagination{margin:16px 0 0}.bedmaking-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.bedmaking-rooms button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:95px;text-align:left}.bedmaking-rooms button.assigned{background:var(--accent);color:var(--on);border:2px solid currentColor}.day-note{position:relative}.day-note>button{min-height:24px;padding:2px 5px;font-size:10px;width:100%}.day-note>button.has-note{background:var(--accent);color:var(--on);font-weight:700}.day-note-preview{display:none;position:absolute;top:100%;left:0;z-index:90;width:270px;padding:14px;background:var(--surface);color:var(--text, #182e25);border:1px solid var(--border, #888);box-shadow:0 5px 16px #0003;border-radius:8px;white-space:pre-wrap;text-align:left;font-size:13px}.day-note:hover .day-note-preview,.day-note:focus-within .day-note-preview{display:block}.day-header:nth-last-child(-n+4) .day-note-preview{left:auto;right:0}.day-note-dialog{width:min(520px,90vw);text-align:left}.day-note-dialog textarea{width:100%;margin:12px 0}.day-header:has(.day-note:hover) .day-tooltip,.day-header:has(.day-note:focus-within) .day-tooltip{display:none}.today-column{background:color-mix(in srgb,var(--accent) 18%,var(--surface))!important;box-shadow:inset 2px 0 var(--accent),inset -2px 0 var(--accent)}.today-label{display:block;background:var(--accent);color:var(--on);border-radius:4px;padding:1px 6px;font-size:10px}.holiday-slot{display:block;min-height:18px}.holiday-badge{position:relative;display:inline-block;border-radius:4px;background:light-dark(#fff0c4,#5a4820);color:light-dark(#634700,#fff0c4);font-size:10px;padding:1px 5px;cursor:help}.holiday-description{display:none;position:absolute;top:100%;left:0;z-index:100;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px;width:180px;text-align:left;border-radius:6px;font-size:12px}.holiday-badge:hover .holiday-description,.holiday-badge:focus .holiday-description{display:block}.day-header:has(.holiday-badge:hover) .day-tooltip,.day-header:has(.holiday-badge:focus) .day-tooltip{display:none}.day-header:nth-last-child(-n+3) .holiday-description{left:auto;right:0}.guest-category-color-row{max-width:720px;margin-bottom:10px}.guest-category-color-row>label{min-width:0}.guest-category-color-row input:not([type=color]){width:100%}.guest-category-add{max-width:720px;display:grid;gap:12px;margin-top:16px}.guest-category-add>label{display:grid;gap:5px}.article-picker-list{max-height:45vh;overflow:auto;display:grid;gap:6px;margin:16px 0}.article-picker-list>button{display:flex;justify-content:space-between;gap:16px;text-align:left;min-height:50px;padding:10px}.article-picker-list small{display:block;color:var(--muted);margin-top:4px}.kitchen-group-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;margin-top:16px}.kitchen-note textarea{width:100%;min-height:65px;margin:6px 0}.kitchen-coffee{margin-top:12px}.kitchen-coffee form{display:grid;gap:10px;margin-top:10px}.kitchen-coffee label{display:grid;gap:5px}.kitchen-coffee input,.kitchen-coffee button{min-height:44px}.kitchen-review-row{border-bottom:1px solid var(--border);padding:12px 0}.plan-waitlist{margin:12px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.plan-waitlist>summary{padding:12px 16px;cursor:pointer;font-weight:600}.plan-waitlist>summary span{color:var(--muted)}.plan-waitlist-content{padding:0 16px 12px}.plan-waitlist-content p{margin:0 0 8px}.plan-waitlist ul{list-style:none;padding:0;margin:0 0 8px}.plan-waitlist li+li{border-top:1px solid var(--border)}.plan-waitlist li button{display:flex;align-items:center;flex-wrap:wrap;gap:4px 24px;width:100%;min-height:44px;padding:8px;border:0;text-align:left}.plan-waitlist li button span{color:var(--muted)}.booking-status-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin:8px 0 14px}.booking-status-line details{color:var(--muted)}.booking-status-line details p{margin:5px 0}.room-assignment.panel{padding:12px 16px;margin-bottom:8px}.room-assignment summary{cursor:pointer}.room-assignment summary strong{margin-right:20px}.room-assignment summary span{color:var(--muted);font-size:13px}.room-assignment[open] summary{margin-bottom:12px}.invoice-sheet.panel{padding:14px 18px}.invoice-sheet .heading{margin-bottom:8px}.invoice-sheet .simple-details,.invoice-sheet .invoice-recipient{margin:6px 0;padding:5px 0}.invoice-sheet .error:empty,.invoice-sheet .success:empty{display:none}.invoice-sheet .invoice-scroll{max-height:none;overflow:visible;margin-top:8px}.invoice-table{font-size:12px}.invoice-table th{position:static;padding:3px 6px}.invoice-table td{padding:1px 6px;height:25px}.invoice-table input,.invoice-table select{height:23px;min-height:23px;font-size:12px;padding:1px 5px}.invoice-table td button{min-height:23px;padding:2px 8px;font-size:12px}.invoice-table td:nth-child(3),.invoice-table td:nth-child(4),.invoice-table td:nth-child(5){width:100px;white-space:nowrap}.invoice-table td:nth-child(4) input{text-align:right}.invoice-sheet textarea{min-height:48px;height:48px}.invoice-quick-actions{margin:10px 0}.kitchen-groups{display:grid;gap:14px}.kitchen-group{border-top:1px solid var(--border);padding:12px 0}.kitchen-group h3{margin:0 0 8px;font-weight:600}.kitchen-group-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:20px;align-items:start}.kitchen-group-meals td,.kitchen-group-meals th{padding:7px 8px}.kitchen-group-meals td:nth-child(2){white-space:nowrap}.duty-warning-group{padding:8px 0;border-top:1px solid var(--border)}.duty-warning-group h3{margin-top:12px}@media(max-width:900px){.kitchen-group-layout{grid-template-columns:1fr}.invoice-sheet .invoice-scroll{overflow-x:auto}}@media(pointer:coarse){.invoice-table td{height:44px}.invoice-table input,.invoice-table select,.invoice-table td button{min-height:44px;height:auto;font-size:14px}.room-assignment summary{min-height:44px;padding-top:10px}}@media(pointer:fine){.occupancy-table td,.occupancy-table th{padding:1px 7px;line-height:1.25}.occupancy-table select,.occupancy-table .room-info,.occupancy-table .room-towels input[type=number],.occupancy-table .room-name,.occupancy-table .room-towels button{height:24px;min-height:24px;padding:1px 6px;font-size:12px}.occupancy-table .occupancy-stepper button{width:26px;height:24px;min-height:24px}.occupancy-table .room-towels{flex-wrap:nowrap;gap:5px}.occupancy-table .room-towels .check{min-height:24px;margin:0}.occupancy-table input[type=checkbox]{margin:0;width:16px;height:16px}.occupancy-table .badge{padding:2px 5px}.invoice-table td{height:23px;padding:0 6px}.invoice-table input,.invoice-table select{height:22px;min-height:22px}}.invoice-sheet .invoice-recipient{margin:0 0 4px;padding:0}.invoice-sheet .invoice-recipient>summary{padding:4px 0}.invoice-table td:first-child{width:110px}.mail-settings{max-width:1100px}.mail-settings fieldset{border:0;margin:0;padding:0}.mail-mode{padding:12px;border:1px solid var(--border);background:var(--soft);border-radius:6px}.mail-test{margin:22px 0;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.mail-test form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.mail-test .field{flex:1;min-width:240px;margin:0}.mail-review-item{border-bottom:1px solid var(--border);padding:14px 0}.mail-review-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.mail-review .actions{margin-top:20px}.room-assignment.panel{margin:0 0 6px}.equipment-dialog{width:min(860px,95vw);max-height:90vh;overflow:auto;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.equipment-dialog::backdrop{background:#0007}.equipment-dialog-heading{position:sticky;top:-24px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-24px -24px 16px;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.equipment-dialog-heading h2{margin:0;min-width:0;overflow-wrap:anywhere}.equipment-dialog-heading button{flex-shrink:0;min-height:44px}.equipment-entry{border-top:1px solid var(--border);padding:14px 0;margin-top:12px}.seating-options{border:1px solid var(--border);border-radius:8px;padding:12px}.seating-choices{display:flex;flex-wrap:wrap;gap:8px 18px}.seating-choices .check{min-height:36px;cursor:pointer;white-space:nowrap;padding:4px 0}.seating-choices input[type=radio]{width:18px;height:18px;flex:0 0 18px;margin:0}.equipment-checklist{display:grid;gap:6px}.equipment-choice{border:1px solid var(--border);border-radius:6px;padding:6px 10px}.equipment-choice-row{display:grid;grid-template-columns:minmax(150px,1fr) 120px 160px;align-items:center;gap:12px}.equipment-choice-row>.check{min-height:36px;cursor:pointer;padding:2px 0}.equipment-quantity{display:flex;align-items:center;gap:8px}.equipment-quantity input{width:64px;padding:6px}.equipment-more{margin:0}.equipment-more summary{padding:6px 0;font-size:12px;cursor:pointer}.equipment-details{display:grid;grid-template-columns:190px 1fr;gap:12px;margin-top:8px}@media(max-width:600px){.equipment-choice-row{grid-template-columns:1fr 110px}.equipment-choice-row>.check:last-child{grid-column:1 / -1}.equipment-details{grid-template-columns:1fr}}.equipment-button{min-height:40px}.statistics-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.statistics-filters label{display:grid;gap:5px;min-width:140px}.statistics-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin:16px 0}.statistics-kpis .panel{padding:14px;display:flex;flex-direction:column;gap:8px;margin:0}.statistics-kpis strong{font-size:1.7rem}.statistics-kpis small{opacity:.75}.statistics-table{margin-top:16px}.statistics-table td,.statistics-table th{padding:6px 8px}.statistics-table h2{font-size:1.05rem}.statistics-table .heading{gap:12px;flex-wrap:wrap}.statistics-print-title{display:none}.maintenance-page td{vertical-align:top;padding:8px 10px}.maintenance-room+.maintenance-room{margin-top:10px}.maintenance-item{display:flex;gap:12px;justify-content:space-between;padding:3px 0}.maintenance-item small{white-space:pre-wrap}.maintenance-print-only{display:none}@media print{body:has(.maintenance-page) .main-sidebar,body:has(.maintenance-page) header,body:has(.maintenance-page) footer,body:has(.maintenance-page) .feedback,.maintenance-no-print{display:none!important}body:has(.maintenance-page) .app{display:block!important}body:has(.maintenance-page) main{margin:0!important;padding:0!important;width:100%!important}.maintenance-page,.maintenance-page .panel,.maintenance-page table,.maintenance-page th,.maintenance-page td,.maintenance-page small,.maintenance-page th button{color:#000!important;background:#fff!important}.maintenance-page .panel{box-shadow:none;border:0;padding:0}.maintenance-page .table-scroll{overflow:visible;max-height:none}.maintenance-page table{width:100%;min-width:0;font-size:9pt}.maintenance-page .maintenance-room{break-inside:avoid}.maintenance-page thead{display:table-header-group}.maintenance-page th button{border:0;padding:0}.maintenance-print-only{display:block}}@media print{body:has(.statistics-page) .main-sidebar,body:has(.statistics-page) header,body:has(.statistics-page) footer,body:has(.statistics-page) .feedback,.statistics-no-print,.statistics-page .tabs,.statistics-page td button{display:none!important}body:has(.statistics-page) .app{display:block!important}body:has(.statistics-page) main{margin:0!important;padding:0!important;width:100%!important}.statistics-page{color:#000!important;background:#fff!important;font-size:9pt}.statistics-page .panel{color:#000!important;background:#fff!important;box-shadow:none;border:1px solid #bbb;padding:8px}.statistics-page .table-scroll{overflow:visible;max-height:none}.statistics-page table{width:100%;min-width:0;font-size:8pt}.statistics-page tr{break-inside:avoid}.statistics-page thead{display:table-header-group}.statistics-print-title{display:block}.statistics-page th button{border:0;background:none;color:#000;padding:0}}.booking-collaboration{margin:10px 0 16px}.booking-collaboration p{margin:6px 0}.booking-collaboration td{padding:6px 10px}.template-workspace{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);gap:20px;align-items:start}.template-workspace .panel{min-width:0;margin-top:0}.template-controls fieldset{border:0;padding:0;margin:0;min-width:0}.template-controls .tabs{margin-bottom:18px;flex-wrap:wrap}.template-controls .tabs [aria-pressed=true],.accounting-settings-tabs [aria-pressed=true]{background:var(--accent, #89b49c);color:var(--on)}.template-tools{gap:6px;margin:10px 0 5px;flex-wrap:wrap}.template-tools select{width:auto;max-width:230px}.template-tools button{padding:6px 12px}.template-text-field textarea{min-height:100px}.template-controls details{margin-top:18px}.template-logo{display:flex;gap:12px;align-items:center;margin:12px 0}.template-logo img{max-width:180px;max-height:90px;object-fit:contain}.template-preview .pdf-pages{max-height:950px;overflow:auto;background:#dfe4e6;padding:12px;margin-top:15px}.template-preview .pdf-pages canvas{box-shadow:0 2px 8px #0002}.accounting-settings-tabs{margin:12px 0;flex-wrap:wrap}@media(max-width:1100px){.template-workspace{grid-template-columns:1fr}}.catering-table input[type=number]{width:7rem;min-height:42px}.catering-table td,.catering-table th{padding:8px 10px}.catering-table td:last-child button{margin:3px}.catering-entry-table{table-layout:fixed;min-width:680px}.catering-entry-table.financial{min-width:900px}.catering-entry-name{width:32%}.catering-entry-count{width:9rem}.catering-entry-conditions{width:16rem}.catering-entry-table input[type=number]{width:100%;min-width:0;max-width:none}.catering-entry-table th,.catering-entry-table td{overflow-wrap:anywhere}.catering-target{border-top:1px solid var(--border, #7775);padding-block:12px}
