.availability-panel {
  --av-bg:#fff; --av-text:#202b3a; --av-muted:#647184; --av-line:#e8edf3;
  --av-soft:#f4f6f9; --av-accent:#246fce; --av-solid:#246fce; --av-selected:#eaf3ff;
  position:fixed; inset:0; margin:auto; padding:0; border:1px solid var(--av-line);
  width:calc(100% - 12px); max-width:1040px; height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  max-height:960px; border-radius:22px; color:var(--av-text); background:var(--av-bg);
  box-shadow:0 16px 80px #15223630; overflow:hidden; font:400 14px/1.45 Roboto, sans-serif;
}
.availability-panel::backdrop {background:#15202b55;backdrop-filter:blur(5px)}
.availability-panel * {box-sizing:border-box}
.availability-panel button,.availability-panel input,.availability-panel select,.availability-panel textarea {font:inherit;color:inherit}
.availability-panel button {cursor:pointer;min-height:42px;border:0;box-shadow:none;background:transparent;margin:0;touch-action:manipulation}
.availability-panel button:disabled {opacity:.5;cursor:default}
.availability-panel :focus-visible {outline:2px solid var(--av-accent);outline-offset:2px}
.availability-panel .av-shell {display:flex;flex-direction:column;height:100%;min-height:0}
.av-body {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.av-header {display:grid;grid-template-columns:72px 1fr 42px;align-items:center;padding:10px 14px 5px;flex-shrink:0}
.av-header h2 {margin:0;font-size:18px;font-weight:700;text-align:center;letter-spacing:-.3px;color:var(--av-text)}
.availability-panel .av-back {display:flex;align-items:center;gap:2px;color:var(--av-accent);padding:0;font-size:14px}
.av-icon {width:20px;height:20px;flex:0 0 20px;vertical-align:middle;opacity:.7}
.av-back .av-icon {width:18px;height:18px;flex-basis:18px}
.av-close {padding:10px}
.av-filters {padding:0 16px;flex-shrink:0}
.av-mode {display:flex;background:var(--av-soft);border-radius:12px;padding:3px;margin:3px 0 12px}
.availability-panel .av-mode button {flex:1;border-radius:9px;min-height:36px;color:var(--av-muted)}
.availability-panel .av-mode button[aria-pressed=true] {background:var(--av-bg);color:var(--av-accent);box-shadow:0 1px 5px #1724360b;font-weight:500}
.av-location-fields {display:grid;grid-template-columns:1fr 1fr;gap:10px}
.av-field {display:flex;flex-direction:column;min-width:0;gap:2px}
.av-field>span {font-size:11px;color:var(--av-muted);font-weight:400;padding-left:2px}
.av-field select,.av-field input {width:100%;min-width:0;height:38px;border:1px solid var(--av-line);border-radius:10px;background:var(--av-bg);padding:0 8px;outline-offset:1px}
.av-field select {padding-right:22px;text-overflow:ellipsis;appearance:none;background-image:url('/citiwell-chat/shared/chat-interface-icons/chevron-down-outline.svg');background-position:right 6px center;background-repeat:no-repeat;background-size:14px}
.av-field input[type=date] {font-size:13px;padding:0 6px}
.av-field input[type=date]::-webkit-datetime-edit {overflow:visible;padding:0}
.av-master-salons {margin:7px 2px 0;font-size:12px;color:var(--av-text);line-height:1.3}
.av-master-salons span {display:block;color:var(--av-muted);font-size:10px;margin-top:2px}
.av-date-fields {display:grid;grid-template-columns:1.35fr .8fr 1fr;gap:7px;margin-top:9px}
.av-service-fields {display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:7px;margin-top:9px;align-items:end}
.av-addon {display:flex;align-items:center;justify-content:center;gap:5px;border-radius:10px;background:var(--av-soft);min-height:38px;font-size:12px;cursor:pointer;padding:5px}
.av-addon:has(:checked) {background:var(--av-selected);color:var(--av-accent)}
.av-addon input {width:14px;height:14px;margin:0;accent-color:var(--av-accent)}
.av-meta {display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:var(--av-muted);padding:3px 0}
.availability-panel .av-meta button {min-height:32px;padding:0;color:var(--av-muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}
.av-results {padding:0 16px 12px}
.av-day {padding:14px 0;border-top:1px solid var(--av-line)}
.av-day-heading {display:flex;gap:8px;align-items:baseline;justify-content:space-between;line-height:1.3}
.av-day-heading strong {font-size:14px;font-weight:700}
.av-day-heading>span {font-size:11px;color:var(--av-muted);text-align:right;max-width:48%}
.av-staff-line {display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11px;margin-top:8px}
.av-staff-line strong {font-weight:500;font-size:13px}
.av-staff-line span {color:var(--av-muted);text-align:right}
.av-ranges {margin:4px 0 10px;font-size:11px;color:var(--av-muted)}
.av-times {display:flex;flex-wrap:wrap;gap:7px}
.availability-panel .av-times button {border-radius:11px;min-width:66px;padding:8px 10px;background:var(--av-soft);min-height:39px;font-variant-numeric:tabular-nums;font-size:14px;display:flex;align-items:center;justify-content:center;gap:3px}
.availability-panel .av-times button[aria-pressed=true] {background:var(--av-solid);color:#fff}
.av-times button[aria-pressed=true] .av-icon,.av-copy .av-icon {filter:brightness(0) invert(1);opacity:1;width:16px;height:16px;flex-basis:16px}
.availability-panel .av-more {color:var(--av-accent);font-size:12px;min-height:32px;padding:4px 0 0}
.av-footer {flex-shrink:0;padding:11px 16px 10px;background:var(--av-bg);border-top:1px solid var(--av-line);box-shadow:0 -8px 20px #1d2b4505}
.av-selection-head {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;min-height:28px}
.av-selection-head strong {font-weight:500}
.availability-panel .av-selection-head button {min-height:28px;font-size:11px;color:var(--av-muted);padding:0}
.av-offer {background:var(--av-soft);border-radius:11px;margin:6px 0 9px;padding:0 10px}
.av-offer summary {list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:36px;font-size:12px;color:var(--av-muted);cursor:pointer}
.av-offer summary::-webkit-details-marker {display:none}
.av-offer[open] summary .av-icon {transform:rotate(180deg)}
.av-offer textarea {width:100%;resize:vertical;border:0;background:transparent;line-height:1.5;font-size:12px;padding:4px 0 10px;max-height:180px;min-height:80px}
.av-selected {display:flex;gap:5px;flex-wrap:wrap;max-height:80px;overflow:auto}
.availability-panel .av-selected button {min-height:30px;border:1px solid var(--av-line);border-radius:8px;background:var(--av-bg);font-size:11px;padding:3px 5px}
.av-selected .av-icon {width:13px;height:13px}
.availability-panel .av-copy {display:flex;justify-content:center;align-items:center;gap:9px;width:100%;border-radius:12px;background:var(--av-solid);color:#fff;min-height:45px;font-weight:500}
.av-feedback {font-size:10px;text-align:center;color:var(--av-muted);margin:7px 0 0;min-height:14px;line-height:1.3}
.av-empty {color:var(--av-muted);padding:35px 12px;text-align:center;font-size:13px}
.av-empty strong {color:var(--av-text);font-size:15px;font-weight:500}
.av-empty p {margin:8px 0}
.availability-panel .av-empty button {color:var(--av-accent)}
.av-clipboard {position:fixed;opacity:0;width:1px;height:1px}
.chat-title-location-badge[role=button] {font-family:inherit;cursor:pointer}
.chat-title-location-badge[role=button]:focus-visible {outline:2px solid #246fce;outline-offset:3px}
body.availability-open {overflow:hidden}
[data-theme=dark] .availability-panel {--av-bg:#202329;--av-text:#f0f2f6;--av-muted:#a8b1bf;--av-line:#333941;--av-soft:#292e36;--av-accent:#79b4ff;--av-selected:#253d5c;box-shadow:0 16px 80px #0007}
[data-theme=dark] .availability-panel .av-icon {filter:invert(1)}
[data-theme=dark] .av-field select {background-image:none;appearance:auto;color-scheme:dark;padding-right:4px}
@media(min-width:760px) {
  .availability-panel {height:calc(100dvh - 48px);width:calc(100% - 64px)}
  .availability-panel .av-shell {display:grid;grid-template-columns:310px 1fr;grid-template-rows:66px 1fr auto}
  .av-body {display:contents}
  .av-header {grid-column:1 / -1;padding:10px 24px;border-bottom:1px solid var(--av-line)}
  .av-header h2 {font-size:20px}
  .av-filters {grid-column:1;grid-row:2 / 4;padding:20px;border-right:1px solid var(--av-line);overflow:auto}
  .av-location-fields {grid-template-columns:1fr;gap:14px}
  .av-date-fields {grid-template-columns:1.2fr 1fr;margin-top:20px}
  .av-date-fields .av-field:last-child {grid-column:1 / -1}
  .av-service-fields {grid-template-columns:1fr 1fr;margin-top:20px}
  .av-addon {grid-column:1 / -1;margin-top:6px}
  .av-meta {display:block;margin-top:14px;font-size:11px}
  .av-meta>span {display:block}
  .av-results {grid-column:2;grid-row:2;overflow:auto;min-height:0;overscroll-behavior:contain;padding:14px 26px 18px}
  .av-day-heading strong {font-size:16px}.av-day-heading>span {font-size:13px}
  .av-staff-line {margin-top:10px;font-size:12px}.av-ranges {font-size:12px}
  .av-footer {grid-column:2;grid-row:3;padding:14px 26px}
  .av-day:first-child {border-top:0}.av-day {padding:18px 0}
}
@media(max-width:350px) {
  .av-header {grid-template-columns:58px 1fr 32px;padding:6px 9px}.av-header h2 {font-size:16px}.av-header .av-back {font-size:12px}
  .av-filters,.av-results {padding-left:11px;padding-right:11px}.av-footer {padding-left:11px;padding-right:11px}
  .av-field select {font-size:12px}.av-addon {font-size:10px}.av-field input[type=date] {font-size:14px}.av-location-fields {gap:6px}
  .av-date-fields {grid-template-columns:1fr 1fr}.av-date-fields .av-field:first-child {grid-column:1 / -1}
  .av-day-heading strong {font-size:13px}.av-staff-line {font-size:10px}.av-ranges {font-size:10px}
  .availability-panel .av-times button {min-width:61px;font-size:13px}
}
@media(prefers-reduced-motion:no-preference) {.availability-panel[open] {animation:av-open .18s ease-out} @keyframes av-open {from {opacity:0;transform:translateY(10px)} to {opacity:1;transform:translateY(0)}}}
