.availability-shell{background:var(--paper-2);height:100dvh;min-height:100dvh;color:var(--ink);font-family:var(--font-ui);justify-content:center;align-items:center;display:flex;overflow:hidden}.availability-frame{background:var(--paper);width:min(100%,480px);height:min(100dvh,820px);box-shadow:var(--shadow-paper);flex-direction:column;padding:20px 24px 24px;display:flex}.availability-header{flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:52px;display:flex}.availability-brand{width:110px;height:48px;display:block}.availability-brand img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%}.availability-progress{color:var(--muted);letter-spacing:.08em;font-size:12px}.availability-panel{flex-direction:column;flex:1;min-height:0;display:flex}.availability-heading{flex:none;padding:14px 0 16px}.availability-heading .label-meta{color:var(--philia-teal-dark);margin:0 0 8px}.availability-heading h1,.availability-centered h1,.availability-panel>h1{font:400 clamp(30px, 8vw, 42px)/1.06 var(--font-brand);letter-spacing:-.035em;margin:0}.availability-heading>p:last-child,.availability-centered p{color:var(--ink-2);margin:8px 0 0;font-size:14px;line-height:1.4}.availability-back{min-height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:13px;display:inline-flex}.availability-body{overscroll-behavior:contain;flex:1;min-height:0;padding:2px 3px 12px;overflow-y:auto}.availability-days{flex-direction:column;gap:7px;display:flex}.availability-day{border-radius:var(--radius-md);background:var(--white);width:100%;min-height:46px;color:var(--ink);box-shadow:var(--shadow-paper);text-align:left;font:600 14px var(--font-ui);cursor:pointer;border:0;justify-content:space-between;align-items:center;padding:0 17px;display:flex}.availability-day.is-selected{background:var(--philia-teal-soft);color:var(--philia-teal-dark)}.availability-primary{border-radius:var(--radius-pill);background:var(--philia-teal-dark);width:100%;min-height:50px;color:var(--white);font:600 15px var(--font-ui);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;gap:10px;padding:10px 18px;text-decoration:none;display:flex}.availability-primary:disabled{opacity:.45;cursor:default}.availability-time-row{border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-paper);margin-bottom:16px;padding:16px}.availability-time-row-heading{color:var(--ink-2);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.availability-time-row-heading button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.availability-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.availability-time-fields label{color:var(--ink-2);gap:6px;font-size:12px;display:grid}.availability-time-fields select{border-radius:var(--radius-md);background:var(--paper-2);width:100%;min-height:45px;color:var(--ink);font:600 14px var(--font-ui);border:0;padding:0 12px}.availability-add{min-height:44px;color:var(--philia-teal-dark);font:600 13px var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 6px;display:inline-flex}.availability-review-day{border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-paper);gap:4px;margin-bottom:8px;padding:13px 16px;font-size:13px;display:grid}.availability-review-day span{color:var(--ink-2)}.availability-note{color:var(--ink-2);margin:15px 2px 0;font-size:12px;line-height:1.45}.availability-error{color:var(--ink);margin:8px 2px;font-size:12px}.availability-centered{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:12px;padding-bottom:35px;display:flex}.availability-centered>svg{color:var(--philia-teal-dark)}.availability-shell :focus-visible{outline:2px solid var(--philia-teal-dark);outline-offset:3px}@media (width>=761px){.availability-frame{border-radius:var(--radius-lg)}}@media (width<=760px){.availability-frame{padding:10px 20px max(18px, env(safe-area-inset-bottom));box-shadow:none}.availability-heading{padding-top:8px;padding-bottom:12px}.availability-heading h1{font-size:clamp(27px,8vw,36px)}.availability-day{min-height:44px}}
