.availability-section{padding:0 0 clamp(4rem,7vw,7rem)}
.availability-panel{border-top:1px solid var(--stone);padding-top:2rem}
.availability-heading{margin-bottom:1.7rem}
.availability-heading h2{font-size:clamp(2rem,3.5vw,3rem);margin-bottom:.45rem}
.availability-note{color:var(--muted);font-size:1rem;line-height:1.7}
.days-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0;margin:0;border-block:1px solid var(--line)}
.day-card{padding:1.35rem .5rem 1.45rem;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;border-inline-end:1px solid var(--line)}
.day-card:last-child{border-inline-end:0}
.day-name{font-weight:700;font-size:1.15rem;line-height:1.5}
.day-status{font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;line-height:1.6;max-width:100%;overflow-wrap:anywhere}
.day-state-label{display:inline-block}
.day-status[data-state="available"] .day-state-label{color:#3c532d;background:#e7eadf;padding:.2rem .8rem;border-radius:2rem;font-size:.9375rem;font-weight:500}
.day-status[data-state="unavailable"] .day-state-label{color:var(--terra)}
.day-status[data-state="unknown"]{color:var(--muted)}
.day-status time{display:block;color:var(--terra);font-weight:500;font-size:1rem;line-height:1.5}
.day-status small{display:block;font-size:.875rem;color:var(--muted);line-height:1.5}
.day-status .day-remaining{margin-top:.1rem}
.availability-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-top:1.3rem}
.availability-message{font-size:.9375rem;color:var(--muted);line-height:1.6;margin:0}
.availability-contact{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;flex-shrink:0;min-height:48px;padding:.6rem 1.1rem .4rem;border:1px solid var(--terra);color:var(--terra);font-size:1rem;font-weight:500;line-height:1.5}
.availability-contact:hover{background:var(--terra);color:var(--paper)}
.availability-contact .i{width:22px;height:22px}
.availability-retry{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-size:1rem}
.availability-retry[hidden]{display:none}
.manage-page{border-top:5px solid var(--terra);padding:1.25rem max(1.1rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom));min-height:100vh}
.manage-shell{max-width:650px;margin:auto}
.manage-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem}
.manage-wordmark{font:2rem Georgia,serif;color:var(--terra)}
.manage-back{font-size:1rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
.manage-page h1{font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.4;margin-bottom:.5rem}
.manage-intro{font-size:1.05rem;line-height:1.7;margin-bottom:1.5rem}
.manage-policy{font-size:.95rem;line-height:1.7;color:var(--muted);margin:-.75rem 0 1.5rem}
.manage-days{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.manage-row{display:grid;grid-template-columns:minmax(5rem,1fr) minmax(0,2fr);align-items:center;gap:.1rem .8rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.manage-row h2{font-size:1.15rem;line-height:1.6}
.manage-choices{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.manage-choice{border:1px solid var(--stone);border-radius:6px;min-height:48px;padding:.5rem .25rem;line-height:1.5;font-size:1rem;background:#fff8}
.manage-choice[aria-pressed="true"][data-status="available"]{background:var(--olive);border-color:var(--olive);color:#fff}
.manage-choice[aria-pressed="true"][data-status="unavailable"]{background:var(--terra);border-color:var(--terra);color:#fff}
.manage-choice:disabled{opacity:.6}
.save-status{grid-column:2;font-size:.875rem;line-height:1.65;color:var(--muted);min-height:1.65em;overflow-wrap:anywhere}
.save-status.error{color:var(--terra)}
.lease-summary,.lease-reminder,.lease-editor{grid-column:2;min-width:0}
.lease-summary{font-size:1rem;line-height:1.7;margin-top:.35rem}
.lease-reminder{font-size:.95rem;color:var(--terra);line-height:1.7}
.lease-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;padding:.8rem 0}
.lease-editor label{font-size:1rem;line-height:1.6}
.lease-editor input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:50px;border:1px solid var(--stone);border-radius:6px;padding:.6rem .75rem;background:#fffb;color:var(--earth);font:inherit;font-size:1rem;direction:ltr;text-align:start;appearance:none}
.lease-editor input:focus-visible{outline:3px solid #be7642;outline-offset:3px}
.lease-save{min-height:48px;padding:.6rem 1rem;background:var(--terra);color:var(--paper);border-radius:6px;font-size:1rem;line-height:1.5}
.lease-editor input:disabled{opacity:.6}
.manage-feedback{padding:1rem 0;font-size:1rem;line-height:1.7}
.manage-footer{margin-top:1.5rem;font-size:.95rem;color:var(--muted)}
.manage-retry{min-height:48px;border:1px solid var(--terra);padding:.5rem 1rem;border-radius:6px}
.release-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(16px,5vw,24px);border:1px solid var(--stone);border-radius:12px;background:var(--paper);color:var(--earth);box-shadow:0 20px 70px #21150c38}
.release-dialog::backdrop{background:#21150c80}
.release-dialog h2{font-size:1.25rem;line-height:1.5;margin-bottom:.75rem}
.release-dialog p{font-size:1rem;line-height:1.8}
.release-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}
.release-actions button{flex:1 1 auto;min-height:48px;padding:.6rem .9rem;border:1px solid var(--terra);border-radius:6px;font:inherit;font-size:1rem;line-height:1.6}
.release-cancel{background:transparent;color:var(--terra)}
.release-confirm{background:var(--terra);color:var(--paper)}
.release-actions button:focus-visible{outline:3px solid #be7642;outline-offset:3px}
[hidden]{display:none!important}


@media(max-width:600px){.manage-row{grid-template-columns:1fr}.manage-choices,.save-status,.lease-summary,.lease-reminder,.lease-editor{grid-column:1}.manage-row h2{margin-bottom:.4rem}}


@media(max-width:1050px){
 .days-list{grid-template-columns:1fr}
 .day-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:1rem;text-align:start;padding:.9rem .3rem;border-inline-end:0;border-bottom:1px solid var(--line)}
 .day-card:last-child{border-bottom:0}
 .day-status{align-items:flex-end;text-align:end}
 .day-name{font-size:1.1rem}
}
@media(max-width:600px){
 .availability-panel{padding-top:1.6rem}
 .availability-heading{margin-bottom:1.2rem}
 .availability-heading h2{font-size:2rem}
 .availability-footer{flex-direction:column;align-items:stretch;gap:1rem;padding-top:1rem}
 .availability-contact{align-self:flex-start}
}
