.availability-editor{border:1px solid #c8d7db;border-radius:12px;padding:16px;margin:16px 0;background:#f8fbfc;color:#193c49}
.availability-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.availability-editor input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}
.availability-editor fieldset{min-width:0;padding:12px}.availability-editor fieldset:disabled{opacity:.6}
.availability-period,.availability-range{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.availability-editor label{flex:1;min-width:120px;display:block}.availability-editor input{box-sizing:border-box;width:100%;padding:10px;min-height:44px}
.availability-editor button{min-height:44px;background:#193c49!important;color:#fff!important;border:0;border-radius:6px;padding:10px;cursor:pointer}
.availability-editor .availability-month{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:16px}
.availability-date{padding:8px 2px;min-height:52px;text-align:center;border-radius:6px;border:1px solid #d4dee1;overflow-wrap:anywhere}
.availability-date small{display:block;font-size:11px}.availability-date.available{background:#e5f4eb;color:#175536}.availability-date.blackout{background:#ffe7e5;color:#8a241c}.availability-date.closed{background:#edf0f2;color:#4f5c63}
.availability-dayname{text-align:center;font-size:12px}.availability-advanced{margin:16px 0}.availability-editor [role=status]{font-weight:600}
@media(max-width:480px){.availability-week{grid-template-columns:1fr}.availability-editor{padding:10px}.availability-range{display:block}.availability-date{min-height:44px}.availability-date small{font-size:9px;line-height:1.2;overflow-wrap:normal;word-break:normal}.availability-month button{font-size:12px}.availability-editor .availability-month{display:grid;grid-template-columns:1fr 1fr}.availability-month strong{grid-row:1;grid-column:1 / -1;text-align:center}.availability-date small{font-size:0}.availability-date.available small:after{content:'Open';font-size:9px}.availability-date.closed small:after{content:'Closed';font-size:9px}.availability-date.blackout small:after{content:'Away';font-size:9px}}
