.comm-main{max-width:1360px;margin:auto}.comm-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.6rem}.comm-heading h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;letter-spacing:-.04em}.comm-heading p{max-width:44rem;color:#52665e}.comm-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.comm-tabs{display:flex;gap:.3rem;border-bottom:1px solid #dce2dc;overflow-x:auto;margin-bottom:1.6rem;padding-bottom:.5rem}.comm-tabs a{padding:.8rem 1rem;text-decoration:none;border-radius:.6rem;white-space:nowrap;min-height:44px;color:#31594c}.comm-tabs a[aria-current]{background:#173d2d;color:white}.comm-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.4rem}.comm-panel{background:#fff;border:1px solid #dce2dc;border-radius:18px;padding:clamp(1.1rem,2.5vw,2rem);box-shadow:0 4px 25px #173d2d05;min-width:0}.comm-panel h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;margin-top:0}.comm-panel h3{font-size:1.05rem}.comm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1rem;margin-bottom:1.5rem}.comm-stats article{border:1px solid #dce2dc;background:#fff;padding:1.4rem;border-radius:14px}.comm-stats span,.comm-stats a{display:block;font-size:.85rem}.comm-stats strong{display:block;font-size:2.5rem;font-weight:500;color:#1b5144;margin:.4rem 0}.comm-row{padding:1.2rem 0;border-bottom:1px solid #e6e9e4}.comm-row h3,.comm-row p{margin:.4rem 0}.comm-badge{display:inline-block;font-size:.75rem;letter-spacing:.02em;background:#edf4ee;color:#21573f;padding:.3rem .65rem;border-radius:30px}.comm-quick{display:grid;gap:.7rem}.comm-quick a{border:1px solid #e1e6de;border-radius:10px;padding:1rem;text-decoration:none;color:#173d2d;min-height:44px}.comm-quick a:hover,.booking-type:hover{border-color:#29634f;background:#f3f7f2}.comm-quick span{display:block;font-size:.85rem;color:#67776f;margin-top:.25rem}.comm-empty{padding:2rem 0;color:#62736a}.comm-muted{font-size:.85rem;color:#62736a}.comm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.comm-panel label,.booking-form label,.comm-search label{display:block;margin:.8rem 0;font-size:.92rem}.comm-panel input:not([type=checkbox]):not([type=radio]),.comm-panel select,.comm-panel textarea,.comm-search input{display:block;width:100%;min-height:44px;background:#fcfcfa;color:#193e30;border:1px solid #bdcbbf;border-radius:8px;padding:.7rem;font:inherit;box-sizing:border-box;margin-top:.35rem}.comm-panel input[type=checkbox],.comm-panel input[type=radio]{width:20px;height:20px;vertical-align:middle;margin-right:.4rem;accent-color:#1d5746}.comm-panel fieldset{margin:1.3rem 0;padding:1rem;border:1px solid #dce2dc;border-radius:10px}.comm-checks{display:flex;flex-wrap:wrap;gap:.6rem}.comm-type-setting{border-bottom:1px solid #e6e9e4;padding:1rem 0}.comm-booking{border-bottom:1px solid #dce2dc;padding:1rem 0}.comm-booking summary{cursor:pointer;min-height:44px}.comm-booking summary small{display:block;margin-top:.4rem}.comm-search{display:flex;gap:1rem;align-items:end;margin-bottom:1.4rem}.comm-search label{flex:1}.comm-search button{margin-bottom:.8rem}.comm-code{display:block;overflow-wrap:anywhere;white-space:normal;padding:1rem;background:#f3f5f0}.booking-shell{max-width:1100px;margin:4rem auto;padding:0 1.2rem 4rem;color:#193e30}.booking-shell>header{text-align:center;margin-bottom:2.5rem}.booking-shell h1{font:400 clamp(2.2rem,5vw,3.8rem)/1.12 Georgia,serif;letter-spacing:-.045em}.booking-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:1.3rem;margin-top:1.5rem}.booking-type{display:block;padding:1rem;border:1px solid #dce2dc;border-radius:10px;margin:.75rem 0;color:#193e30;text-decoration:none}.booking-type span{display:block;font-size:.85rem;margin-top:.5rem}.booking-type[aria-current]{border:2px solid #235d47;background:#f0f6ee}.booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.booking-slots label{margin:0!important}.booking-slots input{position:absolute;opacity:0}.booking-slots span{display:block;cursor:pointer;padding:.8rem;border:1px solid #a8beb0;border-radius:8px;text-align:center;min-height:44px;box-sizing:border-box}.booking-slots input:checked+span{background:#173d2d;color:#fff}.booking-slots input:focus-visible+span{outline:3px solid #b18b48;outline-offset:2px}.comm-panel button,.booking-shell .wbtn{min-height:44px}.app-mobile-nav{display:none}.app-status-banner{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);z-index:120;background:#183e31;color:white;padding:.8rem 1.2rem;border-radius:12px;max-width:90vw;box-shadow:0 4px 15px #0003}.app-status-banner button{margin-left:1rem;border:1px solid white;background:none;color:white;border-radius:5px;padding:.5rem}.device-draft-tools{margin:.8rem 0;padding:1rem;border:1px dashed #a4b9ac;border-radius:10px}.device-draft-tools button{margin:.3rem}.comm-panel :focus-visible{outline:3px solid #b18b48;outline-offset:3px}@media(max-width:1000px){.comm-columns{grid-template-columns:1fr}.booking-grid{grid-template-columns:270px minmax(0,1fr)}}@media(max-width:700px){.comm-heading{display:block}.comm-actions{margin-top:1rem}.booking-grid{grid-template-columns:1fr}.comm-fields{grid-template-columns:1fr}.comm-search{display:block}.comm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.app-mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce2dc;z-index:90}.app-mobile-nav a{padding:.65rem;min-height:44px;box-sizing:border-box;text-decoration:none;color:#234d3c;font-size:.8rem}.workspace-auth{padding-bottom:90px}.app-status-banner{bottom:85px}.booking-shell{margin-top:2rem}.booking-slots{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.booking-shell .wbtn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.1rem;border:1px solid #a8beb0;border-radius:8px;color:#173d2d;background:#fff;text-decoration:none;font:inherit;cursor:pointer;margin:.4rem .3rem .4rem 0}.booking-shell .wbtn.primary{background:#173d2d;border-color:#173d2d;color:#fff}

.mail-plain{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.comm-panel label:has(input[type=checkbox]){min-height:44px;padding:.3rem 0;box-sizing:border-box}

/* Public booking journey. */
.booking-principles{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.booking-principles span{font-size:.75rem;padding:7px 11px;border:1px solid #d5dfd6;border-radius:20px;background:#f4f7f0;color:#35503c}.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:24px 0;padding:0}.booking-steps li{display:flex;align-items:center;gap:10px;padding:16px;background:#fff;border:1px solid #dce4db;border-radius:12px;font-size:.85rem}.booking-steps b{display:grid;place-items:center;background:#173d2d;color:#fff;border-radius:50%;width:28px;height:28px;flex-shrink:0}.booking-selection{padding:16px;background:#edf4e8;border-radius:12px;margin:12px 0 18px}.booking-selection strong,.booking-selection span{display:block}.booking-selection span{font-size:.8rem;margin-top:5px;color:#4f6656}.booking-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0}.booking-week a{display:block;text-align:center;padding:10px 2px;border:1px solid #cdd9cd;border-radius:9px;text-decoration:none;font-size:.75rem;min-height:56px}.booking-week strong{display:block;font-size:.8rem;margin-top:4px}.booking-week [aria-current=date]{background:#173d2d;border-color:#173d2d;color:#fff}.booking-type{min-height:66px}.booking-shell :is(a,button,input,select,textarea):focus-visible{outline:3px solid #a7802d;outline-offset:3px}.booking-shell input,.booking-shell select,.booking-shell textarea{font-size:16px}@media(max-width:650px){.booking-steps{grid-template-columns:1fr;gap:7px}.booking-steps li{padding:10px 13px}.booking-week{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-principles{display:grid}.booking-shell .comm-panel{padding:18px}.booking-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
