:root{--ink:#20283c;--green:#2458cf;--brand-accent:#2458cf;--muted:#60677b;--line:#dde3f0;--bg:#f6f8ff;--lime:#eaf0ff}body{color:var(--ink);background:var(--bg)}aside,.panel,.auth-card{background:#fff}.hero{background:color-mix(in srgb,var(--brand-accent) 15%,white);border:1px solid color-mix(in srgb,var(--brand-accent) 25%,white)}.hero p{color:#45516a}nav button.active,.badge,.tip,.notice,.avatar,.week-day.is-today .week-day-head{background:color-mix(in srgb,var(--brand-accent) 13%,white)}nav button.active{color:var(--green);box-shadow:inset 3px 0 var(--brand-accent)}.btn:not(.secondary),.auth-submit{background:var(--green);color:#fff}.brand{letter-spacing:0}.brand .sector-logo{width:100%;max-width:230px;height:auto}.brand .logo-name{display:none}.booking-brand img{width:250px;max-width:80vw;height:auto;display:block}.booking-brand span{color:#2458cf}.auth-card input:focus,.booking-public input:focus,.booking-public select:focus{outline:2px solid #2458cf;outline-offset:2px}.auth-intro img{width:300px}.auth-intro p,.auth-note{color:#60677b}.brandname{color:#2458cf}.booking-public .booking-times button{background:#edf1fc;color:#2458cf}.booking-public .booking-times button[aria-pressed=true]{background:#2458cf;color:#fff}@media(max-width:700px){.auth-intro img{width:230px}.brand .sector-logo{max-width:180px}}

/* Buttons must occupy their padding even when rendered as links. */
.btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1.35;max-width:100%;box-sizing:border-box;white-space:normal}
.support-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;align-items:stretch}
.feature-options{display:grid;gap:12px;margin-top:18px}.feature-options .checkline{align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:9px}.feature-options small{display:block;font-weight:400;line-height:1.6;margin-top:5px;color:var(--muted)}
@media(max-width:700px){
 body{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
 body::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:100;pointer-events:none}
 .support-actions{flex-direction:column;align-items:stretch}.support-actions>.btn{width:100%;min-height:44px}
 .auth-account{position:fixed;box-sizing:border-box;left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;margin:0;padding:8px 12px;justify-content:space-between;flex-wrap:nowrap;gap:10px;box-shadow:0 3px 15px #0001}body:has(>.auth-account){padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .auth-account span{max-width:none;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-account button{min-height:44px;flex-shrink:0}
 footer{padding-bottom:16px}.feedback-entry{display:flex;flex-wrap:wrap;gap:12px}.feedback-entry .btn{min-height:44px}
 dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}
}

.cost-ingredient{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;margin:14px 0;align-items:end}.cost-ingredient .cost-source{grid-column:1/-1}.cost-ingredient label{min-width:0;font-size:12px}.cost-ingredient input,.cost-ingredient select{min-width:0;width:100%;box-sizing:border-box}.cost-ingredient input[readonly]{background:#f2f4fa}.cost-ingredient .link{justify-self:end;min-height:44px}@media(max-width:700px){.cost-ingredient{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.cost-ingredient input,.cost-ingredient select{font-size:16px;padding:9px}.cost-ingredient .cost-source{grid-column:1/-1}.title-row:has([data-action="cost-materials"]){flex-wrap:wrap}.title-row [data-action="cost-materials"]{max-width:none}.cost-results{gap:14px}.cost-results strong{font-size:20px}}
.auth-intro img{display:block;height:auto;margin-left:0}.auth-intro>.auth-eyebrow{display:block;width:auto;text-align:left;line-height:1.5;margin:0}.auth-layout>section{min-width:0}.auth-layout .auth-card{width:100%;box-sizing:border-box}@media(min-width:701px){.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}
