.appt-time24 {
    display:inline-grid;
    grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);
    align-items:center;
    width:128px;
    min-width:0;
    min-height:44px;
    overflow:hidden;
    border:1px solid var(--border-color);
    border-radius:8px;
    background:var(--bg-card);
    color:var(--text-primary);
    font-family:var(--font-mono,monospace);
    font-variant-numeric:tabular-nums;
    transition:border-color .15s,box-shadow .15s;
}
.appt-time24:focus-within {
    border-color:var(--primary);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent);
}
.appt-time24-select {
    width:100%;
    min-width:44px;
    min-height:42px;
    padding:0 3px;
    border:0;
    outline:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-size:.82rem;
    font-weight:650;
    text-align:center;
    cursor:pointer;
}
.appt-time24-select:focus-visible {
    border-radius:6px;
    background:color-mix(in srgb,var(--primary) 10%,transparent);
    box-shadow:inset 0 0 0 2px var(--primary);
}
.appt-time24-select:disabled { cursor:not-allowed; opacity:.62; }
.appt-time24-separator { font-weight:800; user-select:none; }
.appt-time24-badge {
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:2px 8px;
    border-radius:999px;
    background:color-mix(in srgb,var(--primary) 9%,transparent);
    color:var(--primary);
    font-size:.67rem;
    font-weight:750;
    white-space:nowrap;
}
.appt-time24-label-note { color:var(--text-muted); font-size:.68rem; font-weight:500; }
.appt-block-form-grid .appt-time24 { width:100%; }

@media (max-width:768px) {
    .appt-time24 { width:100%; }
    .appt-time24-select { min-height:44px; font-size:16px; }
}
