.time-picker {
    position: absolute;
    z-index: 9999;
    display: none;
    min-width: 160px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    outline: none;
    box-shadow: 0 16px 32px rgba(15,23,42,.12), 0 4px 12px rgba(15,23,42,.08);
}

.time-picker.is-open {
    display: flex;
}

.time-picker__col {
    flex: 1;
    max-height: 216px;
    padding: 6px;
    margin: 0;
    overflow-y: auto;
    list-style: none;
}

.time-picker__col + .time-picker__col {
    border-left: 1px solid #f1f5f9;
}

.time-picker__item {
    padding: 7px 0;
    font-size: 13px;
    color: #0f172a;
    text-align: center;
    cursor: pointer;
    border-radius: 6px;
}

.time-picker__item:hover {
    background: #f1f5f9;
}

.time-picker__item.is-on {
    font-weight: 600;
    color: #2563eb;
    background: #eff6ff;
}

.time-picker__item.is-focus {
    outline: 2px solid #2563eb;
    outline-offset: -2px;
}

.time-picker__item.is-disabled {
    color: #cbd5e1;
    background: none;
    cursor: default;
}

