.timepicker-dropdown {
    min-width: 240px;
    font-family: var(--font-secondary);
    font-size: 0.98rem;
    background: var(--grid-header);
    border-radius: var(--esquina-redondeada);
    border: 1px solid var(--card-border);
    box-shadow: 0 2px 12px rgba(0,87,184,0.08);
    z-index: 10000;
    user-select: none;
    position: absolute;
}

.timepicker-header {
    font-family: var(--font-secondary);
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--navbar-yusapi1);
    background: var(--grid-header);
    border-radius: 6px;
    padding: 0.35em 0.7em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.timepicker-close {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text-light-grey);
    padding: 0.2em 0.5em;
    border-radius: 6px;
    transition: background 0.15s, color 0.15s;
}

.timepicker-close:hover {
    color: var(--navbar-yusapi1);
}

.timepicker-body {
    padding: 0.35em 0.7em;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    background-color: var(--grid-header);
}

.time-inputs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
}

.time-input-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25em;
}

.time-input-group label {
    font-size: 0.75rem;
    color: var(--navbar-yusapi1);
    font-weight: 600;
}

.time-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--grid-tr);
    border: 1px solid var(--card-border);
    border-radius: var(--esquina-redondeada);
}

.time-input {
    font-family: var(--font-secondary);
    font-size: 0.98rem;
    font-weight: 600;
    text-align: center;
    border-radius: var(--esquina-redondeada);
    padding: 0.35em 0.7em;
    border: 1px solid #e0e7ff;
    background: #fff;
    color: var(--navbar-yusapi1);
    width: 50px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.time-input:hover,
.time-input:focus {
    background: #e0e7ff;
    color: var(--navbar-yusapi1);
    outline: none;
}

.time-btn {
    font-family: var(--font-secondary);
    font-size: 0.98rem;
    font-weight: 600;
    background: transparent;
    border: none;
    color: var(--navbar-yusapi1);
    padding: 0.25em 0.5em;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.time-btn:hover {
    background: var(--grid-border);
    border-radius: var(--esquina-redondeada);
}

.time-separator {
    font-weight: 600;
    color: var(--navbar-yusapi1);
    padding: 0 0.2em;
}

.timepicker-footer {
    padding: 0.35em 0.7em;
    display: flex;
    justify-content: space-between;
    gap: 0.5em;
    background-color: var(--grid-header);
    border-radius: var(--esquina-redondeada);
}

.timepicker-dropdown .btn-primary,
.timepicker-dropdown .btn-secondary {
    font-family: var(--font-secondary);
    font-weight: 600;
    border-radius: var(--esquina-redondeada);
    padding: 0.35em 0.7em;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.timepicker-dropdown .btn-primary {
    background: var(--navbar-yusapi1);
    color: #fff;
    border-color: var(--navbar-yusapi1);
}

.timepicker-dropdown .btn-primary:hover {
    background-color: #248aa6;
    border-color: #248aa6;
}

.timepicker-dropdown .btn-secondary {
    background: var(--card-border);
    color: var(--text-color);
}

.timepicker-dropdown .btn-secondary:hover {
    border-color: #8c95a8;
}

@media (max-width: 600px) {
    .timepicker-dropdown {
        min-width: 65vw;
        max-width: 90vw;
        border-radius: var(--esquina-redondeada);
        font-size: 1.1em;
        box-shadow: 0 2px 12px rgba(0,87,184,0.10);
        z-index: 10001;
    }

    .time-input {
        font-size: 0.9em;
    }

    .time-separator {
        font-size: 1.2em;
    }

    .time-input-group label {
        font-size: 0.85em;
    }
}
