:root{--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;--ink:#243e36;--muted:#64756b;--green:#264f41;--line:#dfe4dc}*{box-sizing:border-box}body{margin:0;background:#f6f5ef;color:var(--ink);font:17px/1.55 var(--font-ui)}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #b27c2d}button{border:0;background:var(--green);color:white;cursor:pointer;border-radius:12px;min-height:50px;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:500}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}a{color:var(--green)}input,select,textarea{border:1px solid #cbd3c9;border-radius:10px;background:white;padding:12px 14px;min-height:52px;color:var(--ink);max-width:100%}input[type=number]{width:100%}textarea{min-height:110px}h1,h2{font-family:var(--font-ui);font-weight:650;line-height:1.2}h1{font-size:44px;margin:12px 0 18px}h2{font-size:32px;margin:5px 0 0}h3{font-size:20px;margin:0}p{margin:14px 0}small{font-size:14px}.topbar{padding:22px 5%;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:14px;text-decoration:none;font-family:Georgia,serif;font-size:25px}.brand small{font:11px Arial,sans-serif;letter-spacing:1.7px;display:block;margin-top:5px;color:var(--muted)}.brandmark{width:50px;height:50px;border:1px solid #a18c60;color:#8c7446;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:21px}.top-actions{gap:20px}.saved,.top-actions{display:flex;align-items:center}.saved{font-size:14px;gap:7px;color:var(--muted)}.icon{padding:10px;min-width:48px;min-height:48px;background:transparent;color:var(--ink);border:1px solid var(--line)}main{max-width:1440px;margin:auto;padding:28px 5% 0}.hero{height:270px;position:relative;overflow:hidden;border-radius:22px;background:#24493e;color:white;display:flex;align-items:center;padding:34px 42px}.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero img,.hero:after{position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(90deg,#132d26ef,#132d26a6 45%,#132d2612 85%)}.hero>div,.season{position:relative;z-index:1}.hero p{font-size:16px;color:#e2e8df}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:#e4d0a8}.eyebrow.dark{color:#8e784e}.season{position:absolute;right:30px;bottom:26px;background:#fffffff0;color:var(--ink);padding:12px 18px;border-radius:12px;font-size:15px}.season small{display:block;font-size:12px;color:var(--muted)}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#e9ede5;padding:7px;border-radius:15px;margin:28px 0 36px}.tabs button{background:transparent;color:#536a5c;font-size:17px}.tabs button.active{background:white;color:var(--green);box-shadow:0 2px 8px #243e360b}.section-head{justify-content:space-between;gap:20px;margin-bottom:25px}.datebar,.section-head{display:flex;align-items:center}.datebar{gap:8px}.datebar select{font-weight:500}.meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.meal-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column}.meal-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.meal-icon{color:#9c8456;flex-shrink:0}.guests{font-size:13px;color:#52705d;background:#edf3e9;padding:5px 9px;border-radius:20px;margin-left:auto;white-space:nowrap}.dish-list{list-style:none;margin:0 0 20px;padding:0;flex:1}.dish-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f1ea;align-items:baseline}.dish-list button{padding:0;min-height:0;background:none;color:var(--ink);font-weight:400;font-size:16px;text-align:left;display:block;line-height:1.45}.dish-list li>span{font-size:13px;color:#748273;white-space:nowrap}.meal-numbers{font-size:14px;padding:12px 0 18px}.meal-numbers>div{display:flex;justify-content:space-between;gap:10px;margin:9px 0}.meal-numbers span{color:var(--muted)}.meal-numbers strong{font-size:24px}.meal-numbers b{font-size:18px;font-weight:500}.meal-numbers small{display:block;text-align:right;color:var(--muted);font-size:12px}.profit{border-top:1px solid var(--line);padding-top:12px;margin-top:12px!important;color:#286445}.negative{color:#b14131!important}.secondary{background:white;color:var(--green);border:1px solid #cad6c7}.textbutton{background:none;color:var(--green);padding:7px 0;min-height:44px;text-align:left}.full{width:100%}.day-result{margin:26px 0 12px;background:#e6edde;border-radius:18px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.day-result div:first-child{border-right:1px solid #c9d3c1;padding-right:40px}.day-result span{display:block;font-size:14px;color:#56715d}.day-result div:first-child span{font-size:10px;letter-spacing:1.5px}.day-result strong{font-family:Georgia,serif;font-weight:400;font-size:38px;display:block}.day-result small{font-size:12px;display:block;color:var(--muted)}.day-result b{font-size:22px;display:block;font-weight:500}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0}.quiet{font-size:14px;color:var(--muted);line-height:1.55}.notice{border-radius:12px;background:#ecefe5;padding:16px 20px;margin:18px 0;font-size:15px}.notice.success{background:#e5efdf;display:flex;justify-content:space-between;align-items:center}.notice.error{background:#fbe7e2;color:#8a3528}.list-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.product-row,.purchase-row{display:grid;grid-template-columns:1fr 190px 140px;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line);align-items:center}.product-row small,.purchase-row small{display:block;color:var(--muted);font-size:13px;font-weight:400}.product-row strong small{display:inline}.hint-card{display:flex;gap:18px;padding:26px;background:#e8eddf;border-radius:17px;margin:20px 0}.hint-card>svg{min-width:28px;color:#7f895f}.hint-card p{margin:8px 0;color:#536b5b}.searchrow{display:flex;gap:15px;margin:24px 0}.searchrow input{flex:1}.search{width:100%;margin-bottom:25px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recipe-card{display:block;background:white;color:var(--ink);text-align:left;border:1px solid var(--line);padding:25px}.recipe-card>svg{color:#988252;margin-bottom:15px}.recipe-card h3{min-height:58px}.recipe-card p{font-size:15px;color:var(--muted)}.recipe-card>span{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--green)}details{background:white;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-top:20px}summary{font-weight:500;min-height:28px}details p{font-size:15px}footer{margin-top:50px;border-top:1px solid var(--line);padding:26px 0;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:14px}dialog{border:0;border-radius:20px;padding:28px;width:min(800px,calc(100vw - 24px));max-height:90vh;color:var(--ink);background:#fbfcf7;box-shadow:0 20px 80px #162f3755}dialog::backdrop{background:#172b26a8;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.dialog-head h2{font-size:28px}.field{display:flex;flex-direction:column;gap:7px;margin:15px 0;font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editline{display:flex;gap:10px;margin:12px 0}.editline select{flex:1;min-width:0}.save{margin-top:24px}.ingredient{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px 45px;align-items:center;gap:10px;margin:10px 0}.ingredient label{display:flex;align-items:center;gap:5px}.ingredient input{padding:10px;width:78px}.ingredient>span{font-size:14px}.ingredient select{font-size:14px;padding:12px 9px;min-width:0}.recipe-labels{display:grid;grid-template-columns:minmax(0,1fr) 120px 165px;font-size:13px;color:var(--muted);margin-top:22px}.invoice-line{background:white;border:1px solid var(--line);margin:18px 0}.file-button,.invoice-line{border-radius:12px;padding:15px}.file-button{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:18px}.file-button input{display:none}.steps b{display:inline-block;color:#94805a;font-size:24px;margin-right:8px}.month-result{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}.month-result span{background:#e7eddf;padding:15px;border-radius:12px;font-size:14px}.month-result b{display:block;font-size:22px}.calendar-day{border-bottom:1px solid var(--line);padding:20px 0}.calendar-day p{font-size:14px}.loading{padding:15vh 20px;text-align:center}hr{border:0;border-top:1px solid var(--line);margin:30px 0}@media(max-width:1100px){.meal-card{padding:18px}.meal-title{flex-wrap:wrap}.guests{margin-left:0}.day-result{padding:24px;flex-wrap:wrap}.meal-numbers span{font-size:13px}}@media(max-width:800px){body{font-size:16px}.topbar{padding:16px 5%}.brand{font-size:22px}.saved{display:none}.brandmark{width:43px;height:43px}.hero{height:230px;padding:26px}.hero h1{font-size:32px}.hero p{max-width:230px;font-size:14px}.season{display:none}.tabs{grid-template-columns:1fr 1fr;margin:20px 0 28px}.tabs button{font-size:15px;padding:12px 8px}.section-head{align-items:flex-start;flex-direction:column}.section-head h2{font-size:29px}.meal-grid{grid-template-columns:1fr}.meal-card{padding:24px}.meal-title{flex-wrap:nowrap}.guests{margin-left:auto}.dish-list button{font-size:17px}.dish-list li>span{font-size:14px}.meal-numbers span{font-size:15px}.meal-numbers b{font-size:20px}.day-result{display:grid;grid-template-columns:1fr 1fr}.day-result div:first-child{grid-column:span 2;border-right:0;border-bottom:1px solid #c9d3c1;padding-bottom:15px}.recipe-grid{grid-template-columns:1fr 1fr}.product-row,.purchase-row{grid-template-columns:1fr auto;padding:17px;gap:10px}.purchase-row>span:last-child{grid-column:2}.product-row button{grid-column:2;min-height:44px;font-size:14px;padding:8px 15px}.searchrow{flex-wrap:wrap}.searchrow input{min-width:200px}.hint-card{padding:20px}.ingredient{grid-template-columns:minmax(0,1fr) 90px 38px}.ingredient>span{grid-column:1}.ingredient input{width:65px}.ingredient .icon{grid-column:3}.recipe-labels{display:none}dialog{padding:20px}.form-grid{gap:10px}.field{font-size:14px}.datebar{width:100%}.datebar select{flex:1}.recipe-card{padding:20px}.recipe-card h3{font-size:18px}footer{flex-direction:column;align-items:flex-start;gap:12px}}@media(max-width:480px){.form-grid,.recipe-grid{grid-template-columns:1fr}.ingredient select{font-size:13px}.hero{padding:22px}.hero h1{font-size:29px}.brand small{font-size:9px;letter-spacing:1.3px}}@media print{body{background:white;font-size:12px}.actions,.datebar,.hero,.meal-card>button,.notice.success,.quiet,.tabs,.textbutton,.topbar,footer{display:none!important}main{padding:0}.section-head{margin:0 0 15px}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr)}.meal-card{padding:12px;break-inside:avoid}.dish-list button{font-size:12px}.dish-list li>span{font-size:10px}.day-result{break-inside:avoid}.day-result strong{font-size:24px}body:has(dialog[open]) main{display:none}dialog[open]{position:static;display:block;max-height:none;width:100%;box-shadow:none;padding:0}dialog .file-button,dialog button{display:none!important}dialog input,dialog select,dialog textarea{border:0;background:none;padding:2px;min-height:0}.calendar-day,dialog .ingredient{break-inside:avoid}}@media(max-width:600px){html{scroll-padding-bottom:110px}body{padding-bottom:calc(85px + env(safe-area-inset-bottom))}.topbar{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:14px}.top-actions{gap:0}main{padding-top:18px}.hero{height:155px;padding:20px}.hero h1{font-size:27px;margin:8px 0}.hero p{display:none}.eyebrow{font-size:10px}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;grid-template-columns:repeat(4,1fr);border-radius:18px 18px 0 0;margin:0;padding:9px 5px calc(7px + env(safe-area-inset-bottom));background:#fffffff5;box-shadow:0 -4px 20px #243e3614;backdrop-filter:blur(15px)}.tabs button{flex-direction:column;gap:5px;font-size:13px;padding:5px 1px;min-height:68px;border-radius:10px}.tabs button.active{background:#e6edde;box-shadow:none}.section-head{margin-top:24px;gap:16px}.section-head h2{font-size:28px}.section-head>.eyebrow{display:none}.ingredient select,input,select,textarea{font-size:16px!important}.dish-list button{min-height:44px;display:flex;align-items:center}.dish-list li{padding:4px 0;align-items:center}.recipe-card h3{min-height:0}.meal-card{padding:22px}.datebar select{min-width:0;padding:12px 8px}.dialog-head{position:sticky;top:-20px;background:#fbfcf7;padding:8px 0;z-index:2}.dialog-head h2{font-size:25px}dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-bottom:max(24px,env(safe-area-inset-bottom))}.form-grid{grid-template-columns:1fr 1fr}.ingredient{grid-template-columns:minmax(0,1fr) 95px 38px}.ingredient input{width:72px;padding:10px 5px}.ingredient select{grid-column:1/span 3;width:100%}.ingredient label{grid-column:1}.ingredient>span{grid-column:2;font-size:13px}.ingredient .icon{grid-column:3;min-width:40px}.invoice-line .form-grid{grid-template-columns:1fr}.product-row{grid-template-columns:minmax(0,1fr) auto}.product-row strong{font-size:18px}.brand{font-size:21px}.brand small{font-size:9px}.saved{display:none}.file-button{min-height:56px}}.printdate{display:none}@media print{.printdate{display:block}}.access-notice{display:flex;align-items:center;justify-content:space-between;gap:16px}.access-notice a{padding:12px 20px;min-height:48px;background:var(--green);color:white;border-radius:10px;text-decoration:none;white-space:nowrap}.recipe-view .purchase-row{grid-template-columns:minmax(0,1fr) auto}dialog[aria-busy=true] form{pointer-events:none;opacity:.7}dialog[aria-busy=true] .dialog-head button{pointer-events:none;opacity:.5}.product-row>span,.purchase-row>span{overflow-wrap:anywhere;min-width:0}.field,input,select,textarea{min-width:0}@media(max-width:600px){.access-notice{align-items:flex-start;font-size:15px}.access-notice a{padding:10px 14px}.form-grid,.month-result{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.month-result b{overflow-wrap:anywhere}dialog .purchase-row{padding:14px 10px}}@media print{.access-notice{display:none!important}body{padding-bottom:0!important}.dialog-head{position:static}}.section-switch{display:flex;gap:6px;background:#e8ede3;border:1px solid #dce3d6;padding:6px;border-radius:14px;max-width:460px;margin:0 0 25px}.section-switch a{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;padding:12px 18px;min-height:52px;text-decoration:none;border-radius:10px;color:#536a5c;font-weight:600}.section-switch a[aria-current=page]{background:#fff;color:#254b3e;box-shadow:0 2px 8px #243e360b}.home-hero{height:320px}.home-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}.home-section{padding:32px;background:#fff;border:1px solid var(--line);border-radius:20px;text-decoration:none;position:relative}.home-section:hover{border-color:#8da187;box-shadow:0 5px 25px #243e360a}.home-section h2{margin-top:10px}.home-section p{color:var(--muted)}.section-icon{width:66px;height:66px;display:flex;align-items:center;justify-content:center;background:#edf1e6;border-radius:18px;margin-bottom:26px}.home-section .eyebrow{display:block}.section-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-weight:600}.home-footnote{color:var(--muted);text-align:center;margin:30px 0;font-size:14px}.rooms-page h1{font-size:39px;margin:9px 0}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:8px 0 27px}.room-heading p{color:var(--muted);margin:10px 0}.room-heading>button{white-space:nowrap}.room-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.room-tabs{display:flex;padding:5px;background:#e9ede5;border-radius:13px;gap:4px;margin-right:auto}.room-tabs button{background:transparent;color:var(--ink);min-height:46px;padding:10px 18px}.room-tabs button[aria-pressed=true]{background:white;box-shadow:0 2px 8px #243e3612}.room-date{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:15px}.room-date input{min-width:158px}.room-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.room-stats>button{background:white;border:1px solid var(--line);color:var(--ink);justify-content:flex-start;padding:25px;text-align:left;gap:20px}.room-stats>button>svg{width:46px;height:46px;background:#edf2e8;padding:11px;border-radius:13px;color:#607d61}.room-stats>button:nth-child(2)>svg{background:#f5efe3;color:#9c7a3b}.room-stats>button>span{font-size:15px;color:var(--muted)}.room-stats strong{display:block;color:var(--ink);font:36px Georgia,serif;margin-top:2px}.room-stats strong small{font:14px Arial,sans-serif;color:var(--muted)}.arrival-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.room-panel{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:26px;margin:0}.panel-heading>span{font-size:14px;color:var(--muted)}.empty-state{padding:36px 24px;text-align:center;color:var(--muted)}.empty-state>svg{color:#8a9c7b}.empty-state p{margin:12px 0 18px}.upcoming{margin-top:23px}.booking-item{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:21px 24px;background:white;color:var(--ink);width:100%;border-radius:0;border-bottom:1px solid #e8ece3;text-align:left;font-weight:400}.booking-item:last-child{border:0}.booking-item:hover{background:#f6f8f1;filter:none}.booking-item>div{min-width:0}.booking-item strong{display:block;font-size:18px;margin:8px 0 5px;overflow-wrap:anywhere}.booking-item>div>span:last-child{font-size:14px;color:var(--muted)}.status-pill{display:inline-block;font-size:12px;padding:4px 10px;border-radius:20px;font-weight:500}.calendar-key .reserved,.status-pill.reserved{background:#f6ead0;color:#806023}.calendar-key .checked_in,.status-pill.checked_in{background:#dcebdd;color:#2c6541}.calendar-key .checked_out,.status-pill.checked_out{background:#e6e9eb;color:#56616a}.status-pill.cancelled{background:#f5e6e3;color:#965847}.booking-item-money{text-align:right;flex-shrink:0;max-width:45%}.booking-item-money b{font-size:17px;font-weight:500}.booking-item-money small{display:block;font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.booking-item-money svg{margin-top:7px}.room-secondary-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:30px}.room-secondary-actions .textbutton{font-size:15px}.room-heading .eyebrow{letter-spacing:1.2px}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.calendar-controls strong{font-weight:500}.calendar-key{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:14px}.calendar-key span{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--muted)}.calendar-key i{width:16px;height:16px;border-radius:4px;border:1px solid #d4dccf}.calendar-key .free{background:white}.calendar-tip{margin:14px 0}.availability-scroll{overflow:auto;border:1px solid #dbe2d6;border-radius:16px;background:white;-webkit-overflow-scrolling:touch}.availability-grid{min-width:780px}.availability-row{display:grid;grid-template-columns:150px repeat(7,minmax(80px,1fr));position:relative;min-height:88px;border-bottom:1px solid #e7ebdf}.availability-row:last-child{border:0}.room-label{position:sticky;left:0;z-index:5;background:white;padding:15px 18px;border-right:1px solid #dbe2d6;display:flex;flex-direction:column;justify-content:center;min-width:0}.room-label b{font-size:16px;overflow-wrap:anywhere}.room-label small{font-size:11px;line-height:1.45;color:var(--muted)}.calendar-header{min-height:69px;background:#eef2e8}.calendar-header>div{font-size:12px;padding:13px 5px;text-align:center;color:var(--muted)}.calendar-header>div>b{display:block;color:var(--ink);font-size:14px}.calendar-header .room-label{background:#eef2e8;text-align:left;padding-left:18px;font-size:14px}.calendar-cell{background:white;border-radius:0;border-right:1px solid #edf0e8;min-height:88px;padding:0;color:#c7d2c2}.calendar-cell:hover{background:#f1f5e9;filter:none;color:#466c47}.calendar-cell.today,.calendar-header>.today{background:#f2f6e9}.calendar-booking{align-self:center;display:block;margin:8px 3px;padding:10px 11px;min-width:0;z-index:2;text-align:left;overflow:hidden;border-radius:8px;min-height:65px;border:1px solid transparent}.calendar-booking.reserved{background:#f2e4c4;color:#72551f;border-color:#e5d5b2}.calendar-booking.checked_in{background:#d9e8d5;color:#2a5736;border-color:#bfd1ba}.calendar-booking.checked_out{background:#e4e9e9;color:#526060;border-color:#d1dada}.calendar-booking b,.calendar-booking small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.calendar-booking small{font-size:10px;margin-top:5px}.booking-search{display:flex;gap:15px;margin:20px 0}.booking-search>label{flex:1;position:relative;display:flex;align-items:center}.booking-search>label>svg{position:absolute;left:15px;color:var(--muted)}.booking-search input{width:100%;padding-left:45px}.checkbox-label{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--muted);font-size:15px;min-height:44px}.checkbox-label input{width:20px;min-height:20px;accent-color:var(--green)}.room-fieldset{padding:0;border:0;min-width:0}.stay-length{border-left:3px solid #b1bf96;background:#edf2e6;padding:11px 15px;border-radius:0 10px 10px 0;font-size:15px}.room-hint{color:#58704c;background:#eef3e7;padding:13px 16px;border-radius:10px;font-size:14px}.payment-heading{display:flex;align-items:center;gap:9px;margin-top:23px;padding-top:20px;border-top:1px solid var(--line);font-size:18px}.payment-balance{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#e6edde;padding:17px 20px;border-radius:12px}.payment-balance span{font-size:15px}.payment-balance strong{font-size:23px;font-weight:500}.rate-calculator>summary{font-size:15px}.rate-calculator .form-grid>button{align-self:center;font-size:15px}.room-setting-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.room-setting-row,.tariff-profile{border-bottom:1px solid var(--line)}.tariff-profile{margin-top:25px;padding-bottom:12px}.tariff-profile h3{font-size:18px}.tariff-rows{margin-top:12px}.tariff-rows>div{display:flex;justify-content:space-between;gap:15px;font-size:14px;padding:7px 0;border-bottom:1px solid #edf0e7}.room-dialog .quiet{font-size:14px}.rooms-page .notice.success>span{display:flex;align-items:center;gap:8px}@media(max-width:1050px){.room-heading{align-items:flex-start}.room-heading h1{font-size:34px}.room-date{flex-wrap:wrap}.arrival-columns{grid-template-columns:1fr}.room-stats>button{padding:20px;gap:12px}}@media(max-width:650px){body:has(.home-page),body:has(.rooms-page){padding-bottom:0}.home-hero{height:220px}.home-hero h1{font-size:34px}.home-sections{grid-template-columns:1fr;gap:17px;margin-top:18px}.home-section{padding:24px}.home-section h2{font-size:27px}.home-section p{font-size:16px}.section-icon{width:50px;height:50px;border-radius:13px;margin-bottom:20px}.section-switch{max-width:none;margin:0 0 22px}.section-switch a{padding:11px 15px;font-size:17px}.room-heading{display:block;margin-bottom:24px}.room-heading h1{font-size:31px}.room-heading .eyebrow{font-size:10px;letter-spacing:.7px}.room-heading p{font-size:15px}.room-heading>button{width:100%;margin-top:14px}.room-tabs{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.room-tabs button{padding:11px 9px;font-size:15px}.room-toolbar{gap:10px}.room-date{flex:1;flex-wrap:nowrap;font-size:14px}.room-date input{min-width:0;flex:1}.today-button{padding:10px;white-space:nowrap}.room-stats{gap:9px}.room-stats>button{display:block;padding:16px 10px;text-align:center}.room-stats>button>svg{width:36px;height:36px;padding:8px;margin-bottom:5px}.room-stats>button>span{font-size:13px}.room-stats strong{font-size:31px}.room-stats strong small{font-size:11px}.panel-heading{padding:20px}.panel-heading h2{font-size:25px}.booking-item{padding:18px;gap:12px;align-items:flex-start}.booking-item strong{font-size:18px}.booking-item>div>span:last-child{font-size:13px;display:block}.booking-item-money{max-width:43%;padding-top:6px}.booking-item-money b{font-size:16px}.booking-item-money small{font-size:12px}.calendar-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-controls strong{grid-row:1;grid-column:1/-1;text-align:center;font-size:16px}.calendar-controls button{font-size:14px;padding:11px 8px}.calendar-key{gap:12px}.calendar-key span{font-size:12px}.availability-grid{min-width:740px}.availability-row{grid-template-columns:115px repeat(7,minmax(85px,1fr))}.room-label{padding:12px}.calendar-header .room-label{padding-left:12px}.booking-search{flex-direction:column}.booking-search select{width:100%}.room-secondary-actions{gap:14px;align-items:stretch;flex-direction:column}.room-secondary-actions .secondary{width:100%}.room-secondary-actions .textbutton{font-size:16px;justify-content:center;min-height:48px}.room-dialog .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-dialog input[type=date]{padding:11px 7px;max-width:100%;width:100%}.room-dialog .payment-balance{padding:14px}.room-dialog .payment-balance strong{font-size:20px}.room-dialog .field{font-size:14px}.room-setting-row{grid-template-columns:1fr}.room-setting-row .field{margin:10px 0}.room-setting-row{padding:12px 0}.rate-calculator .form-grid{grid-template-columns:1fr}.room-dialog .stay-length{font-size:15px}.tariff-rows>div{font-size:13px}.room-dialog .steps p{font-size:16px}.rooms-page footer{margin-top:30px}}@media print{.booking-search,.calendar-controls>button,.calendar-tip,.checkbox-label,.room-heading>button,.room-secondary-actions,.room-toolbar,.section-switch{display:none!important}.rooms-page main{padding:0}.room-heading{margin:0 0 14px}.room-heading h1{font-size:26px}.availability-scroll{overflow:visible}.availability-grid{min-width:0}.availability-row{grid-template-columns:100px repeat(7,minmax(0,1fr));min-height:60px}.calendar-cell{min-height:60px}.calendar-booking{min-height:45px;padding:5px}.calendar-booking b{font-size:10px}.calendar-booking small{font-size:9px}.room-label{position:static;padding:7px}.room-label b{font-size:12px}.calendar-header>div,.calendar-header>div>b{font-size:10px}.booking-item{break-inside:avoid;padding:12px;border-bottom:1px solid #ddd}.booking-item-money svg{display:none}.room-panel{overflow:visible}.room-dialog fieldset{border:0}.room-dialog .rate-calculator{display:none}}.home-welcome{display:grid;grid-template-columns:1fr 1.15fr;background:#203f36;border-radius:24px;overflow:hidden;min-height:350px;color:#fff}.welcome-copy{padding:42px;align-self:center}.welcome-copy h1{font-size:48px;margin:18px 0}.welcome-copy p{color:#edf1e9;font-size:18px}.welcome-caption{display:block;color:#dbc99f;font-size:14px;margin-top:30px}.welcome-photo{position:relative;min-height:350px}.welcome-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.welcome-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#123a3180,transparent 50%)}.welcome-photo>span{position:absolute;z-index:1;bottom:24px;left:25px;font-family:Georgia,serif;font-size:24px;text-shadow:0 1px 6px #123a31}.home-section{box-shadow:0 6px 24px #243e3606;transition:border-color .15s,box-shadow .15s}.home-section:hover{border-color:#91a38b;box-shadow:0 9px 26px #243e3610}.hotel-banner{height:230px;position:relative;background:#203f36;border-radius:20px;overflow:hidden;margin-bottom:28px;color:#fff}.hotel-banner>img{width:100%;height:100%;object-fit:cover;object-position:center 57%;position:absolute;inset:0}.hotel-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#122e25ed,#122e2580 48%,#122e2500)}.hotel-banner>div{position:relative;z-index:1;padding:27px 34px}.hotel-banner p{font-family:Georgia,serif;font-size:33px;line-height:1.15;margin:12px 0}.hotel-banner-address{font-size:14px;color:#e7e9dd}.dialog-content{border:0;margin:0;padding:0;min-width:0}.day-result b,.meal-numbers b,.meal-numbers strong,.payment-balance strong,.product-row strong{font-variant-numeric:tabular-nums}.day-result>div{min-width:0}.day-result b{overflow-wrap:anywhere}.hotel-banner .eyebrow{color:#ead7b1}@media(max-width:800px){.home-welcome{grid-template-columns:1fr;min-height:0}.welcome-copy{padding:27px}.welcome-copy h1{font-size:35px}.welcome-copy p{font-size:16px}.welcome-caption{margin-top:18px}.welcome-photo{min-height:205px;max-height:230px}.welcome-photo>span{font-size:21px;bottom:18px;left:25px}.hotel-banner{height:180px;margin-bottom:24px}.hotel-banner>div{padding:21px 24px}.hotel-banner p{font-size:28px}.hotel-banner .eyebrow{font-size:10px;letter-spacing:1.4px}.hotel-banner-address{font-size:13px}.meal-numbers strong{font-size:22px}.day-result b{font-size:20px}}@media print{.home-welcome,.hotel-banner{display:none!important}.dialog-content{border:0}dialog[open]{overflow:visible}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.menu-date-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.menu-date-controls>select{max-width:230px}.waiting-editor{background:#f4eee1;border:1px solid #e2d4b8;border-radius:12px;padding:4px 16px;margin:20px 0}.waiting-editor .checkbox-label{color:var(--ink)}.waiting-status{background:#edf0e5;border-radius:10px;padding:12px 16px;font-size:15px}.transfers{margin-top:22px}.transfers .empty-state{padding:15px;margin:0;font-size:15px}@media(max-width:650px){.menu-date-controls{width:100%}.menu-date-controls>select{width:100%;max-width:none}.waiting-editor{padding:2px 12px}.waiting-editor .checkbox-label{font-size:15px}.waiting-editor .form-grid{grid-template-columns:1fr 1fr}}.guide-page main{max-width:960px}.guide-back{display:inline-flex;align-items:center;gap:8px;min-height:48px}.guide-intro{font-size:18px;color:var(--muted);max-width:680px}.guide-card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;margin:24px 0}.guide-card>svg{color:#967c4e;margin-bottom:14px}.guide-card h2{font-size:29px}.guide-card ol{padding-left:24px}.guide-card li{padding:7px 0 7px 4px}.guide-card p{font-size:16px}.guide-button{display:inline-flex;min-height:50px;align-items:center;background:var(--green);color:white;padding:12px 22px;border-radius:12px;text-decoration:none;margin-top:12px}.home-help{justify-content:space-between;gap:15px;background:#ebeede;border-radius:15px;padding:20px 25px;margin-top:24px}.home-help,.home-help a{display:flex;align-items:center}.home-help a{font-weight:500;min-height:44px}.home-help p{margin:0;color:var(--muted);font-size:15px}@media(max-width:600px){body:has(.guide-page){padding-bottom:0}.guide-page h1{font-size:34px}.guide-card{padding:23px}.guide-card h2{font-size:27px}.home-help{display:block;padding:18px 22px}.home-help p{margin-top:5px}}.stay-policy{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:16px;color:var(--ink)!important}.stay-policy small{font-size:13px;color:var(--muted)}.turnover-notice{background:#fff3db;border:1px solid #e7cf9a;border-radius:14px;padding:18px 20px;margin:18px 0;color:#674b21}.turnover-notice h2{font-size:24px;margin:0 0 10px}.turnover-notice p{font-size:15px;line-height:1.5;margin:8px 0}.turnover-row{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid #e8d5ae}.turnover-row .textbutton{color:#674b21;min-height:44px;text-align:left;overflow-wrap:anywhere}.turnover-row>b{min-width:65px}@media(max-width:650px){.turnover-notice{padding:16px}.turnover-notice h2{font-size:22px}.turnover-row{display:grid;grid-template-columns:1fr;gap:0}.turnover-row .textbutton{justify-content:flex-start}.arrival-columns .panel-heading,.transfers .panel-heading{align-items:flex-start;flex-wrap:wrap}.arrival-columns .panel-heading h2,.transfers .panel-heading h2{font-size:23px}}img{max-width:100%}a,button,input,select,textarea{touch-action:manipulation}button,summary{-webkit-tap-highlight-color:transparent}summary{min-height:48px;padding:12px 0;cursor:pointer}button{overflow-wrap:anywhere}fieldset{min-width:0}.field input,.field select,.field textarea{width:100%}.section-switch{max-width:680px}.section-switch a{min-width:0}.family-caption{display:block;font-size:13px!important;margin-top:6px}.kitchen-operations,.operation-details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin:20px 0}.operation-details>summary{font-size:18px;font-weight:600}.meal-plan-row{border-bottom:1px solid var(--line);padding:15px 0}.meal-plan-row:last-child{border:0}.meal-edge{display:flex;flex-wrap:wrap;gap:10px 20px}.meal-edge label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:15px}.meal-edge input{min-height:20px;width:20px;accent-color:var(--green)}.family-editor{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.readiness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}.readiness-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.readiness-row>div,.readiness-row>span{min-width:0;overflow-wrap:anywhere}.readiness-row button{font-size:15px;padding:10px 14px}.readiness-status{display:block;font-size:14px}.readiness-status.ready{color:#286445}.readiness-status.dirty{color:#986313}.readiness-status.occupied{color:#627069}.closed-day{border-left:4px solid #568767;padding-left:18px}.closed-day>strong{display:block;font-size:25px;margin-top:8px}.summary-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-tiles>a,.summary-tiles>div{background:#edf1e7;border:1px solid #d9e1d3;border-radius:14px;padding:19px;text-decoration:none;min-width:0}.summary-tiles span{display:block;font-size:14px;color:var(--muted)}.summary-tiles b{display:block;font-size:27px;font-weight:500;margin-top:9px;overflow-wrap:anywhere}.today-dashboard{margin:32px 0}.today-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.today-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 23px;border-bottom:1px solid var(--line);text-decoration:none;min-height:68px}.today-row>span{min-width:0}.today-row b,.today-row small{display:block;overflow-wrap:anywhere}.today-row small{color:var(--muted);margin:4px 0;font-size:14px}.today-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.today-controls input{max-width:190px}.connection-banner{background:#81382c;color:#fff;text-align:center;padding:12px 18px;position:sticky;top:0;z-index:60;font-size:16px}.install-bar{padding:7px 5%;text-align:right;background:#ebefe4;font-size:13px}.install-bar a{min-height:40px;display:inline-flex;align-items:center}.install-bar button{font-size:14px}.home-welcome,.welcome-photo{min-height:240px}.welcome-copy{padding:30px 38px}.welcome-copy h1{font-size:39px}.welcome-caption{margin-top:16px}.guide-page code{overflow-wrap:anywhere}.dialog-head{gap:10px}.dialog-head h2{min-width:0;overflow-wrap:anywhere}dialog{width:calc(100% - 32px);max-width:700px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}.room-dialog{max-width:760px}dialog:not(:modal)[open]{position:fixed;inset:16px auto auto 50%;transform:translateX(-50%);z-index:100;box-shadow:0 0 0 100vmax #17251db3}.saved-at{font-size:12px;color:var(--muted)}@media(min-width:1600px){main{padding-left:40px;padding-right:40px}.topbar{padding-left:max(40px,calc((100vw - 1360px)/2));padding-right:max(40px,calc((100vw - 1360px)/2))}}@media(max-width:1050px){.summary-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.today-columns{grid-template-columns:1fr}.today-dashboard .section-head{align-items:flex-start;flex-wrap:wrap}.meal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}}@media(max-width:700px){.readiness-list{grid-template-columns:1fr}.today-controls{width:100%}.today-row{padding:16px}.kitchen-operations,.operation-details{padding:17px}.home-welcome{min-height:0}.welcome-photo{min-height:170px}.welcome-copy{padding:23px}.welcome-copy h1{font-size:32px}.welcome-caption{font-size:13px}.today-dashboard{margin-top:25px}.section-switch a{padding:10px;font-size:16px;gap:7px}.section-switch a svg{width:19px;flex-shrink:0}.summary-tiles{gap:10px}.summary-tiles>a,.summary-tiles>div{padding:16px}.summary-tiles b{font-size:24px}}@media(max-width:650px){body{padding-bottom:0}.kitchen-main{padding-bottom:110px}.install-bar{text-align:center}.brand{min-width:0}.brandmark{flex-shrink:0}.today-controls input{flex:1;min-width:0}.readiness-row{gap:10px}.room-panel{min-width:0}.day-result,.payment-balance{flex-wrap:wrap}.day-result div:first-child{border-right:0;padding-right:0}.room-stats>button{min-width:0}.topbar{padding:16px 4%}.section-head{flex-wrap:wrap}}@media(max-width:380px){main{padding-left:12px;padding-right:12px}.form-grid,.room-dialog .form-grid,.waiting-editor .form-grid{grid-template-columns:1fr}.summary-tiles{grid-template-columns:1fr 1fr}.summary-tiles b{font-size:21px}.summary-tiles span{font-size:12px}.section-switch a{flex-direction:column;gap:3px;padding:7px 3px}.brand{font-size:19px;gap:9px}.brand small{font-size:8px;letter-spacing:.8px}.brandmark{width:41px;height:41px;font-size:19px}.room-stats{grid-template-columns:1fr}.room-stats>button{display:flex;text-align:left;gap:14px}.room-stats strong{font-size:27px}.booking-item{flex-wrap:wrap}.booking-item-money{max-width:100%;text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-item-money small,.booking-item-money svg{margin:0}.room-tabs button{font-size:13px;padding:10px 5px}.readiness-row{flex-wrap:wrap}.tabs button{font-size:11px}.today-controls button{padding:10px}.dialog-head h2{font-size:24px}.meal-title{flex-wrap:wrap}.guests{margin-left:0}.today-row{flex-wrap:wrap}.install-bar{font-size:12px}}@media(max-height:500px) and (orientation:landscape){.hero,.hotel-banner{height:130px}.home-welcome{display:none}dialog{max-height:calc(100dvh - 16px);margin:8px auto}.dialog-head{top:0}.tabs{position:static}.kitchen-main{padding-bottom:24px}}@media(hover:none){button:hover{filter:none}.home-section:hover{box-shadow:none}}@media print{.connection-banner,.install-bar,.kitchen-operations>.actions,.readiness-row button,.today-controls{display:none!important}.today-columns{grid-template-columns:1fr 1fr}.closed-day,.room-panel,.today-dashboard{break-inside:avoid}.kitchen-main{padding-bottom:0}.summary-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.meal-people{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-days{background:#f2f5ed;border-radius:12px;padding:10px 16px;margin:18px 0}.meal-days h4{margin-top:24px}.account-breakdown{background:#f0f4ea;border-radius:12px;padding:17px;margin:15px 0;display:grid;gap:10px}.account-breakdown>span{display:flex;justify-content:space-between;gap:18px}.account-breakdown b{font-variant-numeric:tabular-nums}.sheet-link{display:inline-flex;align-items:center;min-height:48px;font-weight:600;margin-bottom:12px}.cooking-page main{max-width:1050px}.cooking-page h1{font-size:40px}.cooking-meal{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin:24px 0}.portion-banner{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:15px 0;padding:18px;background:#eef3e7;border-radius:12px}.portion-banner strong{font-size:25px}.portion-banner span{color:var(--muted)}.cook-dish{padding:15px 0;border-bottom:1px solid var(--line)}.cook-dish p{font-size:16px}.cook-line{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:8px 0;border-bottom:1px solid #e7ebdf}.cook-line b{white-space:nowrap;font-variant-numeric:tabular-nums}.cook-families{margin-top:18px}.cook-line span{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){.meal-people{grid-template-columns:1fr}.account-breakdown>span{flex-wrap:wrap;gap:5px}.cooking-meal{padding:19px}.cooking-page h1{font-size:32px}.portion-banner strong{font-size:23px}.cook-line{gap:12px}.cook-line b{white-space:normal;text-align:right}}@media print{.cooking-page .section-switch,.cooking-page .today-controls{display:none!important}.cooking-page main{padding:0;max-width:none}.cooking-meal{padding:14px;border-radius:0;break-inside:auto;margin:10px 0}.cook-dish{break-inside:avoid}.cook-families,.cooking-page details>summary{display:none}.cooking-page details>:not(summary){display:block!important}.cooking-page .cook-line{display:flex!important}.portion-banner{padding:10px}.cooking-page h1{font-size:26px}.cooking-page h2{font-size:24px}.cooking-page h3{font-size:19px}.cooking-page .cook-line,.cooking-page p{font-size:13px}}.saved-status{font-size:14px;color:#445f58;margin:18px 0;line-height:1.6;overflow-wrap:anywhere}.undo-booking{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;margin:16px 0;border:1px solid #c9d9d2;border-radius:18px;background:#f1f7f3;color:#183b32}.undo-booking p{margin:6px 0 0;line-height:1.6}.undo-booking button{min-height:48px}.undo-confirm{flex:1 1 100%}.undo-confirm .actions{flex-wrap:wrap}@media(max-width:600px){.undo-booking{padding:16px}.undo-booking>button{width:100%}}@media print{.saved-status,.undo-booking{display:none}}body{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance}h3{font-weight:650}button,input,select,textarea{font-size:1rem;line-height:1.45}button{font-weight:600;transition:background-color .15s,border-color .15s;max-width:100%}input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#bdcbbf;border-radius:12px;box-shadow:0 1px 2px #243e3605}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b8cbbd;outline-offset:2px;border-color:var(--green)}input::placeholder,textarea::placeholder{color:#717d75;opacity:1}.field{font-weight:550}.field input,.field select,.field textarea{font-weight:400}.guide-card,.list-card,.meal-card,.room-panel{box-shadow:0 4px 18px #243e3605}.dialog-head h2{font-size:clamp(24px,4vw,30px);line-height:1.25}.day-result strong,.room-stats strong{font-family:var(--font-ui);font-weight:650;font-variant-numeric:tabular-nums}.brand small,.room-stats strong small{font-family:var(--font-ui)}.booking-contact-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.booking-contact-section h3,.booking-section-heading{font-size:18px}.booking-section-heading{margin:26px 0 6px}.booking-contact-section .field{margin:14px 0 0}.booking-contact-section .quiet{margin:12px 0 0}.guest-contact-actions{display:flex;gap:8px 12px;flex-wrap:wrap;min-width:0}.contact-plain,.guest-contact-actions a{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;max-width:100%;font-size:15px;line-height:1.4;overflow-wrap:anywhere}.guest-contact-actions a{background:#f0f5ef;border:1px solid #d7e2d4;border-radius:10px;text-decoration:none;font-weight:550}.guest-contact-actions svg{flex-shrink:0}.guest-contact-actions span{min-width:0;overflow-wrap:anywhere}.booking-contact-section .guest-contact-actions{margin-top:16px}.booking-card{border-bottom:1px solid var(--line)}.booking-card:last-child{border:0}.booking-card>.booking-item{border:0;padding-bottom:12px}.booking-card-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0 24px 20px}.meal-status{font-size:14px;color:var(--muted)}.meal-status.pending{color:#79591f;background:#faf2e3;padding:7px 10px;border-radius:8px}.guest-total{font-size:16px;margin:22px 0 0}.guest-total b{font-weight:600}.family-caption{font-size:15px!important}.booking-item-money small{font-size:14px}@media(max-width:650px){.booking-contact-section{padding:16px}.contact-fields{grid-template-columns:1fr}.booking-card-footer{padding:0 16px 16px}.booking-item{padding:18px 16px 12px}.room-dialog .field{font-size:16px}.room-dialog .quiet{font-size:15px}.booking-contact-section .guest-contact-actions a{width:100%}}@media(hover:hover){.guest-contact-actions a:hover{background:#e6eee3;border-color:#9daf9a}}.meal-statistics{margin:20px 0;padding:18px;background:#f0f4ea;border:1px solid #dbe4d2;border-radius:12px}.meal-statistics h3{font-size:18px;margin:0 0 12px}.meal-statistics-list{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.meal-statistics-list>div{min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.meal-statistics-list dt{font-size:15px;color:var(--muted)}.meal-statistics-list dd{margin:6px 0 0;display:grid;gap:5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.meal-statistics-list strong{font-size:25px;font-weight:600;color:var(--green)}.meal-statistics-list span{font-size:14px}.meal-statistics-list small{font-size:13px;color:var(--muted);line-height:1.5}.meal-statistics>.quiet{margin:12px 0 0}@media(max-width:600px){.meal-statistics{padding:14px}.meal-statistics-list{grid-template-columns:1fr;gap:9px}.meal-statistics-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:10px;align-items:start}.meal-statistics-list dt{padding-top:4px}.meal-statistics-list dd{margin:0}.meal-statistics-list strong{font-size:23px}}.brandmark.brandcrest{width:58px;height:58px;border:0;border-radius:0;background:transparent;flex-shrink:0}.brandcrest img{display:block;width:100%;height:100%;object-fit:contain}@media(max-width:600px){.brandmark.brandcrest{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){button{transition:none}}@media print{.booking-card{break-inside:avoid}.guest-contact-actions a{background:none;border:0;padding:2px;min-height:0;font-size:12px}.guest-contact-actions svg{display:none}.booking-card-footer{padding:0 12px 10px}.meal-status{font-size:12px}}.season-page main{max-width:1280px;padding-bottom:40px}.season-page .room-heading{margin-top:18px}.season-page .guide-button{gap:9px;margin:0}.season-tabs{float:none;max-width:700px;margin:25px 0;display:flex}.season-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.season-controls .field{min-width:200px;flex:1}.season-days{display:grid;gap:20px;margin-top:24px}.season-day{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.season-day .panel-heading h2{display:flex;align-items:center;gap:10px;font-size:23px}.season-day .panel-heading a{min-height:44px;display:flex;align-items:center;font-size:15px}.season-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px}.season-meals section{min-width:0}.season-meals h3{font-size:17px;color:#526b5c}.season-meals ul{padding-left:19px;margin:12px 0}.season-meals li{padding:3px 0;font-size:16px}.season-recipe summary{display:flex;gap:12px;align-items:center}.season-recipe summary small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.season-ingredients>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.season-ingredients small{display:block;color:var(--muted)}.season-ingredients b{white-space:nowrap;font-variant-numeric:tabular-nums}.recipe-method{white-space:pre-line}.market-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.market-list article{background:white;border:1px solid var(--line);border-radius:16px;padding:21px}.market-list small{color:var(--muted)}.season-section-title{margin:35px 0 16px}.season-recipe summary svg{flex-shrink:0}.season-example .summary-tiles{margin:20px 0}.season-example .summary-tiles b{font-size:23px}@media(max-width:700px){.season-meals{grid-template-columns:1fr;gap:18px;padding:20px}.season-meals section+section{border-top:1px solid var(--line);padding-top:18px}.season-day .panel-heading{padding:15px 20px;flex-wrap:wrap;gap:4px}.season-day .panel-heading h2{font-size:21px}.season-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.season-tabs button{font-size:15px;padding:10px 7px}.season-page .room-heading .guide-button{margin-top:15px}.season-controls .field{min-width:0;flex-basis:100%}.season-ingredients>div{font-size:15px}.season-page h1{font-size:31px}}@media print{.season-controls,.season-day .panel-heading a,.season-example,.season-page .guide-back,.season-page .guide-button,.season-page footer,.season-tabs{display:none!important}.season-page main{padding:0}.season-meals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px}.season-meals li{font-size:11px}.season-meals section+section{border:0;padding:0}.season-day{break-inside:avoid;margin-bottom:10px}.season-day .panel-heading{padding:10px}.season-day .panel-heading h2{font-size:17px}.season-days{gap:10px}}.brandmark.brandcrest{border-radius:14px;overflow:hidden}.brand{gap:13px}.brand>span:last-child{font-family:var(--font-ui);font-size:20px;font-weight:650;letter-spacing:-.025em}.brand small{font-size:10px;font-weight:600;letter-spacing:.12em;line-height:1.6}.rate-policy{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#f0f4ed;margin:18px 0}.rate-policy .field{margin-top:8px}.rate-policy .quiet{margin-bottom:0}input[readonly]{background:#f0f2ed;color:#385546}.account-breakdown{font-variant-numeric:tabular-nums}.account-breakdown span{padding:7px 0}.room-dialog .save{position:sticky;bottom:0;box-shadow:0 -8px 18px #f6f5ef;padding:16px}.booking-item-money{font-variant-numeric:tabular-nums}.field small{font-weight:400;line-height:1.5}.room-dialog summary{min-height:48px;padding-top:12px;padding-bottom:12px}.payment-heading{margin-top:28px}@media(max-width:600px){.brand>span:last-child{font-size:18px}.brand small{font-size:9px;letter-spacing:.07em}.brandmark.brandcrest{border-radius:12px}.rate-policy{padding:15px}.account-breakdown span{display:flex;justify-content:space-between;gap:10px}.account-breakdown b{text-align:right}}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.workspace-heading h1{font-size:34px;margin:6px 0}.workspace-heading p{margin:6px 0;color:var(--muted)}.rooms-page .room-heading{margin:22px 0}.rooms-page .room-heading h1{font-size:34px;margin:7px 0}.rooms-page .room-heading p{margin:7px 0}.quick-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 24px}.quick-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 18px;border-radius:12px;font-weight:600;text-decoration:none}.quick-primary{background:var(--green);color:white}.quick-sheet{background:white;border:1px solid var(--line)}.quick-actions form{display:flex;gap:8px;flex:1;min-width:280px}.booking-card-footer .quick-payment{margin-left:auto;min-height:44px;white-space:nowrap}.result-count{font-size:14px;color:var(--muted);margin:12px 0}.booking-results .booking-card{content-visibility:auto;contain-intrinsic-size:auto 190px}.rooms-page .booking-search{margin:16px 0}.rooms-page .room-dialog .full.save{position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 20px #f6f5ef}.workspace-heading .guide-button{margin:0;flex-shrink:0}.home-page .quick-actions{position:relative;z-index:1}@media(max-width:700px){.quick-actions{gap:10px}.quick-actions form{flex-basis:100%;order:3;min-width:0}.quick-actions a{flex:1;padding:11px 12px;font-size:15px}.quick-actions form button{padding:10px 14px}.quick-actions input{font-size:16px}.workspace-heading{display:block;margin:20px 0}.workspace-heading .guide-button{margin-top:10px;display:inline-flex}.rooms-page .room-heading h1,.workspace-heading h1{font-size:28px}.rooms-page .room-heading{align-items:flex-start;gap:12px}.booking-card-footer{flex-wrap:wrap;gap:8px}.booking-card-footer .quick-payment{margin-left:0}.booking-card-footer .meal-status{margin-left:auto}.rooms-page .room-heading>button{min-height:48px}.rooms-page .room-heading .eyebrow{display:none}}@media print{.quick-actions,.quick-payment,.workspace-heading .guide-button{display:none!important}.booking-results .booking-card{content-visibility:visible;contain-intrinsic-size:none}.rooms-page .room-dialog .full.save{position:static;box-shadow:none}}.search-field{min-width:0;flex:1}.search-category,.search-field>label{display:block;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink)}.search-input-wrap{display:flex;align-items:center;gap:12px;margin-top:8px;padding:0 14px;background:#fff;border:1px solid #bdcbbf;border-radius:14px;min-height:58px;transition:border-color .15s,box-shadow .15s}.search-input-wrap:focus-within{border-color:#416e56;box-shadow:0 0 0 3px #416e561c}.search-input-wrap>svg{flex-shrink:0;color:#587763}.search-input-wrap input{border:0!important;border-radius:0;background:transparent;box-shadow:none;min-height:56px;min-width:0;width:100%;padding:12px 0!important;outline:0;flex:1;font-size:17px}.search-input-wrap input::-webkit-search-cancel-button{-webkit-appearance:none}.search-input-wrap .search-clear{border-radius:50%;padding:10px;min-height:44px;width:44px;min-width:44px;background:#edf2e9;color:#365841;flex-shrink:0}.search-hint{font-size:13px;font-weight:400;line-height:1.5;color:#657568;margin:8px 0 0}.booking-search-panel{background:#edf2e9;border:1px solid #d6e0d2;border-radius:20px;padding:22px;margin:20px 0}.booking-search-main{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;align-items:start}.search-category select{display:block;width:100%;margin-top:8px;min-height:58px;font-size:16px;font-weight:400;background:#fff}.search-filterbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid #d6e0d2;flex-wrap:wrap}.search-pills{display:flex;gap:7px;flex-wrap:wrap}.search-pills button{padding:9px 14px;min-height:44px;border:1px solid #d0dbca;border-radius:24px;background:transparent;color:#45614c;font-size:14px}.search-pills button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.search-reset{font-size:14px;white-space:nowrap}.search-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 12px}.search-results-head .result-count{margin:0;font-size:16px;overflow-wrap:anywhere}.search-results-head .checkbox-label{font-size:14px;margin:0;min-height:44px}.search-results-head .result-count>span{display:block;font-size:14px;margin-top:3px}.search-empty{text-align:center;padding:40px 22px;background:white;border-radius:18px;border:1px dashed #ccd8c7}.search-empty p{max-width:420px;margin:12px auto 20px;color:var(--muted);font-size:16px}.search-empty-icon{display:inline-flex;background:#edf2e9;border-radius:50%;padding:16px;margin-bottom:16px;color:#587763}.search-note{padding:0 24px;margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-height:4.5em;overflow:auto}mark{background:#eee1b8;color:#243e36;padding:0 .04em;border-radius:3px}.quick-actions form{align-items:flex-end}.quick-actions .search-field>label{font-size:14px}.quick-actions .search-input-wrap{margin-top:5px}.quick-actions form>button{min-height:58px;margin-bottom:0}.quick-actions form input{padding-left:0}.searchrow{align-items:flex-end}.searchrow>.search-field{flex:1}.recipe-grid{margin-top:16px}@media(max-width:700px){.booking-search-panel{padding:16px;border-radius:16px}.booking-search-main{grid-template-columns:minmax(0,1fr);gap:15px}.search-category select{min-height:50px}.search-input-wrap{gap:9px;padding:0 10px}.search-input-wrap input{font-size:16px}.search-filterbar{gap:10px;margin-top:14px;padding-top:13px}.search-pills{gap:6px}.search-pills button{font-size:13px;padding:9px 11px}.search-results-head{align-items:flex-start}.search-results-head .checkbox-label{width:100%}.search-empty{padding:30px 18px}.search-note{padding:0 16px}.quick-actions form{gap:7px}.quick-actions form>button{padding:10px 14px}.quick-actions .search-input-wrap{min-height:54px}.quick-actions .search-input-wrap input{min-height:52px}.quick-actions form>button{min-height:54px}.searchrow>.search-field{flex-basis:100%}}@media print{.booking-search-panel,.search-field,.search-pills,.search-reset,.search-results-head .checkbox-label{display:none!important}mark{background:none;color:inherit}.search-note{max-height:none;overflow:visible}}.family-rooms,.room-moves{margin:18px 0;padding:18px;border:1px solid #b9ccd9;border-radius:16px;background:#f3f8fc}.room-moves{background:#f5f5fc;border-color:#cccee6}.family-rooms-heading{display:flex;align-items:flex-start;gap:12px;color:#244f75;margin-bottom:14px}.room-moves .family-rooms-heading{color:#514b84}.family-rooms-heading svg{flex-shrink:0;margin-top:3px}.family-rooms-heading h3{margin:0 0 5px;font-size:18px;line-height:1.35}.family-rooms-heading p{margin:0;color:#475569;font-size:15px;line-height:1.5}.family-room-row{display:flex;align-items:center;gap:12px;margin:14px 0}.family-room-row .field{flex:1;min-width:0}.family-room-remove{flex-shrink:0}.family-room-add{margin-top:12px}.family-room-badge{display:inline-block;background:#e1edf9;color:#244f75;border-radius:7px;padding:4px 8px;margin-right:8px;font-size:13px}.family-account-note{background:#e9f3fa;border:1px solid #b9ccd9;color:#244f75}.move-timeline{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-left:4px solid #7771aa;background:#fff;border-radius:6px;margin-bottom:12px}.move-timeline span{font-size:14px;color:#475569}.move-row{padding:14px;background:white;border:1px solid #d5d7e6;border-radius:12px;margin-bottom:12px}.move-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#514b84}.move-row .textbutton{min-height:44px}@media(max-width:600px){.family-rooms,.room-moves{padding:14px 12px}.family-room-row{align-items:stretch;flex-direction:column;gap:8px}.family-room-remove{align-self:flex-end}.move-row{padding:12px}.move-row .form-grid{grid-template-columns:minmax(0,1fr)}.family-rooms select,.room-moves select{width:100%;min-width:0}.family-rooms button,.room-moves button{min-height:44px}.family-room-badge{display:table;margin-bottom:5px}}