    .dealer-picker {
      position: relative;
    }

    .dealer-picker-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 8px;
    }

    .dealer-picker-chip {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px 8px;
      border-radius: 999px;
      background: #EEF0F3;
      font-size: 13px;
      font-weight: 600;
    }

    .dealer-picker-chip button {
      border: 0;
      background: none;
      padding: 0 2px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1;
      min-height: 0;
    }

    .dealer-picker-field {
      position: relative;
    }

    .dealer-picker-field input[type="search"] {
      width: 100%;
      margin: 0;
      padding-right: 36px;
    }

    .dealer-picker-field input[type="search"]::-webkit-search-cancel-button,
    .dealer-picker-sheet-head input[type="search"]::-webkit-search-cancel-button {
      -webkit-appearance: none;
      appearance: none;
      display: none;
    }

    .dealer-picker-clear {
      position: absolute;
      right: 8px;
      top: 50%;
      transform: translateY(-50%);
      border: 0;
      background: none;
      color: var(--muted);
      font-size: 18px;
      line-height: 1;
      min-height: 32px;
      min-width: 32px;
      padding: 0;
    }

    .dealer-picker-menu {
      position: fixed;
      z-index: 80;
      display: flex;
      flex-direction: column;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 10px;
      box-shadow: 0 8px 24px rgba(14, 17, 23, 0.12);
      overflow: hidden;
    }

    .dealer-picker-menu.hidden {
      display: none;
    }

    .dealer-picker-sheet-head {
      display: none;
      flex-shrink: 0;
      padding: 12px 12px 8px;
      border-bottom: 1px solid var(--border);
    }

    .dealer-picker-sheet-head input[type="search"] {
      width: 100%;
      margin: 0;
    }

    .dealer-picker-menu.is-sheet {
      border-radius: 16px 16px 0 0;
      box-shadow: 0 -8px 32px rgba(14, 17, 23, 0.18);
    }

    .dealer-picker-menu.is-sheet .dealer-picker-sheet-head {
      display: block;
    }

    .dealer-picker-tools {
      display: flex;
      gap: 14px;
      padding: 8px 12px;
      border-bottom: 1px solid var(--border);
      flex-shrink: 0;
    }

    .dealer-picker-results {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
    }

    .dealer-picker-item {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      min-height: 44px;
      padding: 8px 12px;
      border: 0;
      border-radius: 0;
      background: #fff;
      text-align: left;
    }

    .dealer-picker-item.is-active,
    .dealer-picker-item:hover {
      background: #F6F7F9;
    }

    .dealer-picker-item-name {
      flex: 1 1 auto;
      min-width: 0;
    }

    .dealer-picker-item-role {
      flex-shrink: 0;
      color: var(--muted);
      font-size: 12px;
    }

    .dealer-picker-tick {
      flex-shrink: 0;
      color: var(--accent);
      font-weight: 700;
    }

    .dealer-picker-empty {
      padding: 12px;
      color: var(--muted);
      font-size: 13px;
    }

    .dtp {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .dtp-body {
      display: flex;
      gap: 20px;
      align-items: flex-start;
      flex-wrap: wrap;
    }

    .dtp-cal {
      width: 278px;
      flex: 0 0 auto;
    }

    .dtp-cal-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 8px;
    }

    .dtp-cal-title {
      font-weight: 600;
      font-size: 15px;
    }

    .dtp-nav-btn {
      width: 32px;
      height: 32px;
      border: 1px solid var(--border);
      background: #fff;
      border-radius: 8px;
      cursor: pointer;
      font-size: 18px;
      line-height: 1;
      color: var(--text);
    }

    .dtp-week,
    .dtp-grid {
      display: grid;
      grid-template-columns: repeat(7, 38px);
      gap: 2px;
      justify-content: center;
    }

    .dtp-weekday {
      text-align: center;
      font-size: 11px;
      font-weight: 600;
      color: var(--muted);
      padding: 4px 0;
    }

    .dtp-day {
      width: 38px;
      height: 38px;
      border: 0;
      background: transparent;
      border-radius: 8px;
      cursor: pointer;
      font: 500 13px var(--font-body);
      color: var(--text);
    }

    .dtp-day.is-outside {
      color: #AEB7C6;
    }

    .dtp-day.is-today {
      box-shadow: inset 0 0 0 2px var(--accent);
    }

    .dtp-day.is-selected {
      background: var(--accent);
      color: #fff;
      box-shadow: none;
    }

    .dtp-day.is-focus:not(.is-selected) {
      outline: 2px solid var(--accent);
      outline-offset: 1px;
    }

    .dtp-day.is-disabled,
    .dtp-day:disabled {
      color: #C5CAD3;
      opacity: 0.45;
      cursor: default;
      background: transparent;
      box-shadow: none;
    }

    .modal .dtp-body {
      flex-direction: column;
    }

    .modal .dtp-cal,
    .calling-panel .dtp-cal {
      width: 100%;
    }

    .modal .dtp-week,
    .modal .dtp-grid,
    .calling-panel .dtp-week,
    .calling-panel .dtp-grid {
      width: 100%;
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .modal .dtp-day,
    .calling-panel .dtp-day {
      width: 100%;
    }

    .dtp-time {
      min-width: 220px;
      flex: 1 1 220px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .dtp-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .dtp-chip,
    .dtp-slot {
      border: 1px solid var(--border);
      background: #fff;
      border-radius: 999px;
      padding: 6px 10px;
      font: 500 12px var(--font-body);
      cursor: pointer;
      color: var(--text);
    }

    .dtp-slot {
      border-radius: 8px;
      font-family: var(--font-body);
      font-size: 14px;
      font-weight: 500;
      font-variant-numeric: tabular-nums;
      display: inline-flex;
      align-items: baseline;
      justify-content: center;
      gap: 0;
    }

    .dtp-slot-time {
      font-variant-numeric: tabular-nums;
    }

    .dtp-ampm {
      font-size: 12px;
      font-weight: 500;
      color: var(--muted);
    }

    .dtp-chip.is-on,
    .dtp-slot.is-on {
      background: var(--accent);
      border-color: var(--accent);
      color: #fff;
    }

    .dtp-slot.is-on .dtp-ampm {
      color: rgba(255, 255, 255, 0.88);
    }

    .dtp-slots {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
    }

    .dtp-other-link {
      align-self: flex-start;
    }

    .dtp-other {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .dtp-select {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 8px 10px;
      font: 500 14px var(--font-body);
      background: #fff;
    }

    .dtp-colon {
      font-family: var(--font-mono);
      color: var(--muted);
    }

    .dtp-collapsed {
      margin: 8px 0 12px;
      font-size: 14px;
      line-height: 1.4;
    }

    .dtp-change {
      min-height: 44px;
      padding: 0 6px;
    }

    .dtp-summary {
      margin: 0;
      font-size: 13px;
      color: var(--muted);
    }

    .dtp-trigger {
      width: 100%;
      text-align: left;
      border: 1px solid var(--border);
      background: #fff;
      border-radius: 8px;
      padding: 10px 12px;
      font: 500 14px var(--font-body);
      cursor: pointer;
      min-height: 44px;
    }

    .dtp-sheet-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(14, 17, 23, 0.45);
      z-index: 90;
      display: flex;
      align-items: flex-end;
    }

    .dtp-sheet-backdrop.hidden {
      display: none;
    }

    .dtp-sheet {
      width: 100%;
      max-height: 92vh;
      overflow: auto;
      background: #fff;
      border-radius: 16px 16px 0 0;
      padding: 4px 16px 20px;
      box-shadow: 0 -12px 40px rgba(14, 17, 23, 0.2);
    }

    .dtp-handle {
      width: 40px;
      height: 4px;
      border-radius: 4px;
      background: #D0D5DD;
      margin: 8px auto 12px;
    }

    .dtp-sheet-title {
      margin: 0 0 12px;
      font-size: 18px;
    }

    .dtp-days-row {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 8px;
    }

    .dtp-day-tile {
      flex: 0 0 68px;
      min-height: 72px;
      border: 1px solid var(--border);
      background: #fff;
      border-radius: 12px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      cursor: pointer;
    }

    .dtp-day-tile.is-on {
      background: var(--accent);
      border-color: var(--accent);
      color: #fff;
    }

    .dtp-day-tile-top {
      font-size: 11px;
      font-weight: 600;
    }

    .dtp-day-tile-num {
      font-size: 20px;
      font-weight: 700;
    }

    .dtp-cal-link {
      margin-bottom: 4px;
    }

    .dtp-set-btn {
      width: 100%;
      margin-top: 12px;
      min-height: 48px;
    }

    .dtp-phone .dtp-chip,
    .dtp-phone .dtp-slot,
    .dtp-phone .dtp-day-tile {
      min-height: 44px;
    }

    .dtp-phone .dtp-cal {
      width: 100%;
    }

    .dtp-phone .dtp-week,
    .dtp-phone .dtp-grid {
      width: 100%;
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .dtp-phone .dtp-day {
      width: 100%;
      height: 44px;
    }

    @media (max-width: 767px) {
      .dtp-body {
        flex-direction: column;
      }
    }

    #book-demo-modal {
      z-index: 40;
      padding: 16px;
    }

    .modal-book-demo {
      width: min(760px, calc(100vw - 32px));
      max-width: 760px;
      max-height: min(90vh, 800px);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0;
    }

    .book-demo-body {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 16px 20px;
    }

    #book-demo-note {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      resize: vertical;
      overflow-x: hidden;
      overflow-y: auto;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      word-break: break-word;
    }

    .modal-book-demo .modal-actions-sticky {
      position: static;
      flex: 0 0 auto;
    }

    .book-demo-current {
      margin: 0 0 12px;
      color: var(--muted);
      font-size: 14px;
    }

    .book-demo-request {
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: #fff6e8;
      color: #6b4a00;
      font-size: 14px;
      font-weight: 600;
    }

    .book-demo-request {
      margin: 0 0 12px;
      padding: 10px 12px;
      border-radius: 10px;
      background: #f4f6fb;
      font-size: 14px;
      font-weight: 600;
    }

    .book-demo-fixed-when {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 4px 12px;
      margin: 0 0 12px;
      font-size: 15px;
      font-weight: 600;
    }

    #book-demo-change-time {
      font-weight: 500;
      min-height: 44px;
      padding: 0 2px;
    }

    #book-demo-modal .choice,
    #no-show-modal .btn-primary,
    #no-show-modal .btn-ghost,
    #no-show-save {
      min-height: 44px;
    }

    #book-demo-pending {
      margin-bottom: 8px;
    }

    #book-demo-pending textarea,
    #no-show-note {
      width: 100%;
      min-height: 72px;
    }

    #no-show-who {
      margin: 0 0 12px;
      font-weight: 600;
    }

    .book-demo-summary {
      margin: 8px 0 16px;
      font-weight: 600;
      font-size: 14px;
    }

    .book-demo-day-line {
      margin: 8px 0 0;
      font-size: 14px;
      line-height: 1.4;
    }

    .book-demo-overlap {
      margin: 4px 0 0;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.4;
      color: #B45309;
    }

    #book-demo-modal .dtp-summary {
      display: none;
    }

    #book-demo-modal .dtp-body {
      flex-wrap: nowrap;
      flex-direction: row;
      align-items: flex-start;
    }

    #book-demo-modal .dtp-cal {
      width: 278px;
      flex: 0 0 278px;
    }

    #book-demo-modal .dtp-week,
    #book-demo-modal .dtp-grid {
      width: auto;
      grid-template-columns: repeat(7, 36px);
    }

    #book-demo-modal .dtp-day {
      width: 36px;
      height: 36px;
    }

    #book-demo-modal .dtp-time {
      min-width: 0;
      flex: 1 1 240px;
    }

    #book-demo-modal .dtp-slots {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    @media (max-width: 767px) {
      #book-demo-modal.modal-backdrop {
        align-items: flex-end;
      }

      .modal-book-demo {
        width: 100%;
        max-width: 100%;
        margin: 0;
        border-radius: 16px 16px 0 0;
        max-height: 92vh;
      }

      #book-demo-modal .dtp-body {
        flex-direction: column;
        flex-wrap: wrap;
      }

      #book-demo-modal .dtp-cal,
      #book-demo-modal .dtp-time {
        width: 100%;
        flex: 1 1 auto;
        max-height: none;
      }

      #book-demo-modal .dtp-week,
      #book-demo-modal .dtp-grid {
        width: 100%;
        grid-template-columns: repeat(7, minmax(0, 1fr));
      }

      #book-demo-modal .dtp-day {
        width: 100%;
      }

      .book-demo-footer {
        flex-direction: column-reverse;
        align-items: stretch;
      }

      #book-demo-modal .book-demo-footer .btn-primary,
      #book-demo-modal .book-demo-footer .btn-ghost {
        width: 100%;
        margin: 0;
        min-height: 44px;
      }

      #book-demo-note,
      #book-demo-dealer-search {
        min-height: 44px;
      }
    }

    .addr-ac-menu {
      position: fixed;
      z-index: 80;
      display: flex;
      flex-direction: column;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 10px;
      box-shadow: 0 8px 24px rgba(14, 17, 23, 0.12);
      overflow: hidden;
      max-width: calc(100vw - 16px);
    }

    .addr-ac-menu.hidden {
      display: none;
    }

    .addr-ac-list {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
    }

    .addr-ac-item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 2px;
      width: 100%;
      min-height: 44px;
      padding: 8px 12px;
      border: 0;
      border-radius: 0;
      background: #fff;
      text-align: left;
      cursor: pointer;
    }

    .addr-ac-item.is-active,
    .addr-ac-item:hover {
      background: #F6F7F9;
    }

    .addr-ac-main {
      font-weight: 600;
      line-height: 1.3;
    }

    .addr-ac-sub {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.3;
    }

    .addr-ac-note {
      flex-shrink: 0;
      padding: 6px 12px 8px;
      border-top: 1px solid var(--border);
      color: var(--muted);
      font-size: 11px;
    }

    .addr-ac-problem {
      padding: 10px 12px;
      color: var(--muted);
      font-size: 13px;
    }
