.availability-entry{display:flex;align-items:center;gap:15px;width:100%;max-width:480px;margin:32px auto 0;padding:19px 22px;border:1px solid #dce5d5;border-radius:23px;background:linear-gradient(115deg,#edf3e6,#fff 80%);color:var(--ink);text-align:left;box-shadow:0 8px 20px -20px #264f3933}
.availability-entry strong{display:block;font-size:20px;font-weight:500;letter-spacing:-.035em}.availability-entry small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.av-entry-icon{color:#82986f}.av-entry-icon svg{width:28px;height:28px}.availability-entry>svg{margin-left:auto;flex:0 0 17px}
.availability-dialog{position:fixed;inset:auto 0 auto;top:var(--av-center,50%);translate:0 -50%;width:min(440px,calc(100vw - 36px));max-width:none;max-height:calc(var(--av-height,100dvh) - 40px);margin:0 auto;padding:0;border:1px solid #e0e7d9;border-radius:28px;background:white;color:var(--ink);box-shadow:0 30px 90px -25px #17382d44;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dce3d6 transparent}
.availability-dialog::backdrop{background:#17332b30;backdrop-filter:blur(5px)}.availability-dialog[open]{animation:av-arrive .24s ease-out both}.availability-dialog.av-leaving[open]{animation:av-depart .16s ease-in both}
@keyframes av-arrive{from{opacity:0}to{opacity:1}}@keyframes av-depart{to{opacity:0}}
.av-header{display:flex;align-items:center;gap:15px;position:sticky;top:0;z-index:3;background:#fff;padding:18px 22px 14px}.av-header h2{font-size:22px;font-weight:500;letter-spacing:-.035em;margin:0}.av-back{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #e0e6d9;border-radius:50%;background:#f0f4e9;color:var(--ink)}.av-back svg{width:21px;height:21px}
.av-content{padding:10px 24px 20px}.av-mode{position:relative;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e0e6d9;margin-bottom:12px}.av-mode button{font-size:14px;min-height:44px;padding:7px 2px 12px;border:0;background:none;color:#7b8875;transform:none!important}.av-mode button[aria-pressed=true]{color:var(--ink);font-weight:550}.av-mode>span{position:absolute;bottom:-1px;left:0;width:50%;height:2px;background:#869e70;transition:translate .3s var(--ease);pointer-events:none}.availability-dialog[data-mode=dates] .av-mode>span{translate:100% 0}
.av-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:25px}.av-week button{height:46px;padding:0;border:1px solid transparent;border-radius:13px;background:#f4f7ef;font-size:12px;font-weight:500;position:relative}.av-week button[aria-pressed=true]{background:var(--green);color:white}.av-week .av-day-off{color:#899080}.av-week .av-day-off::after{content:'';position:absolute;bottom:7px;left:calc(50% - 2px);width:4px;height:1px;background:currentColor}
.av-month{margin-bottom:23px;scroll-margin-top:88px}.av-month-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px}.av-month-heading button{display:grid;place-items:center;width:36px;height:40px;border:0;background:transparent;color:#71896a}.av-month-heading svg{width:18px;height:18px}.av-prev svg{rotate:180deg}.av-month-title{font-size:18px;letter-spacing:-.02em;font-weight:500}.av-day-headings,.av-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.av-day-headings{margin-bottom:10px;color:#829079;text-align:center;font-size:11px}.av-calendar button{border:1px solid transparent;background:#f3f6ee;border-radius:50%;aspect-ratio:1;min-width:0;min-height:32px;font-size:14px;padding:0;position:relative;font-weight:400;transform:none!important}.av-calendar .av-day-off{background:#f8f9f5;color:#9a9f92}.av-calendar .av-day-off>span{text-decoration:line-through;text-decoration-thickness:1px}.av-calendar button[aria-current=date]{border-color:#82956f}.av-calendar .av-custom::after{content:'';position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#819d65}.av-calendar button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.av-calendar button[aria-pressed=true]::after{background:#d9e7c6}.av-calendar-meta{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:11px;color:#819078;min-height:35px}.av-calendar-meta>span{display:flex;align-items:center;gap:5px}.av-custom-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#819d65}.av-off-key{text-decoration:line-through}
.av-detail{border-top:1px solid #dce4d5;padding:24px 0 5px;background:radial-gradient(ellipse at 20% 28%,#f1f5e9 0%,#fff 73%)}.av-scope{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7d8c73;margin:0 0 10px}.availability-dialog .av-detail h3{font-size:27px;line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:0 0 9px;overflow-wrap:anywhere}.av-explainer{font-size:13px;line-height:1.6;color:#7c8973;margin:0;max-width:290px}.av-available-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px;font-size:16px}.av-switch{position:relative;display:grid;place-items:center;width:46px;height:44px;flex:0 0 46px;border:0;padding:0;background:none;transform:none!important}.av-switch:before{content:'';position:absolute;width:40px;height:23px;border-radius:20px;background:#e2e8dc;border:1px solid #d3ddcb;transition:background .22s}.av-switch span{position:relative;display:block;width:17px;height:17px;background:white;border-radius:50%;translate:-8px 0;box-shadow:0 1px 3px #203f3722;transition:translate .22s var(--ease)}.av-switch[aria-checked=true]:before{background:#809967;border-color:#809967}.av-switch[aria-checked=true] span{translate:8px 0}
.av-hours-grow{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s var(--ease),opacity .22s;opacity:1}.av-detail.is-off .av-hours-grow{grid-template-rows:0fr;opacity:0}.av-hours-clip{min-height:0;overflow:hidden}.av-time-fields{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:end;gap:8px;padding:0 1px 4px}.av-time-fields label{display:block;min-width:0;color:#7b8974;font-size:12px}.av-time-fields input{display:block;box-sizing:border-box;min-width:0;width:100%;height:48px;border:0;border-bottom:1px solid #b6c6a8;border-radius:0;padding:8px 0;background:transparent;color:var(--ink);font-family:inherit;font-size:16px;outline-offset:2px;margin-top:4px;caret-color:var(--green)}.av-time-fields input:focus{outline:none;border-radius:0;border-bottom-color:var(--green);box-shadow:0 1px 0 var(--green)}.av-time-fields input:focus-visible{border-bottom-width:2px}.av-time-fields input::-webkit-calendar-picker-indicator{opacity:.5;width:14px;padding:0}.av-time-fields input[aria-invalid=true]{border-color:#a76850}.av-time-dash{font-size:16px;align-self:end;padding-bottom:16px;color:#90a083;text-align:center}.av-hours-error{font-size:12px;line-height:1.5;color:#975c45;margin:12px 0 0}.av-off-note{font-size:14px;color:#86917b;margin:0 0 15px}.av-use-weekly,.av-retry{font-size:12px;color:#647d55;border:0;background:transparent;padding:10px 0;min-height:38px;text-decoration:underline;text-underline-offset:4px}.av-use-weekly{margin-top:10px}.av-feedback{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:38px;margin-top:9px}.av-status{font-size:12px;line-height:1.5;color:#7a8e6a;flex:1;min-width:0}
.av-exceptions{margin-top:17px;border-top:1px solid #e0e6da;padding-top:18px}.av-exceptions h4{font-size:15px;font-weight:550;margin:0 0 6px;letter-spacing:-.015em}.av-exception{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:13px 0;border:0;border-bottom:1px solid #e8eddf;background:none;text-align:left}.av-exception strong{display:block;font-weight:500;font-size:13px;color:var(--ink)}.av-exception small{display:block;font-size:12px;color:#8b957f;margin-top:4px}.av-exception>span:last-child{font-size:12px;color:#7e926d}.av-prototype{font-size:11px;color:#929b88;line-height:1.5;margin:21px 0 0}
@media(hover:hover){.av-mode button:hover:not(.click-away-target){color:var(--ink)}.av-week button:hover:not([aria-pressed=true]):not(.click-away-target),.av-calendar button:hover:not([aria-pressed=true]):not(.click-away-target){background:#e9efdf}.availability-entry:hover:not(.click-away-target){border-color:#b9c9ac}}
@media(max-width:350px){.av-header{padding:16px 17px 12px}.av-content{padding:7px 17px 18px}.av-week{gap:3px}.av-week button{font-size:11px;border-radius:11px}.av-calendar,.av-day-headings{gap:4px}.av-calendar button{font-size:12px;min-height:29px}.av-time-fields{gap:5px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.av-time-fields input{font-size:14px}.availability-entry{padding:18px}.availability-entry small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.availability-dialog,.av-mode>span,.av-switch span,.av-switch:before,.av-hours-grow{animation:none!important;transition:none!important}}
